资源描述:
《数字逻辑课程设计1》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数字逻辑课程设计班级:计09*学号:099074***姓名:***数字时钟一、设计要求1.显示时分秒的十进制数字显示,采用24小时制。2.校时功能。3.报时功能。二、设计过程1.功能简介:数字中实际是一个对标准1Hz信号进行计数的计数电路,下图是数字钟系统的框图。手动校时1kHz时钟信号校时模式选择分频器时、分、秒计数器模块校时模块时钟数码显示扫描、译码器模块蜂鸣器振荡器产生的时钟信号经过分频器形成秒脉冲信号,秒脉冲信号输入计数器进行计数,并把累计结果以“时”、“分”、“秒”的数字显示出来。秒计数器电路计满60后触发分计数器电路,分
2、计数器电路计满60后触发时计数器电路,当计满24小时后又开始下一轮的循环计数。当时钟时间与标准时间不同时,可通过校时电路进行校时:K1键,模式选择,选择校时状态,第一次为校时,第二次较分,第三次较秒。K2键,手动校时,按住不放时调整时间,松开停止调整。另外,计时过程要具有报时功能,当时间到达整点时,蜂鸣器响1次。2.数字钟结构设计:(1)分频器电路模块:counter1k主体结构由三块74160计数器级联而成。输入为1kHz时钟信号,即可产生输出1Hz和100Hz两种方波信号。画好原理图后,将其设置成可调用元件,以备高层设计使用。(
3、2)小时计数模块:hour小时计数模块有两块74160级联组成24进制计数器,每一小时计数一次,即当分和秒为“59分59秒”,在下一个脉冲作用下,该模块计数一次。计数器只显示0h—23h,当计数器运行到“23时59分59秒”时,在下一个脉冲作用下,数字中将显示“00时00分00秒”。画好原理图后,将其设置成可调用元件,以备高层设计使用。(3)分秒计数模块:min、sec分秒计数器都是有两块74160级联而成的60进制计数器。分钟计数器每一分钟计数一次,即当秒为“59秒”,在下一个脉冲作用下,该模块计数一次。计数器只显示0m—59m。
4、秒计数模块在一个时钟信号下计数一次,计数器只显示0s—59s。画好原理图后,将其设置成可调用元件,以备高层设计使用。(4)校时电路模块:count_control创建文本输入文件,把校时电路模块的HDL输入文本,并创建该元件。(5)选择扫描模块:select_disp创建文本输入文件,把该模块的HDL输入文本,然后创建该元件。(6)七段译码器模块:deled创建文本输入文件,把七段译码器的HDL输入文本,然后创建该元件。三、成果1.总电路原理图:2.分频器模块电路原理图:3.小时计数模块原理图:4.分钟计数模块原理图:5.秒钟计数模
5、块原理图:6.校时电路模块AHDL:subdesigncount_control(func_sel:input;setn:input;sec_co,min_co:input;sec_en,min_en,hour_en:output;)variableq[1..0]:dff;beginq[].clk=func_sel;q[]=q[]+1;if(q[]>3)thenq[]=0;endif;caseq[]iswhen0=>sec_en=vcc;min_en=sec_co;hour_en=min_co;when1=>sec_en=gnd;m
6、in_en=gnd;hour_en=!setn;when2=>sec_en=gnd;min_en=!setn;hour_en=gnd;when3=>sec_en=!setn;min_en=gnd;hour_en=gnd;endcase;end;7.select_disp模块AHDL:subdesignselect_disp(sel[2..0]:input;in0[3..0]:input;in1[3..0]:input;in2[3..0]:input;in3[3..0]:input;in4[3..0]:input;in5[3..0]:
7、input;out[3..0]:output;)begincasesel[]iswhen0=>out[]=in5[];when1=>out[]=in4[];when2=>out[]=in3[];when3=>out[]=in2[];when4=>out[]=in1[];when5=>out[]=in0[];endcase;end;8.deled模块AHDL:SUBDESIGNdeled(num[3..0]:INPUT;a,b,c,d,e,f,g:OUTPUT;)BEGINTABLEnum[3..0]=>a,b,c,d,e,f,g;H
8、"0"=>1,1,1,1,1,1,0;H"1"=>0,1,1,0,0,0,0;H"2"=>1,1,0,1,1,0,1;H"3"=>1,1,1,1,0,0,1;H"4"=>0,1,1,0,0,1,1;H"5"=>1,0,1,1,0,1,