ImageVerifierCode 换一换
格式:DOC , 页数:45 ,大小:760.04KB ,
资源ID:3359624      下载积分:10 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/3359624.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(EDA课程设计基于VHDL微波炉课程设计韦燕霞.doc)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

EDA课程设计基于VHDL微波炉课程设计韦燕霞.doc

1、广西工学院课程设计论文课题名称 微波炉控制器的FPGA实现 系 别 理学院 专 业 电子信息科学与技术 班 级 学 号 姓 名 指导教师 韦艳霞 2023 年 9 月 14 日目 录第一章 绪 论1第一节 课题背景介绍1第二章 电子设计自动化概述2第一节 VHDL简介2第三章 总体设计5第一节 课题的重要内容及基本规定5第二节 设计思绪5第三节 设计方案6第四章 模块分析8第一节 状态控制电路模块9第二节 数据装载电路模块10第三节 计时器模块11第五章 程序设计及仿真12第一节 程序简要说明12第二节 仿真时序图13第六章 硬件调试13总 结16致 谢17参考文献18附录一 原理图19附录二

2、 源程序20摘 要该设计用语言在软件平台上通过编译、模拟仿真,完毕了微波炉控制功能,实现了微波炉的测试、时间设立、烹调计时、完毕提醒等设计,并对时钟分频作了一定的探讨。此设计采用了现场可编程逻辑器件的设计,由控制模块、装载模块、计时模块和显示模块四大模块组成,并且它可以将所有器件集成在一块芯片上,体积大大减小,且外围电路很简朴,易于实现。关键词:;微波炉控制器;仿真,:; 第一章 绪 论第一节 课题背景介绍一、产品背景介绍Percy L.Spencer 在1946年构想出微波炉的概念,在1950年取得专利。微波炉的运作机制为微波在水中能产生摩擦热的原理。初期微波炉尺码庞大,重量超过300公斤和

3、高度超过1.5米,所以重要在大型餐厅和食物市场使用。第一部家用微波炉是在1965年由Raytheon集团生产。二、国内产品发展现状现在,中国已成为全球最大的微波炉生产基地,据估计,中国微波炉年产量已达2023万台左右,从2023年中国市场的需求量来看,约在700万台左右。中国微波炉市场通过前几年的洗牌,已由前几年的300多家减少至目前的100多家,其中在市场上可记录的仅30多家。洋品牌在初期的微波炉市场份额,几乎占据了绝大部分的市场。但初期由于微波炉市场属于导入期,价格高,消费者接受的少,自1996年以后,惠而浦、松下等大部分都退出了中国市场,重要以出口为主。1998年后,外资品牌中以韩国品牌

4、LG、三星表现较为突出,逐渐跨入第2、第3名,微波炉第一品牌为格兰仕。2023年,美的介入,迅速崛起成为行业第三,三星也逐渐退出市场。通过60年的发展,微波炉已经成为人们日用生活中的必不可少的厨房电器,大大减少了家庭妇女的工作量和工作强度。据记录,微波炉目前在日本、美国、西欧等发达国家地区的普及率高达98%,在中国城乡的普及率也已近90%。这个数字甚至超过了彩电和洗衣机的普及限度。三、产品发展趋势随着人们生活水平的提高和信息化的发展,家用电器层出不穷,各种功能也越来越完善,其中微波炉是现代家庭的必备产品,它的质量和性能的高低,将会极大的影响人们的生活水平和质量。为此,设计一个高质量的微波炉控制

5、系统是非常有必要的。微波炉开始进入越来越多的家庭,他给人们的生活带来了极大的方便。微波炉由2450MHz的超高频来加热食物。他省时、省电、方便和卫生,作为现代的烹饪工具,微波炉的控制器体现着他的重要性能指标。目前大部分微波炉控制器采用单片机进行设计,带南路比较复杂性能不够灵活。本文采用先进的EDA技术,运用QuartusII工作平台和VHDL设计语言,设计了一种新型的微波炉控制器芯片,该芯片具有系统复位、时间设定和烹饪计时的功能,用一片FPGA芯片实现,所以能设计出一款方便安全操作的微波炉是非常有必要的。第二章 电子设计自动化概述第一节 VHDL简介随着VLSI、EDA( Electronic

6、 Design Automation )工具的迅速发展,用户系统的设计从单纯的ASIC(Application Specific Integrated Circuit)设计向着系统单片化SOC(System On a Chip)设计的方向发展。同时网络技术的发展,共享IP知识产权的开放式系统设计成为新模式,芯片工艺物理设计与系统设计相分离,使用户系统设计人员可直接从事芯片设计。多种技术的融合,系统的功能复合化限度越来越高;对系统设计方法学和工具的规定更高;系统设计日趋软件硬化、硬件软化,并使两者得到了有机的融合,形成了更为强大的ESDA( Electronic System Design Au

7、tomation )。VHDL(Very High Speed Integrated Circuit Hardware Description Language)是IEEE(Institute of Electrical and Electronics Engineers)标准的硬件描述语言,是现代电子系统设计的首选硬件设计计算机语言。本篇介绍VHDL的语法基础、用VHDL进行系统设计的基本方法、以及VHDL的设计实例等。从宏观的角度看,VHDL的语法构成了程序的各组成部分;微观上看VHDL的语法是各种语句的运用细节。本章在VHDL的特性之后,从这两个角度简要介绍VHDL的语法基础。硬件描述语

8、言HDL(Hardware Description Language)诞生于1962年。HDL是用形式化的方法描述数字电路和设计数字逻辑系统的语言。重要用于描述离散电子系统的结构和行为。与SDL(Software Description Language)相似,经历了从机器码(晶体管和焊接)、汇编(网表)、到高级语言(HDL)的过程。20世纪80年代美国国防部开发Very High Speed Integrated CircuitVHSIC,用于描述集成电路的结构和功能。此后,硬件描述语言向标准化方向发展,1987年成为IEEE Standard 1076,称为VHDL语言。它也是美国国防部标

9、准(MIL-STD-454L)。1993年该标准增修为IEEE1164标准。1996年,再次加入电路合成的标准程序和规格,成为IEEE1076.3标准。1995年VerilogHDL也成为IEEE 标准。VHDL与VerilogHDL一起成为业界主选的硬件描述语言。一、VHDL的特点应用VHDL进行系统设计,有以下几方面的特点。(一)功能强大VHDL具有功能强大的语言结构。它可以用明确的代码描述复杂的控制逻辑设计。并且具有多层次的设计描述功能,支持设计库和可反复使用的元件生成。VHDL是一种设计、仿真和综合的标准硬件描述语言。(二)可移植性VHDL语言是一个标准语言,其设计描述可认为不同的ED

10、A工具支持。它可以从一个仿真工具移植到另一个仿真工具,从一个综合工具移植到另一个综合工具,从一个工作平台移植到另一个工作平台。此外,通过更换库再重新综合很容易移植为ASIC设计。(三)独立性VHDL的硬件描述与具体的工艺技术和硬件结构无关。设计者可以不懂硬件的结构,也不必管最终设计实现的目的器件是什么,而进行独立的设计。程序设计的硬件目的器件有广阔的选择范围,可以是各系列的CPLD、FPGA及各种门阵列器件。(四)可操作性由于VHDL具有类属描述语句和子程序调用等功能,对于已完毕的设计,在不改变源程序的条件下,只需改变端口类属参量或函数,就能容易地改变设计的规模和结构。(五)灵活性VHDL最初

11、是作为一种仿真标准格式出现的,有着丰富的仿真语句和库函数。使其在任何大系统的设计中,随时可对设计进行仿真模拟。所以,即使在远离门级的高层次(即使设计尚未完毕时),设计者就可以对整个工程设计的结构和功能的可行性进行查验,并做出决策。二、VHDL的设计环节采用VHDL的系统设计,一般有以下6个环节。(1)规定的功能模块划分;(2)VHDL的设计描述(设计输入);(3)代码仿真模拟(前仿真);(4)计综合、优化和布局布线;(5)布局布线后的仿真模拟(后仿真);(6)设计的实现(下载到目的器件)。三、VHDL的设计简述VHDL描述数字电路系统设计的行为、功能、输入和输出。它在语法上与现代编程语言相似,

12、但包含了许多与硬件有特殊关系的结构。VHDL将一个设计称为一个实体Entity(元件、电路或者系统),并且将它提成外部的可见部分(实体名、连接)和内部的隐藏部分(实体算法、实现)。当定义了一个设计的实体之后,其他实体可以运用该实体,也可以开发一个实体库。所以,内部和外部的概念对系统设计的VHDL是十分重要的。外部的实体名或连接由实体声明Entity来描述。而内部的实体算法或实现则由结构体Architecture来描述。结构体可以包含相连的多个进程process或者组建component等其他并行结构。需要说明的是,它们在硬件中都是并行运营的。VHDL程序设计的基本结构如下:库、程序包实体Ent

13、ity结构体Architecture、 进程process、 组件component等配置Configuration 表 1 VHDL程序设计的基本结构一个实体可以相应一个或者多个结构体。结构体可以包含一个或者多个进程或者组件。四、VHDL的描述风格设计实体的逻辑功能由VHDL的结构体具体描述。用户可以使用不同限度的语句类型和抽象方式来描述不同限度的设计。例如系统级的、板级的、芯片级的或者模块级的设计。对于相同的逻辑行为可以有不同的语句表达方式。在VHDL结构体中这种不同的描述方式或者说建模方法,通常可归纳为行为(Behavioral)级描述、数据流(Dataflow)级描述和结构(Struc

14、tural)级描述。(一)行为级描述通过一组串行的VHDL进程,反映设计的功能和算法,而没有直接指明或涉及实现这些行为的硬件结构,涉及硬件特性、连线方式和逻辑行为方式。行为级描述重要指顺序语句描述,即通常是指具有进程的非结构化的逻辑描述。(二)数据流级描述将数据当作从设计的输入端流到输出端,反映从输入数据到输出数据所发生的立即变换。数据流描述重要是指非结构化的并行语句描述;是建立在用并行信号赋值语句描述基础上的。数据流描述方式可比较直观地表达底层逻辑行为。(三)结构级描述将设计当作多个功能块的互相连接,并且重要通过功能块的组件例化来表达。结构级描述方式采用了结构化、模块化的设计思想,适合于大型

15、复杂性设计。VHDL通过这三种描述方法或称描述风格,从不同的侧面描述结构体的行为方式。其中,行为描述的抽象限度最高,最能体现VHDL 描述高层次结构和系统的能力。正是VHDL 语言的行为描述能力使自顶向下的设计方式成为也许。在实际应用中,为了能兼顾整个设计的功能、资源和性能几方面的因素,通常将以上三种描述方式混合使用。第三章 总体设计第一节 课题的重要内容及基本规定规定采用EDA技术设计一个微波炉控制器,可完毕以下功能:(1)可控制烹调的开关;(2)可设立烹调时间,(假设系统最长的烹调时间为59分59秒);(3)可显示烹调的剩余时间。第二节 设计思绪现代数字系统设计一般采用自顶向下的方法,其过

16、程大体可分为三个大的环节:系统调研;模块的划分;模块的实现。承接一个数字系统设计的课题后,一般不要急于动手设计,而应对课题作充足的分析和调研,然后拟定初步的方案。分析:课题的任务、规定、原理和使用条件等。调研:课题现状并和相同或相近课题进行比较。现代数字系统设计一般是将其划分为控制器和受控电路两大部分,控制器由ASM图或MDS图决定,而受控电路则使用各种通用模块实现。下面分析微波炉定期器的工作过程及基本规定: 上电后,系统处在复位状态。工作时一方面进行烹调时间设立,并使用数码管显示时间信息,设规定最长的烹调时间为59分59秒,时间设立完毕后系统自动回到初始状态;按开始烹调按键进入烹调状态,时间

17、显示数码管按每秒减1的倒计时方式显示剩余烹调时间;烹调结束后,系统回到复位状态。系统规定分析及初步方案的拟定:根据系统的基本规定,着重应考虑如下问题: (1)计时电路的设计:芯片内部产生和外部提供。本例中由外部时钟电路以BCD码的形式提供。(2)时间设立犯错及工作过程的取消等情况的解决:设立一个复位按键。 (3)数码管状态的检测:设立数码管检测按键,按动该按键后,数码管可以显示“8888”的信息。(4)时间显示电路:采用4位7段显示数码管显示,并由芯片直接驱动。 (5)微波管的驱动:设立一个输出驱动控制烹调状态的继电器即可。第三节 设计方案微波炉控制器系统可由以下三个电路模块组成:状态控制电路

18、,其功能是控制微波炉工作过程中的状态转换,并发出相关控制信号;数据装载电路,其功能是根据控制信号选择定期时间,测试数据或计时完毕信息的载入;计时器电路,其功能是对时钟进行减法计数,提供烹调完毕时的状态信号。微波炉控制器的系统框图如图1所示。其中,CLK为时钟输入信号,时钟上升沿敏感;RESET为复位信号,高电平有效时系统复位清零;TEST为数码显示管测试信号,高电平有效系统显示8888;SET_T高电平有效时允许设立烹饪时间;KEY为定期时间输入信号,用于设立烹饪时间的长短,其高到低分别表达时间分、秒的十位、个位;START为烹调开始信号,高电平有效时开始烹调;输出信号COOK指示微波炉状态,

19、高电平时表达烹调进行时;SEC0 、SEC1、MIN0、MIN1分别表达秒个位、秒十位、分个位、分十位。显示设立时间和烹饪时间信号分秒信号输 出驱动烹调输出时钟输入数码管测试输入开始按键时间设立输入复位输入时间输入 图1 微波炉控制器系统框图微波炉控制器的工作流程图如图2所示。接通电源初始状态时间设立显示8888烹调完毕SET_TTEST?START?时间到?NYNYNYNY图2 工作流程图一方面,对系统进行复位清零,使其各电路模块均处在初始状态;当烹饪时间设立信号SET_T有效时,读入时间信号KEY3.0的取值,此时系统显示设立的时间信息,再按下SET_T拟定设立时间完毕。按下开始键STAR

20、T,系统进入烹调状态,COOK信号变为高电平,时钟计数器开始减法计数,MIN1、MIN0、SEC1、SEC0显示剩余烹调时间。烹调结束,系统恢复初始状态。当系统处在复位清零状态时,按下显像管测试按钮TEST,将对显像管是否正常工作进行测试,正常工作时,显像管输出全8。第四章 模块分析第一节 状态控制电路模块状态控制器的功能根据输入信号和自身当时所处的状态完毕状态的转换和输出相应的控制信号,其模块框图如图3所示。其中,输出信号LD_DONE指示数据装载电路载入的烹调结束的状态信息的显示的驱动信息数据;LD_CLK显示数据装载电路的设立的时间数据;LD_TEST指示数据装载电路载入的用于测试的数据

21、,以显示驱动信息数据;COOK指示烹饪的状态,并提醒计时器进行减法计算;KEY为定期时间输入信号,用于设立烹饪时间的长短,其高到低分别表达时间分、秒的十位、个位。当LD_DONE有效时,输出烹调结束数据。当LD_CLK有效时,输出烹调的设立时间数据。当LD_TEST有效时,输出数码管测试数据涉及6个输入信号和4个输出信号。图3 状态控制电路模块框图根据微波炉工作流程的描述,分析状态转换条件及输出信号,可以得到如图4所示的微波炉控制器的状态转换图。TEST/LD_TESTRESET初 始状 态IDLESET_CLOCKLAMP_TESTDONE_MSGTIMERSTART&DONE&TEST&S

22、ET_T/COOKLD_DONE/COOKX/LD_DONEX/LD_CLKSET_T&TEST/LD_CLKX/LD_TESTDONE/LD_DONE图4 状态控制器状态转换图减法计数定期状态T完毕信息显示状态T烹调时间设立状态T显示译码测试状态T 图中,当RESET信号有效时,系统复位清零;输入/输出相应烹调时间设立、显示译码测试、完毕信号显示和减法计数定期四种状态进行相应的转换。第二节 数据装载电路模块数据装载电路的本质是一个三选一多路选择器,其模块框图如图5所示。图5 数据装载电路模块框图当LD_DONE有效时,输出烹调结束的信息数据数据。当L_CLK有效时,输出烹调的设立时间数据。当

23、L_TEST有效时,输出数码管测试数据。LOAD信号为LD_DONE时DATEOUT输出KEY有效指示。第三节 计时器模块 电路计时模块可以由十进制减法计数器和六进制减法计数器级联组成,其中,两个十进制的减法计数器用于分、秒的个位减法计数,两个六进制的减法计数器用于分、秒的十位减法计数。由六进制计数器和十进制计数器级联构成的计时模块原理图如图6所示。图6 计时器模块原理图计时器模块的框图如图7所示。图7 计时器模块框图LOAD有效时完毕装入功能,COOK(EN)有效时执行减计数;CLR由RESET发出信号,清除装载已存的数据;DONE返回给控制器,MIN和SEC显示所剩时间和测试状态信息、烹调

24、结束状态信息等。第五章 程序设计及仿真第一节 程序简要说明程序分为多个模块进行编写,这样既符合编程模块化的规定也方便编写和阅读。按照以上功能和模块分析,可以将程序划分几个模块:状态控制电路模块controller、数据装载电路模块loader、计时器模块counter,其中计时器模块又可以划分2个模块:十进制功能编写cnt10,6进制功能编写cnt6,一起完毕计时功能。本次程序编写调试软件平台是Quartus II 4.1。具体的源程序可查看附录二。第二节 仿真时序图下面我们分别考察微波炉总的功能、计时器模块和数据装载电路模块的对的性(其他模块的仿真略)。一、微波炉总的功能仿真微波炉总的功能仿

25、真波形图如下:图8 微波炉总的功能仿真波形图图中,CLK是输入脉冲,RESET复位,SET_T设立时间,KEY按键输入,START开始计时,COOK正在烹饪,MIN和SEC是时间显示,LED21是显示设立时间信号,LED0是显示烹饪时间信号。从仿真波形中可看出,按下RESET,所有信号复位为零,按下TEST,显像管显示8888,按下SET_T后KEY输入有效,MIN和SEC显示输入值,KEY输入完毕并按下SET_T,表达设立时间完毕,再按下START,开始烹饪并进行减法计数,MIN和SEC显示剩余时间,此时输出COOK变为高电平。二、计时器模块仿真波形计时器模块仿真波形如下:图9 计时器模块仿

26、真波形图图中,LOAD为高电平时读取信号DATA的值,当COOK信号为高电平时,对DATA的值进行减法计数,并在每个时钟周期都输出减法计数器的当前值。仿真结果与预先设定的电路功能相吻合。第六章 硬件调试通过软件平台上的编译仿真,终于可以在硬件上进行调试。本次实验所用的硬件平台是ACEX1K系列的EP1K30TC144-3。在开发板上用到的第3个硬件模块:4个八段数码管、3个LED、8个按键。以下是模块3的接线盒引脚分派:图11 接线盒引脚分派本次实验为了观测操作方便,数码管用了第8、7、5、4个显像管;LED分别用了D8、D7、D1;按键则8个所有使用。表2 相应的键位功能键8RESETD8L

27、ED21键7SET_TD7LED20键6TESTD1COOK键5START显像管8MIN1键4KEY3显像管7MIN0键3KEY2显像管5SEC1键2KEY1显像管4SEC0键1KEY0CLOCK0CLK表3 具体的引脚分派分派好引脚,下载程序到硬件之后就可以调试了。一方面按下TEST,显示8888则测试模式运营正常;按下SET_T设立时间,LED1亮,再输入所学要的时间,再次按下SET_T关闭设立时间,LED1灭;按下START,开始计时,LED0、COOK亮,当时间回到0000时,灯全灭,完毕实验。总 结本次课程设计是微波炉控制器的FPGA实现,微波炉控制器系统可由三个电路模块组成:状态控

28、制电路模块controller、数据装载电路模块loader、计时器模块counter。在QUARTUSII上进行程序的编程、仿真,在编译仿真通过后,最终在实验箱调试成功,实现设计任务书所规定的指标。本次课程设计从收集资料到完毕论文共历时2个星期。在课程设计期间,在温习旧知识的同时,还学习了许多新的东西,把他们运用到这次设计中,加深了对之前学到的知识的理解。通过本次设计,我收获了很多关于EDA技术与VHDL的知识。特别是QUARTUS II软件的应用,从安装到使用,在到对在仿真时碰到问题的解决,明白了理论是完美的,而实际仿真是会有延时、毛刺等问题,所以在仿真是如何设立时钟也是值得好好考虑的。同

29、时本次设计使我的动手能力提高了许多,可以让我在设计电路时,自己来解决碰到的问题,学会了如何去分析电路,如何把所学到的知识和实际相起来。但是由于在很多方面都没有经验,在设计中碰到了很多困难,此后将努力克服自己在完毕课程设计过程中暴露出来的局限性之处。致 谢本次课程设计是在广西工学院信息与计算科学系的韦艳霞老师的悉心栽培和精心指导下完毕的,在课程设计论文完毕之际,向韦艳霞老师表达感谢!在设计的工程中,韦老师给予了我细心的指导和帮助。由于之前都有认真参与了前两次的课程设计,前两次课程设计的指导老师刘青正老师也同样给予了细心的指导,让我熟悉课程设计的过程,为这次课程设计能顺利进行提供了基础,所以在此我

30、也谢谢刘老师。在此我还要感谢我的搭档,我的搭档是一个很细心的人,刚好填补了我在细心这方面的局限性,使我们能不久的顺利完毕这次课程设计。由于本人水平有限,加之时间仓促,设计中疏漏和错误之处在所难免,希望老师给予谅解,同时也希望老师加以批评和指正,使我在以后的学习和工作中取得更大的成绩。参考文献1. 潘松,黄继业. EDA技术实用教程(第二版)M. 北京:北京航空航天大学出版社,19902. 刘欲晓,方强,黄宛宁等.EDA技术与VHDL电路开发应用实践M.北京:电子工业出版社,20233. 谭会生,瞿遂春等.EDA技术综合应用实例与分析M.西安:西安电子科技大学出版社.2023.附录一 原理图附录

31、二 源程序- -状态控制电路的VHDL实现如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY controllor IS PORT( RESET:IN STD_LOGIC; -复位信号 KEY: IN STD_LOGIC_VECTOR(3 DOWNTO 0);-输入时间 SET_T:IN STD_LOGIC;-时间设立信号 START:IN STD_LOGIC;-开始烹调信号 TEST:IN STD_LOGIC;-显示电路测

32、试信号 CLK:IN STD_LOGIC; -时钟脉冲 DONE:IN STD_LOGIC;-完毕信号 COOK:OUT STD_LOGIC;-指示烹调状态,提醒计时器开始计数 LD_TEST:OUT STD_LOGIC;-指示数据装载电路载入的用于测试的数据 LD_CLK:OUT STD_LOGIC; -指示数据装载电路载入设立时间数据 DATA:OUT STD_LOGIC_VECTOR(15 DOWNTO 0);-16位数据 LED_SET_T:OUT STD_LOGIC; -LED显示状态 LD_DONE:OUT STD_LOGIC -LED显示完毕 );END controllor;A

33、RCHITECTURE rtl OF controllor ISTYPE STATES IS(IDLE,LAMP_TEST,SET_CLOCK,TIMER,DONE_MSG);SIGNAL NXT,CUR:STATES; -2个信号:下一状态、当前状态SIGNAL DATATMP:STD_LOGIC_VECTOR(15 DOWNTO 0); SIGNAL SET_T0: STD_LOGIC; -设立时间信号BEGIN PROCESS(CLK,RESET) -时钟和复位的进程 BEGIN IF RESET=1 THEN -复位时将IDLE(显示0000)赋予当前状态 CUR=IDLE; ELSI

34、F CLKEVENT AND CLK=1 THEN CUR=NXT; -假如不是,碰到上边沿则自动跳转下一状态 END IF;END PROCESS; PROCESS(RESET,KEY) -复位和输入的进程 BEGIN -可以让输入4位数字 显示时间 IF RESET = 1 THEN -复位时不管任何状态数码管都将显示0000 DATATMP 0); ELSE IF KEY(3)EVENT AND KEY(3) = 1 THEN -设立分的十位 IF DATATMP(15 DOWNTO 12) = 0101 THEN -5自动跳转到0 DATATMP(15 DOWNTO 12) = 000

35、0; ELSE DATATMP(15 DOWNTO 12) = DATATMP(15 DOWNTO 12) + 1; END IF; -否则自动加1 END IF; IF KEY(2)EVENT AND KEY(2) = 1 THEN -设立分的个位 IF DATATMP(11 DOWNTO 8) = 1001 THEN -9自动跳转到0 DATATMP(11 DOWNTO 8) = 0000; ELSE DATATMP(11 DOWNTO 8) = DATATMP(11 DOWNTO 8) + 1; END IF; -否则自动加1 END IF; IF KEY(1)EVENT AND KEY

36、(1) = 1 THEN -设立秒的十位 IF DATATMP(7 DOWNTO 4) = 0101 THEN -5自动跳转到0 DATATMP(7 DOWNTO 4) = 0000; ELSE DATATMP(7 DOWNTO 4) = DATATMP(7 DOWNTO 4) + 1; END IF; -否则自动加1 END IF; IF KEY(0)EVENT AND KEY(0) = 1 THEN -设立秒的个位 IF DATATMP(3 DOWNTO 0) = 1001 THEN -9自动跳转到0 DATATMP(3 DOWNTO 0) = 0000; ELSE DATATMP(3 D

37、OWNTO 0) = DATATMP(3 DOWNTO 0) + 1; END IF; END IF; -否则自动加1 END IF; DATA = DATATMP; END PROCESS; PROCESS(SET_T,RESET) -设立时间和复位进程 BEGIN IF RESET = 1 THEN -复位时设立时间变为低电平 SET_T0 = 0; ELSIF SET_TEVENT AND SET_T = 1 THEN -按下SET_T键时 SET_T0 = NOT SET_T0; -SET_T非它前之状态 END IF; IF SET_T0 = 1 THEN LED_SET_T = 1; -赋予SET_T连续电平 ELSE LED_SET_T = 0; -赋予SET_T连续电平 END IF; END PROCESS;PROCESS(CLK,CUR,SET_T,START,TEST,DONE) ISBEGIN NXT=IDLE; -将IDLE载入NXT LD_TEST=0; -复位 LD_DONE=0; LD_CLK=0; COOK -译码器显示测试状态 LD_TEST=1; COOK -烹调时间测试状态 LD_CLK=1; COOK -完毕信息显示状态 LD_DONE=0; COOK -初始状态定义 IF TEST=1 THEN NXT=LAMP_TES

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服