第一篇:数字钟课程设计
ORG 0000H SJMP ONE ORG 0003H LJMP ELEVEN ORG 000BH LJMP NINE ORG 001BH LJMP TEN ONE:LED12 EQU 30H;数码管12显示缓存 LED34 EQU 31H;数码管34显示缓存 LED56 EQU 32H;数码管56显示缓存
COUNT EQU 33H;定时器T0(用来走时)计数值存储器(计数中断20次到1秒)COUNTS EQU 34H;定时器T1(用来预置)计数值存储器(计数中断15次到预置值加一)HOUR EQU 40H;以下为时间,日期,闹铃时间,生日的存储地址 MIN EQU 41H SECOND EQU 22H YEAR EQU 50H MONTH EQU 23H DAY EQU 52H RH EQU 60H;闹铃小时 RM EQU 61H;闹铃分 RE EQU 62H;闹铃使能 BM EQU 71H;生日-月份 BD EQU 72H;生日-天 MOV LED12,#0 MOV LED34,#0 MOV LED56,#0 MOV COUNT,#0 MOV COUNTS,#0 MOV HOUR,#0 MOV MIN,#0 MOV SECOND,#0 MOV YEAR,#0 MOV MONTH,#1 MOV DAY,#1 MOV RH,#0 MOV RM,#0 MOV RE,#0 MOV BM,#6 MOV BD,#1 BS BIT 00H;birthday symbol生日标志(到生日那天就为1)
SS BIT 01H;set symbol预置信号(按下中断预置为1,便开始闪烁和预置)GS BIT 02H;glisten symbol闪烁标志 FC BIT 03H;frequency control频率控制 NB BIT 04H;neglect bitrhday symbol 忽略生日标志 CLR BS CLR SS CLR GS CLR FC CLR NB SETB 05H;生日显示有效标志位 MOV IP,#02H;中断优先级:T0>INT0>T1 MOV TMOD,#11H MOV IE,#8BH SETB IT0 MOV TH0,#3CH;50ms MOV TL0,#0B0H SETB TR0 MOV R1,#50;显示延时用 MOV R0,#0;显示延时用
;************************************************************** TWO检测开关号 TWO:MOV P0,#0FFH JB P0.5,TWO1 MOV RE,#0A0H;0A0表示闹铃无效,送0A0是为了方便将使能查表显示,表中第A项为“-” SJMP TWO2 TWO1:MOV RE,#0A1H TWO2:JB P0.0,TWO4 JB P0.1,TWO3 MOV LED12,HOUR MOV LED34,MIN MOV LED56,SECOND SJMP THREE TWO3:MOV LED12,YEAR MOV LED34,MONTH MOV LED56,DAY SJMP THREE TWO4:JB P0.1,TWO5 MOV LED12,RH MOV LED34,RM MOV LED56,RE SJMP THREE TWO5:MOV LED12,BM MOV LED34,BD MOV LED56,#0BCH SJMP THREE;************************************** THREE显示主程序(同时包含了闹铃,预置闪烁,闹铃功能)THREE:MOV P1,#0 MOV P0,#0FFH MOV DPTR,#TAB3 JNB SS,THREEB;判断预置信号是否有效,预置有效则转入判断闪烁显示模块,否则转入正常显示模块
SJMP THREEA THREEB:LJMP THREE11;THREE11是正常显示并判断整点报时及闹铃模块
THREEA:JNB P0.3,THREE1;开始是判断闪烁显示,这句判断是否预置分/月/生日的日/闹铃分
JNB GS,THREE1;是否闪烁?
LCALL TWELVE;闪烁则调用延时不显示LED34 SJMP THREE4 THREE1:MOV A,LED34 ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE2:SETB P1.3 NOP DJNZ R0,THREE2 CLR P1.3 MOV A,LED34 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE3:SETB P1.2 NOP DJNZ R0,THREE3 CLR P1.2 JNB P0.2,THREE4;判断是否预置小时/年/生日月/闹铃的小时 JNB GS,THREE4;是否显示小时/年/生日月/闹铃的小时 LCALL TWELVE SJMP THREE7 THREE4:MOV A,LED12 ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE5:SETB P1.1 NOP DJNZ R0,THREE5 CLR P1.1 MOV A,LED12 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE6:SETB P1.0 NOP DJNZ R0,THREE6 CLR P1.0 JB P0.0,THREE7;数码管56只有在显示日期的天时才有预置闪烁功能,其余三项都不需要判断闪烁 JNB P0.1,THREE7 JB P0.3,THREE7 JNB P0.4,THREE7 JNB GS,THREE7 LCALL TWELVE SJMP THREE10 THREE7:MOV A,LED56 ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE8:SETB P1.5 NOP DJNZ R0,THREE8 CLR P1.5 MOV A,LED56 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE9:SETB P1.4 NOP DJNZ R0,THREE9 CLR P1.4 THREE10:DJNZ R1,TWOA SJMP TWOB TWOA:LJMP TWO TWOB:MOV R1,#50;判断闪烁一次是否完成 CPL GS;取反闪烁标志,用于控制闪烁的亮和灭 LJMP TWO;一轮显示完后再判断开关号;**************************正常显示
THREE11:LCALL EIGHT;判断是否取反P1.6即输出闹铃或整点报时,以下每次显示都要调用一次
JB NB,THREE12;如果是在整点报时状态就不显示生日提醒,报时过后显示提醒 JNB BS,THREE12 SJMP SEVEN;跳到生日提醒程序
THREE12:CLR NB;开始正常显示时间及判断闹铃输出 MOV A,LED34 ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE13:SETB P1.3 NOP DJNZ R0,THREE13 CLR P1.3 MOV A,LED34 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE14:SETB P1.2 NOP DJNZ R0,THREE14 CLR P1.2 LCALL EIGHT MOV A,LED12 ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE15:SETB P1.1 NOP DJNZ R0,THREE15 CLR P1.1 MOV A,LED12 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE16:SETB P1.0 NOP DJNZ R0,THREE16 CLR P1.0 LCALL EIGHT MOV A,LED56 ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE17:SETB P1.5 NOP DJNZ R0,THREE17 CLR P1.5 MOV A,LED56 SWAP A ANL A,#0FH MOVC A,@A+DPTR MOV P2,A THREE18:SETB P1.4 NOP DJNZ R0,THREE18 CLR P1.4 LJMP TWO;一轮显示完后判开关
TAB3:DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H 7FH,6FH,40H,7CH,5EH;0.1.2.3.4.5.6.7.8.9.-.b.d,的字形表“bd”在显示生日时间时显示在LED56;**************************************************SEVEN生日时显示生日祝福语“HAPPY” SEVEN:MOV P1,#01H MOV P2,#76H DJNZ R0,SEVEN SEVEN1:MOV P1,#02H MOV P2,#77H DJNZ R0,SEVEN1 SEVEN2:MOV P1,#04H MOV P2,#73H DJNZ R0,SEVEN2 SEVEN3:MOV P1,#08H MOV P2,#73H DJNZ R0,SEVEN3 SEVEN4:MOV P1,#10H MOV P2,#6EH DJNZ R0,SEVEN4 LJMP TWO;一轮显示完后判开关
;******************************************************************EIGHT判断是否闹铃子程序 EIGHT:MOV A,RE CJNE A,#0A1H,EIGHT1 MOV A,MIN CJNE A,RM,EIGHT1 MOV A,HOUR CJNE A,RH,EIGHT1 SJMP EIGHT4;闹铃时间到则CPLP1.6一次并忽略生日标志(即NB有效)EIGHT1:MOV A,MIN CJNE A,#59H,EIGHT7 MOV A,SECOND CJNE A,#59H,EIGHT5;是否等于59分59秒 EIGHT2:MOV A,COUNT;是否到达后半秒 CJNE A,#10,EIGHT3 EIGHT3:JC EIGHT7 EIGHT4:CPL P1.6 SETB NB SJMP EIGHT7 EIGHT5:MOV A,SECOND CJNE A,#51H,EIGHT6;是否大于51秒 EIGHT6:JC EIGHT7 JNB 10H,EIGHT7;判断是否报低音
JB FC,EIGHT7;只有FC有效时才输出
SJMP EIGHT2 EIGHT7:CPL FC;用来控制报低音和高音,满足报低音条件时,调用两次本程序对P1.6取反一次,高音时调用一次取反一次
RET;******** NINE中断(T0)计时程序(包含了秒-分-时-日-月-年间的进位及判断大小月,平闰年)
NINE:MOV TH0,#3CH;开定时器 MOV TL0,#0B0H SETB TR0 INC COUNT MOV A,COUNT CJNE A,#20,INEAA SJMP AAA INEAA:LJMP NINE1 AAA:MOV COUNT,#0;计时 MOV A,SECOND ADD A,#01 DA A;换成bcd码以方便显示 MOV SECOND,A CJNE A,#60H,INEAA MOV SECOND,#0 MOV A,MIN ADD A,#01 DA A MOV MIN,A CJNE A,#60H,INEAA MOV MIN,#0 MOV A,HOUR ADD A,#01 DA A MOV HOUR,A CJNE A,#24H,INEAA MOV HOUR,#0 MOV A,DAY ADD A,#01 DA A MOV DAY,A;************************判断平闰年及大小月 MOV A,MONTH CJNE A,#02H,TEN6A MOV A,YEAR;把年由BCD码换成二进制码 ANL A,#0F0H SWAP A MOV B,#10 MUL AB MOV 24H,A MOV A,YEAR ANL A,#0FH ADD A,24H JB ACC.0,TEN5A;二进制码后两位为00表示为闰年 JB ACC.1,TEN5A MOV 24H,#01 MOV A,DAY CJNE A,#30H,NINE1 MOV DAY,#1 SJMP NINE0 TEN5A:MOV A,DAY CJNE A,#29H,NINE1 MOV DAY,#1 SJMP NINE0;**************判断大小月;大于等于8月时双月为大月,小于8月时单月为大月 TEN6A:MOV A,MONTH CJNE A,#08H,TEN7A TEN7A:JC TEN9A JB 18H,TEN8A MOV A,DAY CJNE A,#32H,NINE1 MOV DAY,#1 SJMP NINE0 TEN8A:MOV A,DAY CJNE A,#31H,NINE1 MOV DAY,#1 SJMP NINE0 TEN9A:JNB 18H,TEN10A MOV A,DAY CJNE A,#32H,NINE1 MOV DAY,#1 SJMP NINE0 TEN10A:MOV A,DAY CJNE A,#31H,NINE1 MOV DAY,#1;******************* NINE0:MOV A,MONTH ADD A,#01 DA A MOV MONTH,A SETB 05H CJNE A,#13H,NINE1 MOV MONTH,#1 MOV A,YEAR ADD A,#01 DA A MOV YEAR,A NINE1:MOV A,MONTH CJNE A,BM,NINE2 MOV A,DAY CJNE A,BD,NINE2 JNB 05H,NINE2 SETB BS NINE2:RETI;*****************************************TEN中断(T1)预置加一程序由INT0控制其的开启与关闭
;*******************判断预置项目 TEN:MOV TH1,#3CH MOV TL1,#0B0H SETB TR1 INC COUNTS MOV A,COUNTS CJNE A,#15,TENE MOV COUNTS,#0 JB P0.0,RBRB JB P0.1,DAT SJMP TIME DAT: LJMP DATE RBRB:JB P0.1,BDAT LJMP RTIME BDAT:LJMP BDATE TENE:RETI;**********************预置时间 TIME: JNB P0.3,TEN1 MOV A,MIN ADD A,#01 DA A MOV MIN,A CJNE A,#60H,TENA MOV MIN,#0 SJMP TENA TEN1:JNB P0.2,TENA MOV A,HOUR ADD A,#01 DA A MOV HOUR,A CJNE A,#24H,TENA MOV HOUR,#0 TENA:RETI;******************预置日期 DATE:JNB P0.3,TEN3 MOV A,MONTH ADD A,#01 DA A MOV MONTH,A CJNE A,#13H,TENB MOV MONTH,#1 SJMP TENB TEN3:JNB P0.2,TEN4 MOV A,YEAR ADD A,#01 DA A MOV YEAR,A SJMP TENB TEN4:JNB P0.4,TENB MOV A,DAY ADD A,#01 DA A MOV DAY,A;***************判断平闰年 MOV A,MONTH CJNE A,#02H,TEN6 MOV A,YEAR ANL A,#0F0H SWAP A MOV B,#10 MUL AB MOV 24H,A MOV A,YEAR ANL A,#0FH ADD A,24H JB ACC.0,TEN5 JB ACC.1,TEN5 MOV A,DAY CJNE A,#30H,TENB MOV DAY,#1 SJMP TENB TEN5:MOV A,DAY CJNE A,#29H,TENB MOV DAY,#1 SJMP TENB;**************判断大小月 TEN6:CJNE A,#08H,TEN7 TEN7:JC TEN9 JB 18H,TEN8 MOV A,DAY CJNE A,#32H,TENB MOV DAY,#1 SJMP TENB TEN8:MOV A,DAY CJNE A,#31H,TENB MOV DAY,#1 SJMP TENB TEN9:JNB 18H,TEN10 MOV A,DAY CJNE A,#32H,TENB MOV DAY,#1 SJMP TENB TEN10:MOV A,DAY CJNE A,#31H,TENB MOV DAY,#1 TENB: RETI;**************************预置闹铃时间 RTIME:JNB P0.3,TEN12 MOV A,RM ADD A,#01 DA A MOV RM,A CJNE A,#60H,TENC MOV RM,#0 SJMP TENC TEN12:JNB P0.2,TENC MOV A,RH ADD A,#01 DA A MOV RH,A CJNE A,#24H,TENC MOV RH,#0 TENC:RETI;************************预置生日日期 BDATE:JNB P0.3,TEN14 MOV A,BD ADD A,#01 DA A MOV BD,A MOV A,BM CJNE A,#02H,TEN15 MOV A,BD CJNE A,#30H,TEND MOV BD,#1 SJMP TEND TEN15:CJNE A,#08H,TEN16 TEN16:JC TEN18 JB 18H,TEN17 MOV A,BD CJNE A,#32H,TEND MOV BD,#1 SJMP TEND TEN17:MOV A,BD CJNE A,#31H,TEND MOV BD,#1 SJMP TEND TEN18:JNB 18H,TEN19 MOV A,BD CJNE A,#32H,TEND MOV BD,#1 SJMP TEND TEN19:MOV A,BD CJNE A,#31H,TEND MOV BD,#1 SJMP TEND TEN14:JNB P0.2,TEND MOV A,BM ADD A,#01 DA A MOV BM,A CJNE A,#13H,TEND MOV BM,#1 TEND:SETB 05H RETI;*******************************ELEVEN中断(INT0)控制了预置的开关以及生日信号的清除
ELEVEN:JNB SS,ELEVEN1;预置有效时按一次INT0关预置 CLR SS CLR TR1 SJMP ELEVEN3 ELEVEN1:JNB BS,ELEVEN2;预置无效判断生日信号有效则清除生日信号 CLR 05H CLR BS SJMP ELEVEN3 ELEVEN2:SETB SS;都无效则令预置有效 MOV TH1,#3CH MOV TL1,#0B0H SETB TR1 ELEVEN3:RETI;***************************************************************TWELVE 延时小程序
TWELVE:MOV P1,#0 MOV P2,#0 DJNZ R0,TWELVE TWELVE1:MOV P1,#0 MOV P2,#0 DJNZ R0,TWELVE1 RET
第二篇:数字钟课程设计
晶体振荡器电路
晶体振荡器电路给数字钟提供一个频率稳定准确的32768Hz的脉冲,可保证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用了晶体振荡器电路。分频器电路
分频器电路将32768Hz的高频方波信号经74LS4060和74LS250的二分频的分频后得到1Hz的方波信号,可以供秒计数器进行计数。分频器实际上也就是计数器。时间计数器电路
时间计数电路由秒个位和秒十位计数器、分个位和分十位计数器及时个位和时十位计数器电路构成,其中秒个位和秒十位计数器、分个位和分十位计数器为60进制计数器,时个位和时十位计数器可以设计为12进制计数器或者24进制计数器,我们这里根据自己的意愿设计成24进制计数器。译码驱动电路
译码驱动电路将计数器输出的8421BCD码转换为数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流。数码管
数码管通常有发光二极管(LED)数码管和液晶(LCD)数码管,本设计采用的为LED数码管。
各单元模块设计和分析 晶体振荡器电路
晶体振荡器是构成数字式时钟的核心,它保证了时钟的走时准确及稳定。
图2 晶体振荡器电路图
分频器电路
通常,数字钟的晶体振荡器输出频率较高,为了得到1Hz的秒信号输入,需要对振荡器的输出信号进行分频。
通常实现分频器的电路是计数器电路,一般采用多级2进制计数器来实现。例如,将32767Hz的振荡信号分频为1HZ的分频倍数为32767(2于15极2进制计数器。时间计数单元
时间计数单元有时计数、分计数和秒计数等几个部分。
时计数单元一般为24进制计数器计数器,其输出为两位8421BCD码形式;分计数和秒计数单元为60进制计数器,其输出也为8421BCD码。
本实验采取了74LS90 用两块芯片进行级联来产生60进制和24进制
秒个位计数单元为10进制计数器,无需进制转换,只需将Q0与CP1(下降沿有效)相连即可。CP0(下降没效)与1HZ秒输入信号相连,Q3可作为向上的进位信号与十位计数单元的CP1相连。
秒十位计数单元为6进制计数器,需要进制转换。将10进制计数器转换为6进制计数器的15),即实现该分频功能的计数器相当电路连接,其中Q2可作为向上的进位信号与分个位的计数单元的CP0相连。
分个位和分十位计数单元电路结构分别与秒个位和秒十位计数单元完全相同,也是分个位计数单元的Q3作为向上的进位信号应与分十位计数单元的CP0相连,分十位计数单元的Q2作为向上的进位信号应与时个位计数单元的CP0相连。60进制的连接如图4所示。时个位计数单元电路结构仍与秒或个位计数单元相同,但是要求,整个时计数单元应为24进制计数器,所以在两块74LS90构成的100进制中截取24,就得在24的时候进行异步清零。24进制计数功能的电路如图5所示。
图5 24进制计数器电路
主要参考文献
《电子技术基础》
康华光
高教出版社 《电子线路设计、实验与测试》
谢自美
华中科技大学出版社 《电子技术实验》
汪学典
华中科技大学出版社 课程设计摘要 中文摘要
此次课程设计以数字钟为例,全面的利用了所学的知识,设计出了生活中常见的东西。数字钟主要有多谐振荡器、分频器、计数器、译码器组成。主要芯片有74LS90、CC4511。有多谐振荡器产生约1Mz信号脉冲。满24计数器自动复位,从而实现24 小时计时。
关键词:多谐振荡器、分频器、计数器、74LS90 英文摘要 This design report in detail the digital clock.Making using of our comment study.The digital clock is made of multivibrator type oscillator、divider、counter.Following chips 74LS90 CC4511.When the hour counter reaches the summit of 24,it will return to the beginning point.So ,the whole day is counted.Key word: multivibrator、divider、74LS90
第三篇:数字钟课程设计
数字电子钟逻辑电路设计
一、实验目的:
1、掌握数字钟的设计方法;
2、熟悉集成电路的使用方法。
二、设计任务和要求:
1、设计一个有“时”,“分”,“秒”(23小时59分59秒)显示且有校时功能的电子钟;
2、用中小规模集成电路组成电子钟;
3、画出框图和逻辑电路图,写出设计报告;
4、选做:①闹钟系统。②整点报时。③日历系统。
三、方案选择和论证:
1.分秒功能的实现:用两片74290组成60进制递增计数器 2.时功能的实现:用两片74290组成24进制递增计数器 3.定点报时:当分秒同时出现为0时,灯亮。
4.日历系统:月跟日分别用2片74192实现,月份就接成12进制,日则接成31进制,星期由1片74192组成7进制,从星期一至星期天。
四、方案的设计:
1、可调时钟模块:
秒、分、时分别为60、60和24进制计数器。用两片74LS290做一个二十四进制, 输入计数脉冲CP加在CLKA’端,把QA与与CPLB’从外部连接起来,电路将对CP按照8421BCD码进行异步加法计数。通过反馈端,控制清零端清零,其中个位接成二进制形式,十位接成四进制形式。其电路图如下:
同理利用两片74290组成的六十进制计数器,如下图所示
将两个六十进制的加法计数器和一个二十四进制的加法计数器进行级联:将秒的十位进位脉冲接到分的个位输入脉冲,将分的十位进位脉冲接到时的个位输入脉冲,这样就可以组成最基本的电路。2.校时电路: 例如说时的校准,开关1上端接1HZ脉冲,下端接分的进位。当开关打到上端时电路进入校准功能,当开关打到下端时电路进入正常计时功能。其电路如总电路图所示
3.整点报时:
分别用2个或非门接到分和秒的各输出个节点处,再用一个与非门与报时灯链接,当输出同时为零时,即整点时,报时灯就亮了,起到报时功能。本实验使用LED发光(1s),其电路图如下:
4日历系统:
月和日都用2片74192实现。月份功能则接成13进制,因为月份分日都是从1开始计起,所以要求从0001开始,到1101时,立刻清零,清零时应该切换到置数状态,即将ABCD置1000,通过一个与非门链接到LOAD端置零,同时也将计数器置为0001的状态。其电路图如下所示
日功能74192三十一进制电路图:
总电路图:
四、电路调试:
调试这部分工作在EWB仿真软件上进行。对于电路的调试应该分为几个部分,分别对电路各个部分的功能都进行调试,之后,每连接一部分都要调试一次。在实现日历系统时,如月份需要显示灯显示1~31。一开始以为只把计数器链接成三十一进制即可,结果显示灯只显示0~30,没有自己预期的结果。经过仔细思考,要把0去掉不显示,从1开始显示,而还要显示31。经过查书,最后,知道开始需置数成0001状态,到1000才清零,清零的同时回到置数0001状态,通过多次链接、测试,终于实现了。
在实现校时功能过程中,由于之前想得太过复杂了,浪费了大量时间,最后,经过上网搜索,到图书馆查书,简单的用了个开关连接到脉冲实现了。
五、收获心得体会:
整个过程花了我不少时间,可当做完时才发现做这个数字钟是多么简单的一件事,主要是在调试时花了不少时间,其间换了不少器件,有的器件在理论上可行,但在实际运行中就无法看到效果,所以调试花了我不少时间,有时无法找出错误便更换器件重新接线以使电路正常运行。
在实际的操作过程中,能把理论中所学的知识灵活地运用起来,并在调试中会遇到各种各样的问题,电路的调试提高了我们解决问题的能力,学会了在设计中独立解决问题,也包括怎样去查找问题。似乎所有的事都得自己新手去操作才会在脑海中留下深刻的印象,这个小小的课程设计让我可以熟练的操作EWB软件,也了解了不少器件的功能的应用,也加深了对数字电路认识和理解。
本次课程设计主要是用软件仿真,如果是实际加工电路板就更加锻炼我们的动手能力了,因此,能力还有待提高。
第四篇:数字钟课程设计
南 昌 大 学
数字电路与逻辑设计实验报告
姓
名:
付
容 学
号:
6100212236 学
院:
信息工程学院 班
级:
电气信息I类126班 实验名称:
数字钟设计
一、实验目的
1、熟悉数字系统的分析和设计方法;
2、熟悉根据任务的要求合理选择集成器件的方法;
3、学习和掌握数字钟的工作原理及设计方法,并且通过对数字钟的制作
进一步了解各种中、小规模集成电路的功能及使用方法;
4、学习使用protel软件进行电子电路的原理图设计、印制电路板设计;
5、初步掌握PCB板的制作流程及其工艺;
6、掌握数字系统的调试方法;
7、提高检查故障和排除故障的能力。
二、实验任务
利用中、小规模集成电路设计并制作一个数字显示时、分、秒的时钟,应具备如下功能:
1、能进行正常的时、分、秒计时功能,以数字形式显示时、分、秒的时间;
2、时应以24小时计时周期,计数序列为00—23;
3、计时出现误差时能校正,可以分别对时和分进行校正。
三、实验器材
计算机、protel软件、555定时器一个、6个74LS161、3个74LS90、个74LS48、6个数码管、若干个74LS00和74LS04、电源、开关。
四、实验原理
1、电路的总体原理框图
数字钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。它
2、数字钟的构成的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能。因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、校时电路、振荡电路组成。数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路。由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定。通常使振荡电路构成数字钟。
⑴555振荡电路
555定时器振荡电路给数字钟提供一个频率稳定准确的1KHz的方波信号,可保证数字钟的走时准确及稳定。不管是指针式的电子钟还是数字显示的电子钟都使用了555振荡电路。
⑵分频器电路
分频器电路用74LS90芯片将1kHz的高频方波信号经3次分频后得到1Hz的方波信号供秒计数器进行计数。分频器实际上也就是计数器。
⑶时间计数器电路
时间计数电路由秒个位和秒十位计数器、分个位和分十位计数器及时个位和时十位计数器电路构成,其中秒个位和秒十位计数器、分个位和分十位计数器为60进制计数器,而根据设计要求,时个位和时十位计数器为12进制计数器。⑷译码驱动电路
译码驱动电路将计数器输出的8421BCD码转换为数码管需要的逻辑状态,并且为保证数码管正常工作提供足够的工作电流。
⑸数码管
数码管通常有发光二极管(LED)数码管和液晶(LCD)数码管,本设计提供的为LED数码管。
3、数字钟工作原理
数字电子钟的原理方框图如上图,该电路系统由秒信号发生器、“时、分、秒”计数器、译码器及数码显示管、校时电路、整点报时电路等组成。秒信号发生器是整个系统的时基信号,它直接决定计时系统的精度,本实验用555定时器来实现。将标准秒信号送入“秒计数器”,“秒计数器”采用六十进制计数器,每累计60秒发出一个“分脉冲”信号,该信号作为“分计数器”的时钟脉冲。“分计数器”采用六十进制计数器,每累计60分钟发出一个“时脉冲”信号,该信号作为“时计数器”的时钟脉冲。译码显示电路将“时”、“分”、“秒”计数器的输出状态经七段显示译码器译码,通过LED七段共阴极数码显示管显示出来。整点报时电路是根据计时系统的输出状态产生脉冲信号,然后去触发一音频发生器实现报时。校时电路是用来对“时”、“分”、“秒”显示数字进行校对调整的。
五、实验设计方案
1、六十进制计数器电路
由两片74160构成的六十进制计数器如下图所示。首先将两片74160构成一百进制计数器,然后采用整体置数法接成六十进制计数器。电路的59状态译码产生LD'=0信号,同时加到两片74LS161上,在下一个计数脉冲(第60个计数脉冲)到达时将0000同时输入两片74LS161中,从而得到六十进制计数器。进位输出可有门电路G的输出直接得到。
2、二十四进制计数器电路
由两片74LS161构成的二十四进制计数器如下图所示。首先将两片74160构成一百进制计数器,然后采用整体置数法接成二十四进制计数器。电路的23状态译码产生LD'=0信号,同时加到两片74LS161上,在下一个计数脉冲(第24个计数脉冲)到达时将0000同时输入两片74LS161中,从而得到二十四进制计数器。
3、秒信号发生器电路
秒信号发生器是整个系统的时基信号,它直接决定计时系统的精度,本实验用555定时器来实现。先将555定时器的2、6管脚连在一起构成施密特触发器,然后再通过RC积分电路构成多谐振荡器。接入电路的二极管D1、D2使电容C1的充电电流和放电电流流经不同的路径,充电电流只流经R1,放电电流只流经R2,因此电容C1的充电时间为
T1=R1C1Ln2 电容C1的放电时间为
T2=R2C1Ln2 输出脉冲的占空比为
q=R1/(R1+R2)若取R1=R2=71千欧然后与一个2千欧的电位器串联,则电路的振荡周期为
T=T1+T2=1s
4、校时电路
校准电路实质上是由一个555定时器接成的频率为1KHz的多谐振荡器,如下图示。从图中可知,秒脉冲进入计数器,数字钟正常工作。校时时先按下按钮J2,若按下J2则10Hz脉冲信号进入分计数器的个位,而分脉冲被阻止进入,因而较快的校准分计数器的计数值;若按下J1则100Hz脉冲信号进入时计数器个位,而时脉冲被阻止进入,因而较快的校准时计数器的计数值。
5、译码显示电路
译码电路的功能是将“秒”、“分”、“时”计数器的输出代码进行翻译变成相应的数字。用于驱动LED七段数码管的译码器为74LS48。由74LS48和LED七段数码管组成的数码显示电路如下图所示。将“秒”、“分”、“时”计数器的每位输出分别接到相应七段译码器的输入端,便可进行不同数字的显示。在译码器输出与数码管之间串联的为限流电阻。
六、实验总电路图
Multisim仿真原理图
七、实验仿真结果 1、1kHz脉冲信号:
2、秒时钟:
3、分时钟:
4、时时钟:
5、实验总仿真图:
八、实验总结
1、仿真过程中遇到的问题及解决方法 刚接到数字钟这个实验设计的时候,感觉脑子中一片混乱,理不出来一个清晰的思路。但是我先看了一遍课本,充分理解、熟悉课本中所讲的每个集成芯片的功能和它们的接法,然后又查阅了相关的资料。经过这个过程之后,我构思出来了数字钟大致的电路图和所要用到的集成芯片。但是在真正设计、画电路图的时候却不断出现了一些细节问题。比如用74LS161芯片构成60进制计数器后,在Multisim里找不到实验室用到的CD4511BE型号的译码器,那我该如何选合适的译码器进行译码?用555定时器产生1Hz的秒脉冲信号后,在保证原理图一定正确的情况下,为什么数码管一直显示0,不会走数字呢?24进制的地方为什么仿真结果总是会有些不对,从09变成10的时候中间会有一个类似于“8”一样的数出现,使得24进制与60进制不能同步进行,总是慢一秒?。于是我又去查资料,并请教了一些同学、老师才逐渐掌握了解决这些问题的方法,最后将问题一个个的击破了。经上网百度后,我知道用74LS48译码比较合适;问同学、老师后,我知道1Hz数码管能走数字,但是周期太长,所以将555定时器改成1KHz的才能很直观的看到实验仿真结果;在24进制的个位上加一个非门后就能实现正常功能。经过几次修改完善之后,我的设计仿真终于做出来了。
2、画protel原理图遇到的问题
①用单刀双掷开关实现校时电路时发现所选开关没有封装,后来经老师点拨在“元件库”中查找到了带封装的单刀双掷开关;
②不知道花PCB板的时候需要在板子的某个角落放总电源,否则整块板子无法供电使用,就连555定时器也需要电源驱动才能正常产生脉冲信号,加个电源开关更能使整个电路设计的合理、规范;
3、心得体会
此次的数字钟设计重点在于理论设计、对各种集成芯片的应用和电路本身的原理的熟悉,与电路的仿真和实际的连线有很大的差距。在此次的数字钟设计过程中,让我更进一步地熟悉了芯片的结构及掌握了各芯片的工作原理和其具体的使用方法。在连接六十进制及其进位输出和用555定时器构成多谐振荡器的接法中,熟悉了逻辑电路及其芯片各引脚的功能,在电路出错时能准确地找出错误所在并及时纠正。
这次电子课程设计让我收获很大,通过这次的设计实验进一步地增强了实验的动脑、动手能力。让我体会到了学习知识时理论联系实际的重要性,并发现自己的知识面是很窄的,对很多简单的理论问题都比较难于解决,更别说实际的的问题了。所以,以后遇到这种动手操作的能力我一定要格外重视,并且努力完成它,争取做到最好的效果。
第五篇:数字电路课程设计 数字钟
摘 要
数字钟实际上是一个对标准频率(1Hz)进行计数的计数电路。振荡器产生的时钟信号经过分频器形成秒脉冲信号,秒脉冲信号输入计数器进行计数,并把累计结果以“时”、“分”、“秒”的数字显示出来。秒计数器电路计满60后触发分计数器电路,分计数器电路计满60后触发时计数器电路,当计满24小时后又开始下一轮的循环计数。一般由振荡器、分频器、计数器、译码器、数码显示器等几部分组成。
振荡电路:主要用来产生时间标准信号,因为时钟的精度主要取决于时间标准信号的频率及稳定度,所以采用石英晶体振荡器。
分频器:因为振荡器产生的标准信号频率很高,要是要得到“秒”信号,需一定级数的分频器进行分频。
计数器:有了“秒”信号,则可以根据60秒为1分,24小时为1天的进制,分别设定“时”、“分”、“秒”的计数器,分别为60进制,60进制,24进制计数器,并输出一分,一小时,一天的进位信号。
译码显示:将“时”“分”“秒”显示出来。将计数器输入状态,输入到译码器,产生驱动数码显示器信号,呈现出对应的进位数字字型。
由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路可以对分和时进行校时。另外,计时过程要具有报时功能,当时间到达整点前10秒开始,蜂鸣器1秒响1秒停地响5次。
为了使数字钟使用方便,在设计上使用了一个变压器和一个整流桥来实现数字钟电能的输入,使得可以方便地直接插入220V的交流电就可以正常地使用了。关键词 数字钟 振荡 计数 校正 报时
目 录 设计目的...........................................................4 2 设计任务...........................................................4 3数字电子钟的组成和工作原理..........................................4 3.1数字钟的构成......................................................4 3.2原理分析..........................................................4 3.3数字点钟的基本逻辑功能框图........................................5 4.数字钟的电路设计..................................................5 4.1 秒信号发生器的设计...............................................6 4.2时间计数电路的设计................................................8 4.3译码显示电路.....................................................10 4.4正点报时电路的设计................................................12 4.5校时电路的设计....................................................13 5设计心得........................................................14 6参考文献.............................................................15
1设计目的
在学完了《数字电子技术基础》课程的基本理论,基本知识后,能够综合运用所学理论知识、拓宽知识面,系统地进行电子电路的工程实践训练,锻炼动手能力,培养工程师的基本技能,提高分析问题和解决问题的能力。
2设计任务
2.1设计指标
1.时间计数电路采用24进制,从00开始到23后再回到00; 2.各用2位数码管显示时、分、秒;
3.具有手动校时、校分功能,可以分别对时及分进行单独校时,使其校正到标准时间; 4.计时过程具有报时功能,当时间到达整点前10秒开始,蜂鸣器1秒响1秒停地响5次。5.为了保证计时的稳定及准确,须由晶体振荡器提供时间基准信号。2.2设计要求
根据选定方案确定实现设计要求的基本电路和扩展电路,画出电路原理图。
3数字电子钟的组成和工作原理
3.1数字钟的构成
数字钟一般由振荡器、分频器、计数器、译码器、显示器、校时电路、报时电路等部分组成,这些都是数字电路中应用最广的基本电路。3.2原理分析
数字钟实际上是一个对标准频率(1Hz)进行计数的计数电路。振荡器产生的时钟信号经过分频器形成秒脉冲信号,秒脉冲信号输入计数器进行计数,并把累计结果以“时”、“分”、“秒”的数字显示出来。秒计数器电路计满60后触发分计数器电路,分计数器电路计满60后触发时计数器电路,当计满24小时后又开始下一轮的循环计数。由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路可以对分和时进行校时。另外,计时过程要具有报时功能,当时间到达整点前10秒开始,蜂鸣器1秒响1秒停地响5次。3.3数字点钟的基本逻辑功能框图
图1 数字钟的基本逻辑框图
4数字钟的电路设计
下面将介绍设计电路具体方案:其中包括电源电路的设计、秒信号发生器的设计、时间计数电路的设计、译码驱动显示电路的设计、正点报时电路的设计、校时电路的设计几个部分。
4.1 秒信号发生器的设计
晶体振荡分频电路石英晶体振荡电路 1.采用频率fs=32768Hz的石英晶体。
D1、D2是反相器,D1用于振荡,D2用于缓冲整形。Rf为反馈电阻(10~100MΩ),反馈电阻的作用是为CMOS反相器提供偏置,使其工作在放大状态。C1是频率微调电容,改变C1可对振荡器频率作微量调整,C1一般取5~35pF。C2是温度特性校正用的电容,一般取20~405pF,电容C1、C2与晶体共同构成Ⅱ型网络,完成对振荡器频率的控制,并提供必要的1800相移,最后输出fs=32768Hz。
图4 石英晶体振荡电路
2.多级分频电路
将32 768Hz脉冲信号输入到CD4060(内部结构如图4-4)组成的脉冲振荡的14位二进制计数器,所以从最后一级Q14输出的脉冲信号频率为:32768/214 = 32768/16384 = 2Hz 如图6。再经过二次分频,得到1Hz的标准信号脉冲,即秒脉冲如图7。
图5 CD4060内部结构
图6 脉冲分频电路
图7 秒信号原理图
图8 晶体振荡及分频电路
4.2时间计数电路的设计
秒信号经秒计数器、分计数器、时计数器之后,分别得到“秒”个位、十位、“分”个位、十位以及“时”个位、十位的计时输出信号,然后送至译码显示电路,以便实现用数字显示时、分、秒的要求。“秒”和“分”计数器应为六十进制,而“时”计数器应为二十四进制。采用10进制计数器74LS162来实现时间计数单元的计数功能,其为双2-5-10异步计数器,并且每一计数器均有异步清零端(高电平有效)。4.2.1“分”、“秒”六十进制计数器
选用两块74LS162采用异步清零的方法完成60进制。以“秒”计数为例:计秒时,将秒个位计数单元的QA与CP(下降沿有效)相连,将74LS162连接成10进制计数器,BCPA(下降沿有效)与1HZ秒输入信号相连,QD可作为向上的进位信号与十位计数单元的CPA相连。秒十位计数单元为6进制计数器,需要进制转换。将10进制计数器转换为6(0110)进制计数器,当十位计数器计到QD QC QB QA为0110时,同时对秒的个位和十位进行清0,另外QC可作为向上的进位信号与分个位的计数单元的CPA相连。其具体连接图如图9CPA相连,其具体连接图如图9。7
图9 六十进制计数器
4.2.2二十四进制计数器
同样可以选用两块74LS162采用异步清零的方法完成24进制计数 如图10。
图10二十四进制计数器
4.3译码显示电路
译码显示电路是将计数器输出的8421 BCD码译成数码管显示所需要的高低电平,我们采用阴极七段数码管,引脚如图11。
其则译码电路就应选接与它配套的共阴极七段数码驱动器。译码显示电路可采用CD4511BC-7段译码驱动器,其芯片引脚如图12。译码器A、B、C、D与十进制计数器的四个输出端相连接,a、b、c、d、e、f、g即为驱动七段数码显示器的信号。根据A、B、C、D所得的计数信号,数码管显示的相对应的字型。其具体电路图如图13。
图11 阴极七段数码管
图12 芯片CD4511BC-7段译码驱动器引脚
图13 译码显示电路
4.4正点报时电路的设计
要求当时间到达整点前10秒开始,蜂鸣器1秒响1秒停地响5次。即当时间达到xx时59分50秒时蜂鸣器开始响第一次,并持续一秒钟,然后停鸣一秒,这样响五次。在59分50秒到59分59秒之间,只有秒的个位计数,分的十位QD QC QB QA输出0101,个位QD QC QB QA 输出1001,秒的十位QD QC QB QA 输出0101均不变,而秒的个位QA计数过程中输出在0和1之间转。所以可以利用与非门的相与功能,把分十位的QC、QA ,分个位的QD、QA,秒十位的QC、QA 和秒个位的QA相“与非”作为控制信号控制与非门的开断,从而控制蜂鸣器的响和停。如图14。
图14 整点报时电路
4.5校时电路的设计
时钟出现误差时,需校准。校对时间总是在标准时间到来之前进行,分四个步骤:首先把小时计数器置到所需的数字;然后再将分计数器置到所需数字;在此同时或之后,将秒计数器在零时停计数,处于等待启动;当选定的标准时刻到达的瞬间,按起动按钮,电路则从所预置时间开始计数。由此可知,校时电路应具有预置小时,预置分、等待启动、计时四个阶段,因此,我们设计的校时电路,方便、可靠地实现这四个阶段所要求的功能。
图15数字电子钟的计数校正电路
5设计心得
本次实验培养了我的团队合作精神,两人分工明确,我们一起处理实验过程中遇到的难题,在每连接好一个模块后,我们认真地检查电路,这样大大减少了实验出错的机率,为最后成功完成实验节省了不少的时间。
本次数字钟电路设计实验还做到理论联系实际,刚刚学过了数电这门课程,还没完全弄懂某些门电路的原理和用途,而此次课程设计恰恰提供了一个好机会,让我们从实践中加深了对所学知识的理解。参考文献
1.郝国法等主编 电子技术实验 北京:冶金工业出版社,2006 2.华中科技大学电子技术课程组编 康光华主编 电子技术基础 数字部分(第五版)北京 :高等教育出版社,2005 3.彭容修主编.数字电子技术基础.武汉:华中理工大学出版社,2000 4.李哲英主编.电子技术及其应用基础(数字部分).北京:高等教育出版社,2003 5.浙江大学电工电子基础教学中心电子学组编,郑家龙、王小海、章安元主编.集成电子技术基础教程.北京:高等教育出版社,2002