北邮大三上学期数字电路综合实验报告.docx
- 文档编号:9583548
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:55
- 大小:889.57KB
北邮大三上学期数字电路综合实验报告.docx
《北邮大三上学期数字电路综合实验报告.docx》由会员分享,可在线阅读,更多相关《北邮大三上学期数字电路综合实验报告.docx(55页珍藏版)》请在冰豆网上搜索。
北邮大三上学期数字电路综合实验报告
数字电路综合实验报告
学院:
信息与通信工程学院
班级:
201*******
班内序号:
**
学生姓名:
****
学号:
201*******
一:
设计课题的任务要求-------------------------------------------------------------------------------3
大体要求:
------------------------------------------------------------------------------3
提高要求:
------------------------------------------------------------------------------3
二:
系统设计(包括设计思路、整体框图、分块设计)------------------------------------------3
设计思路:
-------------------------------------------------------------------------------3
整体框图:
-------------------------------------------------------------------------------4
分块设计:
------------------------------------------------------------------------------4
1:
分频器------------------------------------------------------------------4
2:
防抖模块---------------------------------------------------------------5
3:
模式调剂模块---------------------------------------------------------5
4:
手动按时&默许按时模块------------------------------------------7
5:
倒计时模块------------------------------------------------------------8
6:
火力调剂模块---------------------------------------------------------8
7:
数码管驱动模块------------------------------------------------------9
8:
led显示模块----------------------------------------------------------10
9:
关机模块---------------------------------------------------------------11
10:
蜂鸣器模块----------------------------------------------------------11
11:
点阵显示模块-------------------------------------------------------11
三:
仿真波形及波形分析--------------------------------------------------------------------------------12
1:
分频器-----------------------------------------------------------------12
2:
模式选择模块--------------------------------------------------------13
3:
按时模块--------------------------------------------------------------13
4:
倒计时模块-----------------------------------------------------------14
5:
火力调剂模块--------------------------------------------------------14
6:
led显示模块---------------------------------------------------------15
7:
蜂鸣器模块-----------------------------------------------------------15
四:
源程序--------------------------------------------------------------------------------------------------16
总程序结构和原理图------------------------------------------------------------------16
各部份程序结构原理图---------------------------------------------------------------18
1:
分频器-----------------------------------------------------------------18
2:
防抖模块--------------------------------------------------------------20
3:
模式操纵模块--------------------------------------------------------20
4:
按时&倒计时模块---------------------------------------------------23
5:
火力调剂模块--------------------------------------------------------28
6:
数码管显示模块-----------------------------------------------------30
7:
led显示模块---------------------------------------------------------32
8:
关机模块-------------------------------------------------------------33
9:
蜂鸣器模块-----------------------------------------------------------34
10:
点阵显示模块------------------------------------------------------34
五:
功能说明-----------------------------------------------------------------------------------------------38
六:
元件清单和利用情形--------------------------------------------------------------------------------38
七:
故障和问题分析--------------------------------------------------------------------------------------39
八:
总结和结论--------------------------------------------------------------------------------------------40
一:
设计课题的任务要求
设计制作一个简易电磁炉操纵器。
大体要求:
1、烹饪模式选择:
电磁炉的烹饪模式有暖锅、煎炒、爆炒、煲汤和蒸炖五档可选。
用一个按键(BTN7)实现烹饪档位的选择(按下此键依上述顺序依次转变),用点阵显示当前的烹饪档位(暖锅显示H、煎炒显示J、爆炒显示B、煲汤显示T和蒸炖显示Z),烹饪档位的选择按键同时也是加热的开始按键,即烹饪档位选定的同时电磁炉就以最大功率开始加热,没有选择时电磁炉处于停止状态,点阵不显示。
2、火力调剂:
电磁炉的火力分5档可调:
1900W-1500W-1100W-600W-100W,用数码管DISP3-DISP0显示当前的火力,用两个按键(BTN6和BTN5)实现火力的增加或减少,烹饪进程中,除爆炒模式外,其它模式均能够随时能够调剂火力,爆炒模式只能以最高功率加热。
3、按时功能:
用一个按键(BTN4)实现按时设置,按下按时键,蜂鸣器响一声,每按一次按时键,定不时刻以5-10-30-60秒钟的顺序依次递增,按时设定完毕后,电磁炉开始倒计时。
用数码管DISP5和DISP4显示按时档位和倒计时的进程,倒计不时刻到后,电磁炉自动停止加热并关机。
4、不进行按时操作时,电磁炉以默许加热时刻进行加热。
蒸炖模式的默许时刻为20秒钟;爆炒模式的默许时刻是3秒钟,爆炒3秒钟后自动返回煎炒模式;其他模式的默许时刻为90秒。
5、用点亮的发光二极管LD4表示开机加热,熄灭表示关机。
6、设置关闭键,任何时候按下关闭键即可将电磁炉关机。
提高要求:
1、用8个LED灯作为加热进度显示条,随着加热时刻的增加匀速增加点亮LED灯的个数,不管加热时刻是多长,最后都必需将8个LED灯全数点亮。
2、自拟其它功能。
二:
系统设计(包括设计思路、整体框图、分块设计)
设计思路
要紧考虑问题:
第一依如实验的大体要求,能够明白至少需要三个状态机操纵电磁炉的工作状态。
第一是电磁炉工作模式的选择:
一种有五种为暖锅、煎炒、爆炒、煲汤和蒸炖,而且它们随着按键按下的而循环转换。
第二是按时的选择:
随着按时键的按下别离5-10-30-60秒钟的顺序依次递增。
最后是关于功率的选择:
1900W-1500W-1100W-600W-100W的转换能别离通过功率增加键和功率减少键实现操纵。
可是咱们还要在上述大体思想下注意如下几个问题:
1:
由于键盘输入不稳固,数字跳变太快,因此需要加键盘防抖模块。
2:
键盘防抖模块需要特殊的频率,因此分频器模块不止一个。
3:
由于不同模式下关于按时和不按时,功率可否调剂都有阻碍,因此不能只简单地设计循环的状态转变,而是模式操纵的输出还要能阻碍后续按时模块的设定和功率模块的设定。
因此模式操纵模块和按时选择和火力选择模块都是信号串行而不是并行的关系,这一点在整个程序的设计中超级重要。
同时还要注意到的确实是,在按时和不按时的时候,输出的倒计不时刻是不一样的,因此需要两个模块来完成关于倒计时的操纵进程。
综上,要紧涉及以下几个模块。
分频器,键盘防抖模块,操纵器,数字译码,数码管显示模块,led进度显示模块,火力选择和显示模块,倒计时模块,蜂鸣器模块。
整体框图
分块设计
一、分频器:
100hz是时刻输入防抖和倒计时所用频率,10khz是蜂鸣器发声所用。
由于实验倒计时不是直接利用1hz信号进行倒计时,因此没有设计1hz的分频器。
为了节省资源,两个分频器实行串联结构,由前一个分频器取得的1khz信号进入下一个分频器从而取得100hz,而不是直接从50Mhz分频取得。
二、防抖模块:
此防抖模块需要加入到所有按键输入的后一级,以使得每一次从按键输入的电平都能转换成持续时刻为的高电平,从而使得元件内部的信号频率稳固,有利于整个程序的良好运行。
由于一共利用了5个按键别离操纵模式转变(BTN7),火力调剂(BTN6和BTN5),按时选择(BTN4)和关机键(BTN3),因此一共需要五个防抖模块,而且彼此之间没有不同。
3、模式调剂模块:
输入时钟信号为分频取得的1khz时钟信号,而输入的模式转换信号、时刻选择信号和reset(关机信号),输出的是模式选择取得的加热状态信号,一共有6种,除去已经提到的5种加热状态外还加上关机状态。
该模块能够实现的功能是:
当没有加热时,state输出000信号。
现在modecontrol有信号输入时,state信号输出001;当继续modecontrol有输入信号时,state完成001-010-011-100-101的循环输出。
而在此进程中reset有信号输入时,state跳回000状态。
另外,若是state输出011(爆炒)进程中,timecontrol(倒计时是不是到0,是那么为’1’)成为’1’时,那么state的输出从011跳回010。
其余state状态下假设timecontrol=’1’,那么state输出变成000,即返回到关机状态。
状态转移图如下所示:
其中的代表各类状态的圆圈中的字母代表加热模式:
C是关机模式,H是暖锅模式,J是煎炒模式,B是爆炒模式,T是煲汤模式,Z是蒸炖模式。
表示状态转移的线上箭头上标注黄色“1”表示转移条件是:
modecontrol=1,而且输出state依照箭头指向的下一个状态的编号决定;线上标注绿色“2”表示转移条件是:
reset=1,输出state=000;线上标注蓝色“3”表示转移条件是:
timecontrol=1,输出state=010。
4、手动按时和默许按时模块:
手动按时模块:
默许按时模块:
关于手动按时模块:
由于模式信号关于按时后的输出没有阻碍,因此只需要在该模块下设置状态机,在时钟信号边沿触发时,实现每按下按时键一次,怎能够实现倒计时5s-10s-30s-60s-原默许时刻的周而复始。
除按时键之外,还需要加上一个reset键,使得每次按下此键时都能够关闭该模块使得输出为0。
另外还需要有一个norder信号输出作为是不是处于手动按时状态的标记。
若是已经手动按时,那么norder=’1’,不然norder=’0’仍旧依照默许时刻进行倒计时。
timeset为输出的倒计时初始值。
手动按时模块状态转移图:
其中表示状态的圆圈中s后所跟的数字即代表手动按时的倒计时初始值。
由于s0表示默许倒计时,因此以为在手动按时模块那个值为0,目的是配合默许按时模块工作避免犯错。
表示状态转移的线上,黄色“1”表示转移条件是ordercontrol=1,输出timeset确实是箭头所指向的下一个状态中s所跟的数字值;绿色“2”表示转移条件是reset=1,输出timeset为0,表示停止工作。
输出的另外一路信号norder在所有指向s0的转移情形下均取值为0,其余情形都取值为1。
关于默许按时模块:
由于模式信号关于不曾按时的时刻倒计时初始值有阻碍,因此state信号应该作为该模块的操纵信号。
当按下reset键后,一样要使得倒计时初始值回到是该模块输出的倒计时初始值。
五、倒计时模块:
关于倒计时模块:
第一要声明,由于该模块不是直接利用1hz信号作为倒计时信号而是利用1khz信号,因此实质是每次上升沿到来时刻那么内部信号计数加1,每增加1000,那么计数器的数量减1,从而实现用非1hz信号达到1hz倒计时的进程。
输入的timeset信号是默许按时模块和手动按时模块两路timeset信号逻辑相“或”后,即数字上相加后的信号。
由于两模块的设定,两路timeset信号可不能同时不为全0,即在某一个时刻点timeset即为默许按时初始信号或手动按时初始信号二者之一,而可不能彼此叠加。
reset信号依旧是清零信号。
另外,输入端的reset信号既是关机信号,也是状态跳转信号。
在该模块之前,有一个或逻辑门连接在关机模块(模块9,后面有介绍)和状态跳转信号,输出的即关于倒计时模块来讲的状态跳转信号。
假设在关机条件下,在timeset信号引导下倒计时初始为0;假设只是倒计时重设,那么在timeset的引导下倒计时会初始化到相应的时刻值。
在输出端,timecontrol状态跳转信号,用于爆炒模式自动转换为煎炒模式,输出至模式操纵模块。
close信号是关闭信号,当倒计时到0时,此信号输出低电平,不然输出高电平。
此模块会进一步初入关闭模块,操纵整个进程的通断。
leftimetemp为剩余时刻,那个信号输出至进度条模块与数码管模块,作为实质操纵电路硬件的信号。
六、火力调剂模块:
在输入端:
除时钟信号clk1khz之外,up使得功率增强,而down使得功率减小。
那个功能很容易能够通过状态机实现。
另外state信号是模式选择模块的输出信号,在state全0时不可调剂。
在state为011时功率只能为最大且不能改变。
其他四种state信号下都能够自由改变。
reset信号为关机信号。
在输出端:
out信号即能够操纵数码管,输出四位数字,out1~4代表高位到低位,用BCD码表示。
火力调剂状态转移图:
图中表示状态的圆圈中字母f后面所跟的数字确实是输出的功率数值。
表示状态转移的线上枣红色“1”表示转移条件为down=1;表示状态转移的线上蓝色“2”表示转移条件是up=1;
需要注意的是那个图仅适用于state非000且非011(又不是关机状态,又不是爆炒状态)的情形。
7、数码管驱动模块:
要紧分成三个部份:
(1)倒计时部份的数码管输出:
输入信号input是倒计时模块取得的剩余时刻信号lefttimetemp信号。
在输出端,outen,outone用于分离显示倒计时(秒)的十位与个位,输出至数码管模块。
以后这两路信号将连接到总数码管显示的输入端。
(2)功率部份的数码管输出:
这一部份在火力调剂模块已经输出,只需将这四路输出信号out1~4和倒计时输出两路信号outen,outone连接到总数码管显示输入端即可,再也不赘述。
(3)总数码管输出:
在输入端:
no1,no2,no3,no4,no5,no6是从上述两个子模块取得的数码管需要显示的六个输入信号。
count6in选择操纵信号,由0~5的六位循环加法器输入,count6即六位循环加法器。
在输出端:
selectout将数据选择器取得的数码管显示结果输出。
cat选择数码管亮的操纵信号,应在时钟信号每一个上升沿到来之际,使得六个数码管被逐个扫描显示。
八、led显示模块:
在输入端:
lefttime即倒计时剩余时刻信号,timeset是在该倒计时模式下(默许或手动按时后)初始的倒计时数值。
reset是关机信号。
在输出端:
light信号和led的8个显示灯相连。
该模块完成的功能是,led显示灯的个数代表加热剩余时刻的长短,剩余个数越多,那么代表剩余时刻相关于按时数值的比例越大。
刚开始倒计不时候,led的8个灯全数都亮,而随着计时接近尾声,led灯亮的个数逐个减少,直至倒计时为0时led灯全灭。
该模块的本质是将剩余加热时刻和8做数乘,取得的数再和原设定倒计时的初始值做除法,取得的商确实是亮灯的个数。
在刚开始加热时,此商为8,代表八盏都亮,直到最后即将倒计时至0时,此商也从8减至0,最后八盏全灭。
九、关机模块:
输入端:
除时钟信号clk外,closecontrol是用户关闭操纵信号(BTN4),orderclose是倒计时完毕产生的关闭信号,而modecontrol是模式选择信号同时也是开机信号,当用户按BTN7时开机。
输出端:
resetall:
关闭所有模块,输出至所有模块,操纵其他模块的开关状态。
10、蜂鸣器模块:
输入端:
除时钟信号clk1kHz外,input是输入的信号,来自用户按时输入(BTN4)即按时信号。
reset是复位(关闭)信号,来自关闭模块。
输出端:
output连接到蜂鸣器,能够完成每按下BTN4,都能够使得蜂鸣器发出蜂鸣声。
其原理是在时钟上升沿到来之际,若是BTN4有输入信号,那么内部有一个计数器能够自动从0自增,同时output输出高电平。
当那个计数器计数到不小于10现在,即便BTN4再有输入信号,output也可不能继续输出高电平而输出低电平,从而实现了蜂鸣器信号的产生。
固然每次reset信号为高电平常,内部计数器都会归零以预备下一次计数。
1一、点阵显示模块:
输入端:
除输入的时钟信号外,state信号是从模式选择的输出信号,操纵点阵的显示。
reset是从关机模式取得的信号,操纵点阵显示模块的开关。
输出端:
row是点阵显示的行,而col是点阵显示的列。
它们在一路彼此作用,操纵一共64个二极管的开关。
在该模块内部,事实上利用了一个八进制计数器操纵每一次时钟信号到来时,被扫描显示的行和列。
其中row被逐个扫描显示,col的扫描点那么是通过state对其进行操纵显示,使得在不同模式下显示出不同的字母。
三:
仿真波形及波形分析
1、分频器:
这次截取的是十分频的分频器仿真波形图,用于从1khz分频取得100hz的信号。
从图中能够看出来,输出信号是输入信号周期是10倍,故频率是输出信号的1/10。
需要注意的是,本分频器没有采纳50%百分比的输出。
从上述波形能够看到,分频器达到了分频的要求。
而将原有50Mhz信号进行50000分频,又能够取得1khz信号,原理相同,再也不赘述和附图。
2、模式选择模块:
模式选择模块完成的功能:
在已经开机下按reset那么返回到等待状态(关机状态),在已经开机以后再次按模式键那么加热模式一次跳转。
可是若是在模式3下若是timecontrol为高电平,那么模式跳回2。
3、按时模块:
在按下按时键后那么依照顺序按时,若是没有按下按时刻那么依照默许时刻倒计时。
上图仿真的是在爆炒模式下按时刻没有作用的进程。
由于时钟信号相关于倒计时相差太多,咱们无法看清楚里面一些具体的信号转变。
可是具体操作时的确能够符合题目和任务的要求。
4、倒计时模块:
从上述图能够看到,当reset信号为高电平常,假设timeset信号是什么,剩余时刻信号那么从预定的时刻开始在时钟上升沿到来的时候发生递减。
由于本程序倒计时并非直接采纳1hz时钟,而是用1khz时钟,故而lefttimetemp作为输出应该能够最大达到90000,即需要16位二进制数表示。
该模块能够符合预定的功能。
5、火力调剂模块:
每次改变模式state后输出功率都会返回到默许数值。
而按下down和up时,在火力没有达到最小值100和最大值1900时,会依照设定减小或增大。
输出信号out4~out1输出的确实是功率从高位到低位的数值。
六、led显示模块:
上述仿真图是在按时为4s时候的仿真波形。
因为没有方法在lefttime加入从初始数值为4000的倒计数的信号,因此其实在仿真时加入的lefttime表示的“剩余时刻”是慢慢增加的,故而应该仿真结果呈现出led灯逐个被开启的进程。
能够看到若是不从头设置时刻的话,随着时钟信号的作用,led灯逐个开启(高电平为led灯开启状态)。
只是缺点是毛刺有点多,实际下载到仿真板上是,由于毛刺和冒险持续时刻很短,大体能够被忽略不计。
八、蜂鸣器模块:
能够依照上图看到,每次有按时信号输入时,都会引发输出端连接到蜂鸣器的信号output产生一段时刻的高电平,且高电平的持续时刻比输入按时信号时刻更长一些,而且那个时刻也是一个定值。
符合设计要求。
九、整体仿真:
由于本次实验中分频器分频设置过大,用QuartusII软件无法正确实现仿真,超级抱歉。
四:
源程序
总程序结构和原理图:
总原理图
说明:
图中和结构图中的模块对应相
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大三 学期 数字电路 综合 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)