您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 公司方案 > EDA课程设计—微波炉定时设计
1邮电与信息工程学院课程设计说明书课题名称:电子设计自动化(EDA)课程设计学生学号:6402040105专业班级:06自动化01学生姓名:高军学生成绩:指导教师:邹连英课题工作时间:2009.6.8至2009.6.192目录一、设计题目和要求-----------------------------------------------------------------2二、设计思路--------------------------------------------------------------------------2三、单元模块设计--------------------------------------------------------------------3--------------------------------------------------------------------------------------------83.1、FENPIN模块设计-----------------------------------------------------(3,4)3.2、FIRST模块设计------------------------------------------------------(4,5)3.3、JIANJISHU模块设计------------------------------------------------(5,6)3.4、CHOICE和VIEW模块设计------------------------------------------(7,8)四、硬件实验---------------------------------------------------------------------------8五、心得体会---------------------------------------------------------------------------9附页:程序代码------------------------------------------------------------------------10---------------------------------------------------------------------------------------------173一、设计题目和要求设计题目为:微波炉定时控制器要求:1、复位开关:2、启动开关:3、烹调时间设置:4、烹调时间显示:5、七段码测试:6、启动输出:7、按TEST键可以测试七段码管,显示为“8888”;8、设定时间后,按启动键开始烹调,同时七段码显示剩余时间,时间为0时,显示烹调完成信息“CDEF”二、设计思路A.先有一个大概的模块设计,就如下图:预设初值倒计时减计数输出数据B:再在上面大模块的基础上进行改进增加复位端和测试端复位输出数据预设倒计时实现闪烁初值减计数测试C:具体的设计过程(中文):1、刚开始设计是先完成了FENPIN模块的设计,因为这个模块比较简单。2、然后是对设初值大模块的设计,在这一部分的设计有两个方案:(1)设计两个按钮的初始化模块,两个按钮分别提供一个移位信号和一个加信号;4(2)设计四个按钮的初始话模块,四个按钮分别控制秒,十秒,分,十分这4两个个数值的初始化;两个方案都用了一下,发现还好是1号方案比较好,不仅程序上比较简单而且省了很多按钮的使用,比较符合实际应用的要求;3、在完成了初始话模块的设计之后,接下来就是减计数模块的设计,只要把由初始化模块所提供的数据进行减计数即可;4、在完成以上三个模块时,程序已经初见雏形了,然后把这三个模块连接起来,添加上复位和测试按钮就可以了;5、用动态扫描的方法对数据进行输出,其中输入数据是使相应的数据进行闪烁。设计过程(英文):1、BegantoiscompletedFENPINmoduledesign,becauseitissimple.2、Thentheinitialsetofdesign,themodulesinthispartofthedesignoftwoschemes:(1)Designtwobuttonsinitializationmodule,thetwobuttonstoprovideashiftsignalsandasignal;(2)Designfourbuttons,fourwordsbuttonscontrolmodule,10seconds,thesecondisthis,4bothnumericalinitialization;Twosolutionsarefoundwell,thebetteroneis1,notonlyontheprocedureissimpleandsavealotofuse,comparedwithbuttonoftheapplicationrequirements,3、Intheinitialwordsmoduledesign,thenextisreduced,justcounttheinitializationmoduleprovidedbythedatacanbereducedcount,4、Completedabovethreemodules,theprogramhasproducedaprototype,andthenconnectthethreemodules,addtheresetbuttonandtesting,5、Thedynamicscanningmethodsofdataoutput,whichisintheinputdatatothecorrespondingdata.三.单元模块设计单元模块设计部分主要有4部分组成:(一)、FENPIN模块,用于给后面的JIANJISHU模块和VIEW模块提供合适的频率。(二)、FIRST模块,用于设定微波炉的初始时间而用。(三)、JIANJISHU模块,配合FENPIN模块提供的时钟频率实现每秒减一的计数。(四)、CHOICE模块和VIEW模块,利用动态扫描的方法显出对应数字。(1)FENPIN模块的设计FENPIN模块主要利用1Khz的时钟信号进行分频。得到1s的outclk时钟信号(用于后期JIANJISHU模块的使用)和0.5s的screen的时钟信号(用于VIEW的显示闪烁使用)。5说明:试验箱上有1Khz,2Khz等多个时钟信号。而在这里采用1Khz的信号使用。1Khz/1000=1s,所以采用1Khz进行千分频得到1s的信号。实验波形图:每秒产生一个时钟脉冲(程序代码见附录。)Move此时数码管有输出Move选中时数码管无输出(2)FIRST模块设计FIRST模块主要用于对时间设定初始值而用,其中设有ABLE和CLK两时钟信号,分别用于外接按钮信号而用,其中CLK用于进行加计数,ABLE用于移位而用。输出o1,o2,o3和o4分别是输出秒,十秒,分,十分。而输出o5是为VIEW实现输出1s的时钟信号为数码管的闪烁提供时钟信号6闪烁而用的。其中的RES和TEST要配合JIANJISHU模块中的RES和TEST同时控制才能有效。波形图仿真:每个上升沿都会进行加计数当res和test为零时输出分别是“0000”和“8888”Able在每个脉冲到来是都会进行移位,而o5正好显示出正在加的位数注意:编写此段代码是要注意秒位和分位都是记从1记到9然后进位自己变成0的,而十秒位和十分位是记到5然后变成0的。(程序代码见后页)(3)JIANJISHU模块的设计JIANJISHU模块的主要用于对FIRST的数据进行选择性的处理和输出:(一)、当JIANJISHU模块中的res=0时,由于res作为输入同样也连接这FRIST模块中输出初始数据7的res,他们是由一个输入共同控制的,所以此时输出的就是“0000”;(二)、当JIANJISHU模块中的test=0时,同res一样的道理,此时输出为“8888”;(三)、当h4=15(输出为F)或start=0时,LED就不会亮了,表示工作完成或处于等待状态,此时不对FIRST模块中的数据进行任何处理就直接输出;(四)、在以上条件都不满足的情况下,若此时start=1,那么JIANJISHU模块才开始了真正的工作状态,即配合FENPIN模块中时钟outclk开始每秒减一的记时计数;本程序中复位键res和test的详细说明:这里的res和test和模块FRIST中的res和test是用同一个控制端,而且JIANJISHU的res和test是必不可少的。因为每次进行计数完后由于是利用信号进行减计数,在记完一次数之后h1,h2,h3和h4都会保持最后一次的状态,如果不及时清零的话,那么下一次的res,test以及加计数就是只能对前一级的输入进行复位和测试,输出的将是前一级的各个位数减去h1,h2,h3和h4的值,所以在JIANJISHU模块中进行清零是十分重要的。波形图仿真:输入初值为“0015”当start=1时开始配合clks的始终上升沿开始减计数8在各位都记到0时,就数码管就会显示“FEDC”同时LED熄灭这就是上次提到的复位是清零了所有的中间信号,这样输出为FIRST中提供原始数据(程序代码见后页)(4)CHOICE模块和VIEW模块CHOICE模块和VIEW模块必须放在一起进行使用,CHOICE模块是进行数据选则而使用的,VIEW模块是用于在相应的位进行输出对应的数,两者和起来就是一个动态扫描的过程。说明:这里的clk时钟信号是使用和FENPIN模块中一样的时钟信号(1Khz),因为人的眼睛对时间的分辨为20个微秒,用1Khz的信号完全能满足这样的要求;要注意CHOICE有两个输出,o2显然输出的是对应的数据信号,而o1要输出的是一个位选信号,是为下一个模块VIEW显示而用。A:CHOICE模块;B:VIEW模块;说明:f1是接受位信号用的,f2是接受数据而用的。详细说明一下screen和able的作用:Screen是有FENPIN模块通过对时钟信号分频得到的,当在模块FRIST选中某一进行加数初始化是,VIEW就可以在时钟screen在为1是正常输出able所指的那位,当screen为0时,able所指的那位不能对应输出,这样就能达到让相应的数码管闪烁9的效果。波形图:(程序代码见后页)微波炉定时控制器组成原理图:四.硬件实验管脚设置ToLocationI/OBankI/OStandard1Clk1PIN_1523LVTTL2Clk2PIN_1353LVTTL3MovePIN_1363LVTTL4RestPIN_1373LVTTL5TesttPIN_1383LVTTL6StarttPIN_1563LVTTL7LightoPIN_1653LVTTL108Sel[2]PIN_51LVTTL9Sel[1]PIN_41LVTTL10Sel[0]PIN_31LVTTL11Seg[7]PIN_21LVTTL12Seg[6]PIN_11LVTTL13Seg[5]PIN_1803LVTTL14Seg[4]PIN_1793LVTTL15Seg[3]PIN_1783LVTTL16Seg[2]PIN_1773LVTTL17Seg[1]PIN_1763LVTTL18Seg[0]PIN_1753LVTTL注释:Clk1:选用的是1Khz的信号;Clk2,Move,Rest,Testt:选用的是按钮信号;Startt:使用的是开关信号;Lighto:LED输出;五、心得体会这次EDA课程设计历时两个星期,在整整两个星期的日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。特别是当每一个子模块编写
本文标题:EDA课程设计—微波炉定时设计
链接地址:https://www.777doc.com/doc-4965567 .html