欢迎来到天天文库
浏览记录
ID:35746264
大小:1.76 MB
页数:34页
时间:2019-04-16
《数电实验报告 vhdl 微波炉fpga分模块实现.docx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数电综合实验报告--简易微波炉控制器的设计与实现班级:姓名:学号:日期:一:设计课题的任务要求3基本要求:3提高要求:3二:系统设计(包括设计思路、总体框图、分块设计)3设计思路3总体框图3分块设计41分频器42:防抖模块43:控制器44:数据装载54:倒计时模块65:译码模块76:数码管驱动模块77:火力显示88:led显示模块99:蜂鸣器模块9三:仿真波形及波形分析91:控制器仿真92数据装载仿真103倒计时模块:104:decoder译码电路模块115:驱动数码管模块116:led显示模块11
2、7:蜂鸣器模块128:总体仿真12四:源程序121:分频器122:防抖模块133:控制器144:数据装载模块165:倒计时模块179:火力模块2311:蜂鸣器模块27五:功能说明28六:元件清单和利用情况28七:故障和问题分析28八:总结和结论29一:设计课题的任务要求设计制作一个简易微波炉控制器。基本要求:1、微波炉的火力有大、中、小三档可选。用一个按键实现火力的选择,用点阵显示火力档位,点阵的显示随着按键的按下次数而变化,没有选择时默认的火力为大。2、微波加热时间在0-59分59秒之间可选。用4
3、个按键分别设置加热时间各位的长度,用数码管显示加热时间。3、设置一个开始键,按下此键后开始加热。加热过程中,用数码管倒计时显示剩余时间。4、加热过程中,不能修改火力和加热时间。5、加热完成后蜂鸣器至少鸣响两声以提醒使用者加热已结束,加热结束后回到等待状态。6、设置复位键,任何时候按下复位键可以取消加热,回到等待状态,只有在等待状态下才可以修改火力和加热时间。提高要求:1、用8个LED灯作为加热进度显示条,随着加热时间的增加匀速增加点亮LED灯的个数,无论加热时间是多长,最后都必须将8个LED灯全部点
4、亮。2、增加烧烤功能,用一个键选择微波或烧烤功能,用一个数码管指示当前处于微波还是烧烤功能。3、烧烤火力和加热时间要求与微波功能相同。4、自拟其它功能。二:系统设计(包括设计思路、总体框图、分块设计)设计思路由一个总的控制器完成各个状态的转换。主要分两个大状态,一为没有开始前的可编辑状态。二为开始后的不可编辑状态。所以总的控制器中应有个edit输出控制各个模块是否可改变。Start开始前,为设置时间状态和火力状态和烧烤选择状态。Start开始后edit变量为0,各个模块不可在编辑。控制器转入倒计时模
5、块,同时led灯进入工作状态。需要注意的是需要为所有模块设置reset输入,以重置各个模块状态值。主要考虑问题:1:由于键盘输入不稳定,数字跳变太快,所以需要加键盘防抖模块。2:键盘防抖模块需要特殊的频率,所以分频器模块不止一个。综上,主要涉及以下几个模块。分频器,键盘防抖模块,控制器,数据选择,数据装载,数字译码,数码管显示模块,led进度显示模块,火力选择和显示模块,倒计时模块,蜂鸣器模块总体框图数据选择与装载数字译码与显示倒计时防抖分频器控制器LED显示蜂鸣器点阵显示火力选择键盘输入分块设计1
6、分频器1hz用于倒计时,100hz是时间输入防抖所用频率,10khz是火力防抖所用(也可以用100hz的,不过就是输入稳定性略差)2:防抖模块左边为时间输入防抖,右边为火力输入和开始键的防抖。3:控制器状态控制器的功能根据输入信号和自身当时所处的状态完成状态的转换和输出相应的控制信号,其模块框图如图所示。其中,输出信号LD_DONE指示数据装载电路载入的烹调结束的状态信息的显示的驱动信息数据;LD_CLK显示数据装载电路的设置的时间数据;LD_EDIT用于输出给其他分模块以便设置是否可改变;COOK
7、指示烹饪的状态,并提示计时器进行减法计算;DATA[15..0]:将key转化为二进制编码;KEY为定时时间输入信号,用于设置烹饪时间的长短,其高到低分别表示时间分、秒的十位、个位。当LD_DONE有效时,输出烹调结束数据。当LD_CLK有效时,输出烹调的设置时间数据。4:数据装载当LD_DONE有效时,输出烹调结束的信息数据数据。当L_CLK有效时,输出烹调的设置时间数据。由于结构内部用到与或表达式LOAD<=LD_TESTORLD_DONEORLD_CLK;TEMP:=LD_TEST&LD_DO
8、NE&LD_CLK;必须3个变量才能使用,所以LD-Test是用于完成这个表达式的。程序中默认接地。4:倒计时模块电路计时模块可以由十进制减法计数器和六进制减法计数器级联组成,其中,两个十进制的减法计数器用于分、秒的个位减法计数,两个六进制的减法计数器用于分、秒的十位减法计数。由六进制计数器和十进制计数器级联构成的计时模块原理图如图所示。LOAD有效时完成装入功能,COOK(EN)有效时执行减计数;载已存的数据;DONE返回给控制器,MIN和SEC显示所剩时间和测试状
此文档下载收益归作者所有