数字逻辑课程设计-—数字钟.doc
数字逻辑课程设计数字钟班级:计114学号:119074122姓名:石险峰指导老师:苏小虎一、 任务与要求设计任务:设计一个具有整点报时功能的数字钟要求:1、设计一个有“时”、“分”、“秒”(23小时59分59秒)显示且有校时功能的数字钟。 2、有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间。3、计时过程具有整点报时功能,当时间到达整点前10秒进行报时。4、用中小规模集成电路组成数字钟,并在实验箱上进行组装、调试。5、画出框图和逻辑电路图。功能:1、计时功能: 要求准确计时,以数字形式显示时、分、秒的时间。小时的计时要求为“23翻1”。2、校时功能: 当数字钟接通电源或者计时出现误差时,需要校正时间(简称校时)。校时是数字钟应具备的基本功能,一般电子手表都具有时、分、秒等校时功能。3、整点报时: 每当数字钟计时快要到整点时发出声响,此实验设计当时钟计时到59分50秒时开始报时,持续10秒。二、设计方案电路组成框图:图1 数字钟电路组成框图数字钟电路是一个典型的数字电路系统,其由时、分、秒计数器以及校时和显示电路组成。其主要功能为计时、校时和报时。利用60进制和24进制递增计数器子电路构成数字钟系统,由2个60进制同步递增计数器完成秒、分计数,由24进制同步递增计数器完成小时计数。秒、分、时之间采用同步级联的方式。按键func_sel产生单脉冲,控制数字钟在计时/校时/校分/校秒四个状态间切换。报时功能为整点来临时蜂鸣器发出声响。三、设计和实现过程1. 各部分电路的设计过程(1)时分秒计数器的设计时间计数电路由秒个位和秒十位计数器、分个位和分十位计数器及时个位和时十位计数器电路构成,其中秒个位和秒十位计数器、分个位和分十位计数器为60进制计数器,而根据设计要求,时个位和时十位计数器为24进制计数器。秒/分钟显示电路 :由于秒钟与分钟的都是为60进制的,所以它们的电路大体上是一样的,都是由一个10进制计数器和一个6进制计数器组成;有所不同的是分钟显示电路中的10进制计数器的ENP和ENT引脚是由秒钟显示电路的进位信号控制的。分和秒计数器都是模M=60的计数器,其计数规律为0001585900 。可选两片74LS160设计较为简单。 时计数器是一个“23翻0”的特殊进制计数器,即当数字钟运行到23时59分59秒时,秒的个位计数器再输入一个秒脉冲时,数字钟应自动显示为00时00分00秒,实现日常生活中习惯用的计时规律。可选两片74LS160设计。图 2 60进制同步递增计数器 图3 24进制同步递增计数器(2) 校时电路的设计校时模块采用AHDL语言描述,源码如下:SUBDESIGN COUNT_CONTROL(FUNC_SEL:INPUT;SETN:INPUT;SEC_CO,MIN_CO:INPUT;SEC_EN,MIN_en,HOUR_EN:OUTPUT;)VARIABLEQ1.0:DFF;BEGINQ.CLK=FUNC_SEL;Q=Q+1;IF(q>3)THEN Q=0;END IF;CASE Q ISWHEN 0=>SEC_EN=VCC; MIN_EN=SEC_CO; HOUR_EN=MIN_CO;WHEN 1=>SEC_en=gnd; min_en=gnd; hour_en=!setn;when 2=>sec_en=gnd; min_en=!setn; hour_en=gnd;when 3=>sec_en=!setn; min_en=gnd; hour_en=gnd; end case;end; (3)整点报时电路的设计因报时须在59分50秒开始,故可在分计时电路引出“5”“9”状态,秒计时电路引出“5”“0”状态,用与门连接后即可接到蜂鸣器,起到报时作用。电路部分截图如下:图 5 报时电路(4)显示电路及完整原理图图表 1显示电路1/相关器件源码counter6subdesign counter6(clk:input;q2.0:output;)variabless:machine of bits(q2.0)with states(s0=0, s1=1, s2=2, s3=3, s4=4, s5=5);beginss.clk=clk;tabless=>ss;s5=>s4;s4=>s3;s3=>s2;s2=>s1;s1=>s0;s0=>s5;end table;end;select_dispsubdesign select_disp(sel2.0:input;in03.0:input;in13.0:input;in23.0:input;in33.0:input;in43.0:input;in53.0:input;out3.0:output;)begincase sel iswhen 0=>out=in0;when 1=>out=in1;when 2=>out=in2;when 3=>out=in3;when 4=>out=in4;when 5=>out=in5;end case;end;deledSUBDESIGN deled(num3.0:INPUT;a,b,c,d,e,f,g:OUTPUT;)BEGINTABLENUM3.0=>a,b,c,d,e,f,g;H"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,1;H"6" =>1,0,1,1,1,1,1;H"7" =>1,1,1,0,0,0,0;H"8" =>1,1,1,1,1,1,1;H"9" =>1,1,1,1,0,1,1;H"A" =>1,1,1,0,1,1,1;H"B" =>0,0,1,1,1,1,1;H"C" =>1,0,0,1,1,1,0;H"D" =>0,1,1,1,1,0,1;H"E" =>1,0,0,1,1,1,1;H"F" =>1,0,0,0,1,1,1;END TABLE;END;图表 2数字钟原理图3.部分电路的仿真图(1)秒向分产生进位时,秒计数器高位计满,分进位信号的波形(2)分向时产生进位时,分计数器高位计满,时进位信号的波形(3)时计数器(24进制)的输出波形(4)整点时,报时输出信号的波形图中由低电平变为高电平的时刻为分钟59秒钟为50的时刻,持续十秒为高电平,意为报警显示。4.实物电路组装调试的方法、调试过程及遇到的问题:根据电路图进行实物的连接。首先分别进行秒、分、时电路的连接,进行调试,实现成功后再进行校时电路的连接,检验分校时的开关是否正确,然后检验时校时的开关。最后连接报时电路。连接完成将分调到59分,观察当秒为50时是否发声报警。调试分、秒时,如果到59后立刻清零则表示运行正常。调试小时部分时,如果在计数到23,下一时刻就清零则表示运行正常。校时电路的调试为按下逻辑开关后,所对应的校时部分和秒同步,再按下后则停止。报时电路的调试为:先将分调到59分,在秒到50时,蜂鸣器发出声响,持续十秒。电路连接好后,打开电源有时会出现LED数码显示不稳定的现象,可能是数字电子技术试验箱接触不良的问题。5.设计结论此次的数字钟设计需要先进行仿真,再将电路连接出来,只有熟悉逻辑电路及其芯片各引脚的功能,那么在电路出错时便能准确地找出错误所在并及时纠正了。四、经验、体会总结在此次的数字钟设计过程中,让我更深刻的了解的各个计数器寄存器等等的器具,能跟好的使用它们,能更进一步地熟悉了相关芯片的结构及掌握了各芯片的工作原理和其具体的使用方法.在连接六进制,十进制,六十进制的进位及二十四进制的接法中,要求熟悉逻辑电路及其芯片各引脚的功能. 此次的数字钟设计重在于仿真和接线。总的来说,通过这次的设计实验更进一步地增强了实验的动手能力。