欢迎来到天天文库
浏览记录
ID:53584571
大小:259.50 KB
页数:11页
时间:2020-04-04
《数字逻辑课程设计-—数字钟.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、数字逻辑课程设计—数字钟班级:计114学号:119074122姓名:石险峰指导老师:苏小虎-11-一、任务与要求设计任务:设计一个具有整点报时功能的数字钟要求:1、设计一个有“时”、“分”、“秒”(23小时59分59秒)显示且有校时功能的数字钟。2、有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间。3、计时过程具有整点报时功能,当时间到达整点前10秒进行报时。4、用中小规模集成电路组成数字钟,并在实验箱上进行组装、调试。5、画出框图和逻辑电路图。功能:1、计时功能:要求准确计时,以数字形式显
2、示时、分、秒的时间。小时的计时要求为“23翻1”。2、校时功能:当数字钟接通电源或者计时出现误差时,需要校正时间(简称校时)。校时是数字钟应具备的基本功能,一般电子手表都具有时、分、秒等校时功能。3、整点报时:每当数字钟计时快要到整点时发出声响,此实验设计当时钟计时到59分50秒时开始报时,持续10秒。二、设计方案-11-电路组成框图:图1数字钟电路组成框图数字钟电路是一个典型的数字电路系统,其由时、分、秒计数器以及校时和显示电路组成。其主要功能为计时、校时和报时。利用60进制和24进制递增计数器子电路
3、构成数字钟系统,由2个60进制同步递增计数器完成秒、分计数,由24进制同步递增计数器完成小时计数。秒、分、时之间采用同步级联的方式。按键func_sel产生单脉冲,控制数字钟在计时/校时/校分/校秒四个状态间切换。报时功能为整点来临时蜂鸣器发出声响。三、设计和实现过程1.各部分电路的设计过程(1)时分秒计数器的设计-11-时间计数电路由秒个位和秒十位计数器、分个位和分十位计数器及时个位和时十位计数器电路构成,其中秒个位和秒十位计数器、分个位和分十位计数器为60进制计数器,而根据设计要求,时个位和时十位计
4、数器为24进制计数器。秒/分钟显示电路:由于秒钟与分钟的都是为60进制的,所以它们的电路大体上是一样的,都是由一个10进制计数器和一个6进制计数器组成;有所不同的是分钟显示电路中的10进制计数器的ENP和ENT引脚是由秒钟显示电路的进位信号控制的。分和秒计数器都是模M=60的计数器,其计数规律为00—01—…—58—59—00…。可选两片74LS160设计较为简单。时计数器是一个“23翻0”的特殊进制计数器,即当数字钟运行到23时59分59秒时,秒的个位计数器再输入一个秒脉冲时,数字钟应自动显示为00时
5、00分00秒,实现日常生活中习惯用的计时规律。可选两片74LS160设计。图260进制同步递增计数器-11-图324进制同步递增计数器(2)校时电路的设计校时模块采用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;-11-Q[]=Q[]+1;IF
6、(q[]>3)THENQ[]=0;ENDIF;CASEQ[]ISWHEN0=>SEC_EN=VCC;MIN_EN=SEC_CO;HOUR_EN=MIN_CO;WHEN1=>SEC_en=gnd;min_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;(3)整点报时电路的设计因报时须在59分50秒开始,故可在分计时电路
7、引出“5”“9”状态,秒计时电路引出“5”“0”状态,用与门连接后即可接到蜂鸣器,起到报时作用。电路部分截图如下:-11-图5报时电路(4)显示电路及完整原理图图表1显示电路-11-1/相关器件源码counter6subdesigncounter6(clk:input;q[2..0]:output;)variabless:machineofbits(q[2..0])withstates(s0=0,s1=1,s2=2,s3=3,s4=4,s5=5);-11-beginss.clk=clk;tabless=
8、>ss;s5=>s4;s4=>s3;s3=>s2;s2=>s1;s1=>s0;s0=>s5;endtable;end;select_dispsubdesignselect_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]:input;out[3..0]:output;)b
此文档下载收益归作者所有