EDA课程设计微波炉定时设计.docx
- 文档编号:8798324
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:28
- 大小:260.02KB
EDA课程设计微波炉定时设计.docx
《EDA课程设计微波炉定时设计.docx》由会员分享,可在线阅读,更多相关《EDA课程设计微波炉定时设计.docx(28页珍藏版)》请在冰点文库上搜索。
EDA课程设计微波炉定时设计
邮电与信息工程学院
课程设计说明书
课题名称:
电子设计自动化(EDA)课程设计
学生学号:
**********
专业班级:
06自动化01
*******
学生成绩:
********
课题工作时间:
2009.6.8至2009.6.19
一、设计题目和要求-----------------------------------------------------------------2
二、设计思路--------------------------------------------------------------------------2
三、单元模块设计--------------------------------------------------------------------3
--------------------------------------------------------------------------------------------8
3.1、FENPIN模块设计-----------------------------------------------------(3,4)
3.2、FIRST模块设计------------------------------------------------------(4,5)
3.3、JIANJISHU模块设计------------------------------------------------(5,6)
3.4、CHOICE和VIEW模块设计------------------------------------------(7,8)
四、硬件实验---------------------------------------------------------------------------8
五、心得体会---------------------------------------------------------------------------9
附页:
程序代码------------------------------------------------------------------------10
---------------------------------------------------------------------------------------------17
一、设计题目和要求
设计题目为:
微波炉定时控制器
要求:
1、复位开关:
2、启动开关:
3、烹调时间设置:
4、烹调时间显示:
5、七段码测试:
6、启动输出:
7、按TEST键可以测试七段码管,显示为“8888”;
8、设定时间后,按启动键开始烹调,同时七段码显示剩余时间,时间为0时,显示烹调完成信息“CDEF”
二、设计思路
A.先有一个大概的模块设计,就如下图:
预设初值倒计时减计数输出数据
B:
再在上面大模块的基础上进行改进
增加复位端和测试端
复位输出数据
预设倒计时实现闪烁
初值减计数
测试
C:
具体的设计过程(中文):
1、刚开始设计是先完成了FENPIN模块的设计,因为这个模块比较简单。
2、然后是对设初值大模块的设计,在这一部分的设计有两个方案:
(1)设计两个按钮的初始化模块,两个按钮分别提供一个移位信号和一个加信号;
(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的显示闪烁使用)。
输出1s的时钟信号
说明:
试验箱上有1Khz,2Khz等多个时钟信号。
而在这里采用1Khz的信号使用。
1Khz/1000=1s,所以采用1Khz进行千分频得到1s的信号。
实验波形图:
每秒产生一个时钟脉冲
(程序代码见附录。
)
Move此时数码管有输出
Move选中时数码管无输出
(2)FIRST模块设计
FIRST模块主要用于对时间设定初始值而用,其中设有ABLE和CLK两时钟信号,分别用于外接按钮信号而用,其中CLK用于进行加计数,ABLE用于移位而用。
输出o1,o2,o3和o4分别是输出秒,十秒,分,十分。
而输出o5是为VIEW实现闪烁而用的。
其中的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模块中
的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的始终上升沿开始减计数
在各位都记到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所指的那位不能对应输出,这样就能达到让相应的数码管闪烁
的效果。
波形图:
(程序代码见后页)
微波炉定时控制器组成原理图:
四.硬件实验
管脚设置
To
Location
I/OBank
I/OStandard
1
Clk1
PIN_152
3
LVTTL
2
Clk2
PIN_135
3
LVTTL
3
Move
PIN_136
3
LVTTL
4
Rest
PIN_137
3
LVTTL
5
Testt
PIN_138
3
LVTTL
6
Startt
PIN_156
3
LVTTL
7
Lighto
PIN_165
3
LVTTL
8
Sel[2]
PIN_5
1
LVTTL
9
Sel[1]
PIN_4
1
LVTTL
10
Sel[0]
PIN_3
1
LVTTL
11
Seg[7]
PIN_2
1
LVTTL
12
Seg[6]
PIN_1
1
LVTTL
13
Seg[5]
PIN_180
3
LVTTL
14
Seg[4]
PIN_179
3
LVTTL
15
Seg[3]
PIN_178
3
LVTTL
16
Seg[2]
PIN_177
3
LVTTL
17
Seg[1]
PIN_176
3
LVTTL
18
Seg[0]
PIN_175
3
LVTTL
注释:
Clk1:
选用的是1Khz的信号;
Clk2,Move,Rest,Testt:
选用的是按钮信号;
Startt:
使用的是开关信号;
Lighto:
LED输出;
五、心得体会
这次EDA课程设计历时两个星期,在整整两个星期的日子里,可以说是苦多于甜,但是可以学的到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。
通过这次设计,进一步加深了对EDA的了解,让我对它有了更加浓厚的兴趣。
特别是当每一个子模块编写调试成功时,心里特别的开心。
第一天刚开始的时候感觉很难,不知道怎么去做,怎么去编写程序...好多的空白,特别是在老师不在EDA机房的情况下,只能自己看书查资料。
仔细读过程序,发现其实复杂的程序都是由一些简单的程序组成的,感觉看不懂是因为前面的基础知识没掌握好,对语法不熟悉就不能很好地理解程序的含义。
在整个的设计过程中现在回头好好回想一下我觉得还是有很多不足的,做任何事情起步的时候就应该有一个全局观,但是刚开始由于我没有考虑完全,在FIRST模块种设计了有四个按键控制的初始化程序,之后发现这样不仅程序非常的繁琐,而且这种课设应该和实际好好联系一下,有谁家的微波炉就光是刚开始设定初值都有这么多按钮,那么不仅难看而且比较耗资源,使用也不是最方便的,所以之后经过分析后选择了现在使用的由两个按钮就能事先数据初始化的功能。
因此在以后的设计工作中也要学会有大局观。
同时在编写复位和测试两个按键的功能是遇到了比较大的麻烦,总是输出一些莫名其妙的数据,之后发现是由于在JIANJISHU模块的中的中间信号没有清零而导致的,这样的一个遇到困难然后去解决这个问题的过程让我对中间信号有了比较深刻的理解。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
总的来说,这次设计的数字秒表还是比较成功的,在设计中遇到了很多问题,最后在老师的辛勤的指导下,终于迎刃而解,有点小小的成就感,终于觉得平时所学的知识有了实用的价值,达到了理论与实际相结合的目的,不仅学到了不少知识,而且锻炼了自己的能力,使自己对以后的路有了更加清楚的认识,同时,对未来有了更多的信心。
(英文):
TheEDAcoursedesignlastfortwoweeks,inthedaysofsuffering,itismoresweet,butcanlearnmanythings,alsocannotonlylearnedbeforeconsolidation,andlearnedalotofknowledgeinthebookshaveneverlearnedbefore.Throughthedesign,furtherdeepenedtheunderstandingofEDA,letmehasmoreinterestforit.Especiallywheneachoneiswritten,especiallywhenthesuccessfulcommissioningofthetime.
Thefirstday,Idon'tknowhowtodoit,andhowtowriteprograms.Alotofblank,especiallytheteacherisnotundertheconditionoftheroom,EDAonlyacheckmaterial.Carefullyreadtheprogram,theprogramthatactuallycomplexiscomposedbysomesimpleprocedureoffeeling,don'tunderstandjustbecausethebasicknowledgeinfrontofgrammar,didn'tgraspnotfamiliarwithcanwellunderstandthemeaningofprogram..
InthedesignprocessisnowturningtorecallthatIthinktherearestillalotofdeficiencies,doanythingwhenyoustartabroaderview,butshouldbestartedbecauseIhaven'tconsideredfully,wedesignthemoduleinfourkeycontrolinitializeprograms,andthenfoundthattheprogramisverydetailed,andtheclassshouldhavecontactwithrealgood,whosemicrowaveovenisinitializedjuststartedallhavesomanybuttons,sonotonlyuglyandcomparisonconsumptionofresources,usealsoisnotthemostconvenient,soitischooseafteranalyzingtheusebytwobuttonscanadvanceinitializationfunctionofdata.Sointhefuturedesignworkalsolearntohavethevision.
Atthesametimetwobuttonsandwritingtestismetmoretrouble,alwaysoutputofdatathatisdue,inthemiddleoftheJIANJISHUmoduleandhavenoresetsignal,suchadifficult.Thengotosolvetheproblemofmiddlesignalprocess,letmehaveaprofoundunderstanding.
Throughthiscoursedesignmakesmeunderstandthecombiningtheorywithpracticeisveryimportant,onlythetheoreticalknowledgeisnotenough,onlycombinetheoriesandpractice,fromtheorycombiningconcludedthatcantrulyforthesocialservice,soastoimprovetheirpracticalabilityandtheabilityofindependentthinking.Intheprocessofdesignproblems,maybedifficult,thefirstofall,hardtoavoidcanmeetvariousproblemsintheprocessofdesign,andfoundhisshortcomings,learnedknowledgeindeepunderstandingwhichisnotenough.
Ingeneral,thedesignofthedigitalstopwatchissuccessfulinthedesign,metwithmanyproblems,atlast,undertheguidanceofteachershardly,andfinallysolved,asmallaccomplishment,thefinalfeltatordinarytimesofknowledgehaspracticalvaluetothecombinationoftheoryandpractice,notonlylearnedalotofknowledge,andexerciseourabilitytomakewayformyselfaclearerunderstandingandhavemoreconfidenceinthefuture.
六、程序
—————————————微波炉定时控制器程序————————————
第一部分:
TOP(顶层文件)
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_unsigned.all;
entitytopis
port(rest,clk1,clk2,move,startt,testt:
instd_logic;
lighto:
outstd_logic;
sel:
outstd_logic_vector(2downto0);
seg:
outstd_logic_vector(7downto0));
end;
architecturethreeoftopis
componentfenpinis
port(clk:
instd_logic;分频
outclk,screen:
outstd_logic);
endcomponent;
componentfirstis
port(clk,able,res,test:
instd_logic;初始化数据
o1,o2,o3,o4,o5:
outstd_logic_vector(3downto0));
endcomponent;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 课程设计 微波炉 定时 设计