简易数字钟的设计1
- 格式:doc
- 大小:61.00 KB
- 文档页数:8
第三单元简易数字钟的设计数字钟是一种用数字显示秒、分、时的计时装置,与传统的机械钟相比,它具有走时准确、显示直观、无需机械传动等优点。
因而得到了广泛的应用。
小到人们日常生活中的电子手表,大到车站、码头、机场等公共场所的大型数字电子钟,数字钟到处可见。
在数字电路的学习中,已经学习过用计数器芯片搭建数字钟。
51单片机内部集成了定时器/计数器,这为构建数字钟带来了方便。
在本单元中,学习如何用51单片机来构建一个功能数字钟。
【任务要求】➢在6个数码管上显示时、分、秒,共6位数字。
➢通过单片机内部定时器控制走时,走时准确。
➢系统有四个按键,功能分别是调整时间,加,减,确定。
在按下调整键时候,显示“时”的两位数码管以1 Hz 频率闪烁。
如果再次按下调整键,则“分”开始闪烁,“时”恢复正常显示,依次循环,直到按下确定键,恢复正常的显示。
在数码管闪烁的时候,按下加或者减键可以调整相应的显示内容。
按键支持短按和长按,即短按时,所修改的数字每次增加1或者减小1,长按时候以一定速率连续增加或者减少10。
【学习知识点】➢数码管的原理,驱动程序的实现。
➢51单片机内部定时器的原理及应用➢独立按键的原理及程序的实现。
【内容安排】第一节:数码管显示原理及应用实现第二节:独立按键检测原理及应用实现第三节:计时的原理及实现第四节:基于定时器的程序改进第五节:数字钟的构建第一节数码管显示原理及应用实现1.1 数码管显示原理数字钟要把时间显示到数字显示装置上,常用的数字显示装置有数码管、液晶、LED、CRT显示器等。
在单片机系统设计中,LED数码管是最基本的显示装置。
在数字钟的设计中我们用数码管对中的小时、分和表来进行显示。
LED数码管能显示各种数字或符号,由于它具有显示清晰、亮度高、寿命长、价格低廉等特点,因此使用非常广泛。
图1.1是几个数码管的图片:a图为单位数码管, b图为双位数码管,c图为四位数码管。
a 单位数码管b 双位数码管c 四位数码管图1.1 数码管图片那么数码管是如何的工作呢?还记得我们小时候玩过的“火柴棒游戏”吗,几根火柴组合起来,可以拼成各种各样的图形,数码管实际上就是利用这个原理做成的。
数字电子技术课程设计报告题目:数字钟的设计与制作专业:电气本一班学号:姓名:指导教师:时间:一、设计内容数字钟设计技术指标:(1)时间以24小时为周期;(2能够显示时,分,秒;(3)有校时功能,可以分别对时及分进行单独校时,使其校正到标准时间;(4)计时过程具有报时功能,当时间到达整点前5秒进行蜂鸣报时;(5)为了保证计时的稳定及准确须由晶体振荡器提供表针时间基准信号.二、设计时间:第十五、十六周三、设计要求:(1)画出设计的电路原理图;(2) 选择好元器件及给出参数,在原理图中反应出来;(3)并用仿真软件进行模拟电路工作情况;(4)编写课程报告。
摘要数字钟实际上是一个对标准频率(1Hz)进行计数的计数电路。
振荡器产生的时钟信号经过分频器形成秒脉冲信号,秒脉冲信号输入计数器进行计数,并把累计结果以“时”、“分”、“秒”的数字显示出来。
秒计数器电路计满60后触发分计数器电路,分计数器电路计满60后触发时计数器电路,当计满24小时后又开始下一轮的循环计数。
一般由振荡器、分频器、计数器、译码器、数码显示器等几部分组成。
振荡电路:主要用来产生时间标准信号,因为时钟的精度主要取决于时间标准信号的频率及稳定度,所以采用石英晶体振荡器。
分频器:因为振荡器产生的标准信号频率很高,要是要得到“秒”信号,需一定级数的分频器进行分频。
计数器:有了“秒”信号,则可以根据60秒为1分,24小时为1天的进制,分别设定“时”、“分”、“秒”的计数器,分别为60进制,60进制,24进制计数器,并输出一分,一小时,一天的进位信号。
译码显示:将“时”“分”“秒”显示出来。
将计数器输入状态,输入到译码器,产生驱动数码显示器信号,呈现出对应的进位数字字型。
由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路可以对分和时进行校时。
另外,计时过程要具有报时功能,当时间到达整点前10秒开始,蜂鸣器1秒响1秒停地响5次。
设计制作简易数字钟一、设计要求1、设计一振荡源,用于产生1Hz的脉冲信号;2、能完成从00时00分00秒到23时59分59秒走时,并实时显示时、分、秒;3、具有手动校时、校分、校秒功能。
发挥部分:具有正点报时功能。
要求在59分58秒开始报时,持续5秒钟。
二、总体设计方案1、方案选择数字钟实际上是由一个对标准频率(1HZ)进行计数的计数电路为主要部分构成的。
由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ 时间信号必须做到准确稳定。
通常使用石英晶体振荡器电路来构成数字钟的标准时间基准信号。
数字钟的组成框图如下图所示。
数字钟计时周期是24,因此必须设置24 计数器,秒、分、时由七段数码管显示。
为使数字钟走时与标准时间一致,校时电路是必不可少的。
设计中采用状态机控制校时,通过切换开关用秒脉冲或手动按键产生脉冲先后对“时” “分” “秒”计数器进行校时操作。
2、数字钟的构成(1)数字钟的构成:振荡器、分频器、计数器、译码器、LED数码管显示器等几部分。
附加功能的实现还需采用T’触发器及与门和或门及蜂鸣器组成报时电路。
(2)数字钟的时、分、秒实际上就是由一个24 进制计数器(00-23),两个60 进制计数器(00-59)级联构成。
设计数字钟实际上就是计数器的级联。
(3)芯片选型:由于24进制、60进制计数器均由集成计数器级联构成,且都包含有基本的十进制计数器,从设计简便考虑,芯片选择十进制计数器74LS390。
3、元器件列表:型号74LS00、74LS04、74LS08、74LS21、74LS32、74LS47、74LS74、74LS86、74LS390、CD4068、CD4060、CD4511。
晶体管8050、510欧姆电阻、LED、轻触开关、自锁开关、蜂鸣器、10p电容、晶振32768、10M电阻。
三、系统工作原理1、主计数部分原理图图1主计数部分原理图如图所示,用两个十进制计数器74LS390组成60进制计数器和24进制计数器,分别用于对分、秒和时的计数。
1 系统设计1.1 框图设计基于AT89S51单片机数字钟由电源电路、单片机主控电路、按键控制电路和蜂鸣器等几部分组成,系统框图如下:1.2 知识点本项目需要通过学习和查阅资料,了解和掌握以下知识。
1.+5V电源原理及设计。
2.单片机复位电路工作原理及设计。
3.单片机晶振电路工作原理及设计。
4.按键电路的设计。
5.驱动电路74LS04的特性及使用。
6.蜂鸣器及其驱动电路的设计。
7.数码管的特性及其使用。
8.AT89S51单片机引脚。
9.单片机汇编语言及程序设计。
2 硬件设计2.1 电路原理基于AT89S51单片机数字钟电路原理图如附录所示。
按下P1.0口按键,若按下时间小于1S,则进入省电状态(数码管不亮,时钟不停);否则进入调分状态,等待操作,此时计时器停止走动。
当再按下P1.0口按键时,若按键时间小于0.5S,则时间加1min;若按下时间大于0.5S,则进入小时调整状态。
按下P1.1按键时,可进行减1调整。
在小时调整状态下,当按键按下的时间大于0.5S时,退出时间调整状态,时钟从0S开始计时。
在正常时钟状态下,若按下P1.1口按键,则进行时钟/秒表功能的转换,秒表中断计时程序启动,显示地址改为60H,LED将显示秒表计时单元60H-65H 中的数据。
按下P1.2口的按键开关,可实现秒表清零、秒表启动、秒表暂停功能;当再按下P1.1口按键时,关闭T1秒表中断计时,显示首址又改为70H,恢复正常时间的显示功能。
2.2 元件清单基于AT89S51单片机数字钟的元件清单如下表。
3 软件设计3.1 程序流程图1.主程序流程图如图1-1所示。
2.秒计时程序。
秒计时由定时器T0完成,流程图如图1-2所示。
3.秒表、调时指示程序。
秒表、调时由定时器T1完成,其流程图如图1-3所示。
3.2程序清单DISBEG EQU 30H CALB EQU P1.7 TIMCON EQU 2FH ORG 0000HLJMP MAINORG 0003HRETIORG 000BHLJMP INTT0ORG 0013HRETIORG 001BHLJMP INTT1ORG 0023HRETITAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH I_TAB: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH DL Y1M: MOV R6,#14HDL_LOOP: MOV R7,#19HDL_LOOP1:DJNZ R7,DL_LOOP1DJNZ R6,DL_LOOPRETDL Y20M:CLR CALBLCALL D_II_PLAYLCALL D_II_PLAYLCALL D_II_PLAYSETB CALBRETDL_LOOPS:LCALL DL05SLCALL DL05SRETDL05S: MOV R3,#20HDL05S1: LCALL D_II_PLAYDJNZ R3,DL05S1RETCTIME: MOV A,#10H /整点报时MOV B,79HMUL ABADD A,78HMOV TIMCON,ACLOOP: LCALL DL Y20MLCALL DL_LOOPSLCALL DL_LOOPSLCALL DL_LOOPSDJNZ TIMCON,CLOOPCLR 08HMAIN: MOV R0,#00H /主程序MOV R7,#80HMLOOP: MOV R0,#00HINC R0DJNZ R7,MLOOPMOV 20H,#00HMOV 7AH,#0AHMOV TMOD,#11HMOV TL0,#0B0HMOV TH0,#3CHMOV TL1,#0B0HMOV TH1,#3CHSETB EASETB ET0SETB TR0MOV R4,#14HMOV DISBEG,#70HMLOOP1:LCALL D_II_PLAYJNB P1.0,T_SETSCJNB P1.1,DL Y5JNB P1.2,FUNBTJNB P1.3,TSETJB 08H,CTIMEAJMP MLOOP1FUNBT: LJMP DL Y6TSET: LCALL DL Y20M /闹铃时间设定程序,按P1.3进入设定JB P1.3,MLOOP1TS_LOOP:JNB P1.3,TS_LOOPJB 05H,CLRBELLMOV DISBEG,#50HMOV 50H,#0CHMOV 51H,#0AHMINCHG:SETB EALCALL D_II_PLAYJNB P1.2,DL Y1JNB P1.0,DL Y3JNB P1.3,DL YAJMP MINCHGCLRBELL:CLR 05HCLR CALBAJMP MLOOP1DL Y:LCALL DL Y20MJB P1.3,MINCHGLJMP DL Y8T_SETSC:LJMP R_SETTIMDL Y1:LCALL DL Y20MJB P1.2,MINCHGDL Y2: LCALL D_II_PLAYJNB P1.2,DL Y2CLR EAMOV R0,#53HLCALL ADD_1MOV A,R3CLR CCJNE A,#60H,ADD_MADD_M:JC MINCHGACALL CLR_HAJMP MINCHGDL Y3:LCALL DL Y20MJB P1.0,MINCHGDL Y4:LCALL D_II_PLAYJNB P1.0,DL Y4CLR EAMOV R0,#53HLCALL SUB_MLJMP MINCHGDL Y5:LCALL DL Y20M /秒表功能/时钟转换程序,按P1.1进行功能转换JB P1.1,T_MLOOP1JNB P1.1,$CPL 03HJNB 03H,DIS_SETMOV DISBEG,#60HMOV 60H,#00HMOV 61H,#00HMOV 62H,#00HMOV 63H,#00HMOV 64H,#00HMOV 65H,#00HMOV TL1,#0F0HMOV TH1,#0D8HSETB TR1SETB ET1T_MLOOP1:LJMP MLOOP1DIS_SET:MOV DISBEG,#70HCLR ET1CLR TR1T_MLOOP11:LJMP MLOOP1DL Y6:LCALL DL Y20M /秒表暂停/清零功能程序,按P1.2暂停或清零,JB P1.2,T_MLOOP11 P1.1退出秒表,回到时钟计时T_EST11:JNB P1.2,T_EST11CLR ET1CLR TR1T_EST22:JNB P1.1,DL Y5JB P1.2,T_EST21LCALL DL Y20MJB P1.2,T_EST22T_EST55:JNB P1.2,T_EST51MOV 60H,#00HMOV 61H,#00HMOV 62H,#00HMOV 63H,#00HMOV 64H,#00HMOV 65H,#00HT_EST33:JNB P1.1,DL Y5JB P1.2,T_EST31LCALL DL Y20MJB P1.2,T_EST33T_EST44:JNB P1.2,T_EST41SETB ET1SETB TR1AJMP MLOOP1T_EST411:LCALL D_II_PLAY /以下为键等待释放时显示不会熄灭用AJMP T_EST11T_EST21:LCALL D_II_PLAYAJMP T_EST22T_EST31:LCALL D_II_PLAYAJMP T_EST33T_EST41:LCALL D_II_PLAYAJMP T_EST44T_EST51:LCALL D_II_PLAYAJMP T_EST55INTT0:PUSH ACC /1S计时程序;T0中断服务程序PUSH PSWCLR ET0CLR TR0MOV A,#0B7HADD A,TL0MOV TL0,AMOV A,#3CHADDC A,TH0MOV TH0,ASETB TR0DJNZ R4,I_INT0A_DDS:MOV R4,#14HCPL 07HMOV R0,#71HACALL ADD_1MOV A,R3CLR CCJNE A,#60H,A_DDMA_DDM:JC I_INT0ACALL CLR_HMOV R0,#77HACALL ADD_1MOV A,R3CLR CCJNE A,#60H,A_DDHA_DDH:JC I_INT0ACALL CLR_HLCALL DL Y20MSETB 08HMOV R0,#79HACALL ADD_1MOV A,R3CLR CCJNE A,#24H,RSTARTRSTART:JC I_INT0ACALL CLR_HI_INT0:MOV 72H,76HMOV 73H,77HMOV 74H,78HMOV 75H,79HLCALL BELLPOP PSWPOP ACCSETB ET0RETIINTT1:PUSH ACC /闪动调试程序/秒表从能程序;T1中断服务程序PUSH PSWJB 03H,R_ADDSMOV TL1,#0B0HMOV TH1,#3CHDJNZ R2,I_INT1MOV R2,#06HCPL 02HJB 02H,FLASH0MOV 72H,76HMOV 73H,77HMOV 74H,78HMOV 75H,79HI_INT1:POP PSWPOP ACCRETIFLASH0:JB 01H,FLASH1MOV 72H,7AHMOV 73H,7AHMOV 74H,78HMOV 75H,79HAJMP I_INT1 FLASH1:MOV 72H,76HMOV 73H,77HMOV 74H,7AHMOV 75H,7AHAJMP I_INT1R_ADDS:CLR TR1MOV A,#0F7HADD A,TL1MOV TL1,AMOV A,#0D8HADDC A,TH1MOV TH1,ASETB TR1MOV R0,#61HACALL ADD_1CLR CMOV A,R3JZ R_ADDMAJMP I_INT01R_ADDM:ACALL CLR_HMOV R0,#63HACALL ADD_1MOV A,R3CLR CCJNE A,#60H,R_ADDH R_ADDH:JC I_INT01LCALL CLR_HMOV R0,#65HACALL ADD_1I_INT01:POP PSWPOP ACCRETIADD_1:MOV A,R0 /加1子程序DEC R0SWAP AORL A,R0ADD A,#01HDA AMOV R3,AANL A,#0FHMOV R0,AMOV A,R3INC R0SWAP AANL A,#0FHMOV R0,ARETSUB_M:MOV A,R0 /分减1子程序DEC R0SWAP AORL A,R0JZ SUB_M1DEC ASUB_M11:MOV R3,AANL A,#0FHCLR CSUBB A,#0AHSUB_M111:JC SUB_M110MOV R0,#09HSUB_M10:MOV A,R3INC R0SWAP AANL A,#0FHMOV R0,ARETSUB_M1:MOV A,#59HAJMP SUB_M11SUB_M110:MOV A,R3SUB_H:MOV A,R0 /时减1子程序DEC R0SWAP AORL A,R0JZ SUB_H1DEC ASUB_H11:MOV R3,AANL A,#0FHCLR CSUBB A,#0AHSUB_H111:JC SUB_H110MOV R0,#09HSUB_H10:MOV A,R3INC R0SWAP AANL A,#0FHMOV R0,ARETSUB_H1:MOV A,#23HAJMP SUB_H11SUB_H110:MOV A,R3CLR_H:CLR A /清零程序;对即使单元复零用MOV R0,ADEC R0MOV R0,ARETR_SETTIM:CLR ET0 /时钟时间调整程序CLR TR0LCALL DL_LOOPSLCALL DL Y20MJB P1.0,SLEEPMOV R2,#06HMOV 70H,#00HMOV 71H,#00HSETB ET1SETB TR1SET_2:JNB P1.0,SET_1SETB 00HSET_4:JB P1.0,SET_3LCALL DL05SLCALL DL Y20MJNB P1.0,R_SETHHMOV R0,#77HLCALL ADD_1MOV A,R3CLR CCJNE A,#60H,SET_LOOP SET_LOOP:JC SET_4LCALL CLR_HCLR CAJMP SET_4SLEEP:SETB ET0SETB TR0SET_LOOP1:JB P1.0,SET_LOOP1 LCALL DL Y20MJB P1.0,SET_LOOP1SET_LOOP2:JNB P1.0,SET_LOOP2 LJMP MLOOP1R_SETHH:CLR 00HSETB 01HSET_LOOP3:JNB P1.0,SET_5 SET_6:JB P1.0,SET_7LCALL DL05SLCALL DL Y20MJNB P1.0,STOPMOV R0,#79HLCALL ADD_1MOV A,R3CLR CCJNE A,#24H,C_YHHC_YHH:JC SET_6LCALL CLR_HAJMP SET_6STOP:JNB P1.0,STOP1LCALL DL Y20MJNB P1.0,STOPCLR 01HCLR 00HCLR 02HCLR TR1CLR ET1SETB TR0SETB ET0LJMP MLOOP1SET_1:LCALL D_II_PLAYAJMP SET_2SET_3:LCALL D_II_PLAYJNB P1.1,DL Y7AJMP SET_4SET_5:LCALL D_II_PLAYAJMP SET_LOOP3SET_7:LCALL D_II_PLAYJNB P1.1,DL Y7BAJMP SET_6STOP1:LCALL D_II_PLAYAJMP STOPDL Y7:LCALL DL Y20M /分减1程序JB P1.1,SET_41DL Y7_M:JNB P1.1,DL Y7_MMOV R0,#77HLCALL SUB_MLJMP SET_4SET_41:LJMP SET_4DL Y7B:LCALL DL Y20M /时减1程序JB P1.1,SET_61DL Y7_H:JNB P1.1,DL Y7_HMOV R0,#79HLCALL SUB_HLJMP SET_6SET_61:LJMP SET_6D_II_PLAY:MOV R1,DISBEG /显示程序MOV R5,#0FEHPLAY:MOV A,R5MOV P2,AMOV A,R1MOV DPTR,#TABMOVC A,A+DPTRMOV P0,AMOV A,R5JB ACC.2,D_LOOPCLR P0.7D_LOOP:JB ACC.4,D_LOOP1CLR P0.7D_LOOP1:LCALL DL Y1MINC R1MOV A,R5JNB ACC.5,CLOSERL AMOV R5,AMOV P0,#0FFHAJMP PLAYCLOSE:MOV P2,#0FFHMOV P0,#0FFHRETSD_II_PLAY:MOV R1,DISBEG /上电显示子程序MOV R5,#0FEHI_PLAY:MOV A,R5MOV P2,AMOV A,R1MOV DPTR,#I_TABMOVC A,A+DPTRMOV P0,AMOV A,R5LCALL DL Y1MINC R1MOV A,R5JNB ACC.5,CLOSESRL AMOV R5,AAJMP I_PLAYCLOSES:MOV P2,#0FFHMOV P0,#0FFHRETDL Y8:LCALL D_II_PLAY /闹铃时间设定程序中的时调整程序JNB P1.3,DL Y8MOV 50H,#0AHMOV 51H,#0CHR_BTIM:SETB EALCALL D_II_PLAYJNB P1.2,DL Y12JNB P1.0,DL Y14JNB P1.3,DL Y9JNB P1.1,DL Y10AJMP R_BTIMDL Y9:LCALL DL Y20MJB P1.3,R_BTIMDL Y8M:LCALL D_II_PLAYJNB P1.3,DL Y8MMOV DISBEG,#70HLJMP MLOOP1DL Y10:LCALL DL Y20MJB P1.1,R_BTIMDL Y11:LCALL D_II_PLAYJNB P1.1,DL Y11CPL 05HJNB 05H,R_BTIM11MOV 50H,#00HAJMP R_BTIMR_BTIM11:MOV 50H,#0AHAJMP R_BTIMDL Y12:LCALL DL Y20MJB P1.2,R_BTIMDL Y13:LCALL D_II_PLAYJNB P1.2,DL Y13CLR EAMOV R0,#55HLCALL ADD_1MOV A,R3CLR CCJNE A,#24H,A_DDH33NA_DDH33N:JC R_BTIMACALL CLR_HAJMP R_BTIMDL Y14:LCALL DL Y20MJB P1.0,R_BTIMDL Y15:LCALL D_II_PLAYJNB P1.0,DL Y15CLR EAMOV R0,#55HLCALL SUB_HLJMP R_BTIMBELL:JNB 05H,BBELL /闹铃判断子程序MOV A,79HCJNE A,55H,BBELLMOV A,78HCLR CBELL_1:CJNE A,54H,BBELLMOV A,77HCLR CCJNE A,53H,BBELLMOV A,76HCLR CBELL_2:CJNE A,52H,BBELLJNB 07H,BBELLCLR CALBRETBBELL:SETB CALBRETEND小结为期两周的单片机数字钟课程设计结束了,在这两周里我和我的组员们运用单片机的知识完成了简易数字钟电路的设计,这使我对单片机这门课程有了更深一步的了解。
简易电子钟设计范文电子钟是一种通过电子技术实现时间显示的设备。
它通常由一个数字显示屏,一个控制电路和一个电源组成。
其主要功能是显示小时、分钟和秒钟等时间信息,可以准确地显示时间,并可以根据需要设置闹铃功能。
设计一款简易电子钟可以使用Arduino等开发板或单片机来实现。
首先,我们需要选择一块合适的数字显示屏。
常见的数字显示屏有数码管和液晶显示屏两种类型,它们的显示原理和控制方式有所不同。
如果选择数码管作为显示屏,可以考虑使用常见的7段数码管,它由八个LED灯组成,可以显示0-9的数字以及一些字母和特殊符号。
数码管的控制方式是通过控制每个LED灯的亮灭来实现显示,可以使用数字输出口来控制。
Arduino的数字输出口可以输出高电平(5V)和低电平(0V),通过控制输出口的电平,就能够控制数码管的亮灭。
如果选择液晶显示屏作为显示器,可以选择字符型液晶显示屏或者图形型液晶显示屏。
字符型液晶显示屏通常可以显示一些字符或者数字,它的控制方式是通过并行或者串行接口来控制,可以使用开发板的GPIO口来实现。
图形型液晶显示屏可以显示更多的信息,它的控制方式是通过SPI接口或者I2C接口来控制,这需要相应的驱动库或者芯片来实现。
无论选择数码管还是液晶显示屏,我们都需要编写程序来控制显示。
程序的核心是一个循环,其中使用时钟模块来获取当前的时间,并使用相应的控制方式将时间信息显示在显示屏上。
如果需要设置闹铃功能,可以在循环中判断当前时间和设置的时间是否相等,如果相等则触发闹铃。
设计一个简易电子钟的完整步骤如下:1. 选择适合的开发板或者单片机,例如Arduino。
2.选择合适的显示屏,例如7段数码管或者液晶显示屏。
3.连接显示屏到开发板,根据显示屏的类型选择合适的引脚连接方式。
4.编写代码来控制显示屏显示时间信息。
5.添加时钟模块,用来获取当前的时间信息。
6.根据需要添加闹铃功能。
7.测试电子钟的功能和性能,不断优化改进。
设计制作简易数字钟一、设计要求1、设计一振荡源,用于产生1Hz的脉冲信号;2、能完成从00时00分00秒到23时59分59秒走时,并实时显示时、分、秒;3、具有手动校时、校分、校秒功能。
发挥部分:具有正点报时功能。
要求在59分58秒开始报时,持续5秒钟。
二、总体设计方案1、方案选择数字钟实际上是由一个对标准频率(1HZ)进行计数的计数电路为主要部分构成的。
由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的1HZ时间信号必须做到准确稳定。
通常使用石英晶体振荡器电路来构成数字钟的标准时间基准信号。
数字钟的组成框图如下图所示。
数字钟计时周期是24,因此必须设置24计数器,秒、分、时由七段数码管显示。
为使数字钟走时与标准时间一致,校时电路是必不可少的。
设计中采用状态机控制校时,通过切换开关用秒脉冲或手动按键产生脉冲先后对“时”“分”“秒”计数器进行校时操作。
2、数字钟的构成(1)数字钟的构成:振荡器、分频器、计数器、译码器、LED数码管显示器等几部分。
附加功能的实现还需采用T’触发器及与门和或门及蜂鸣器组成报时电路。
(2)数字钟的时、分、秒实际上就是由一个24进制计数器(00-23),两个60进制计数器(00-59)级联构成。
设计数字钟实际上就是计数器的级联。
(3)芯片选型:由于24进制、60进制计数器均由集成计数器级联构成,且都包含有基本的十进制计数器,从设计简便考虑,芯片选择十进制计数器74LS390。
3、元器件列表:型号74LS00、74LS04、74LS08、74LS21、74LS32、74LS47、74LS74、74LS86、74LS390、CD4068、CD4060、CD4511。
晶体管8050、510欧姆电阻、LED、轻触开关、自锁开关、蜂鸣器、10p电容、晶振32768、10M电阻。
三、系统工作原理1、主计数部分原理图图1主计数部分原理图如图所示,用两个十进制计数器74LS390组成60进制计数器和24进制计数器,分别用于对分、秒和时的计数。
数字钟的设计引言数字钟是一种常见的时钟设计,它能够以数字形式显示时间,方便人们获取准确的时间信息。
本文将介绍数字钟的设计原理、硬件与软件实现,并提供一个示例设计的步骤指南。
设计原理数字钟的设计原理基于计数器和显示器。
计数器用于记录时间,而显示器用于将记录的时间以数字形式显示出来。
一般情况下,数字钟主要涉及到以下几个方面的设计:1.时钟电路:时钟电路是数字钟的核心组成部分,它通过稳定的振荡器产生一个稳定的时钟信号,以确保数字钟的准确性。
2.计数器电路:计数器电路用于记录时间。
它可以根据时钟信号来递增或递减计数值,并将计数值转换成小时、分钟和秒钟等形式。
3.显示器电路:显示器电路用于将计数器记录的时间以数字形式显示出来。
常见的显示器电路包括七段数码管、LCD显示屏等。
硬件设计在数字钟的硬件设计中,需要考虑以下几个方面:1.选取合适的时钟电路:选择合适的时钟电路非常重要,它直接影响到数字钟的准确性。
常用的时钟电路包括晶振电路和石英钟电路等。
2.选择合适的计数器芯片:选择合适的计数器芯片能够简化数字钟的设计。
常见的计数器芯片有74HC4017、CD4510等。
3.选择合适的显示器:根据设计需求选择合适的显示器。
七段数码管是常用的显示器,它能够以数字形式显示时间。
另外,LCD显示屏也是常见的选择之一。
软件设计数字钟的软件设计主要涉及到以下几个方面:1.程序框架设计:设计程序框架能够清晰地组织代码,使得代码具有良好的可读性和可维护性。
可以使用面向对象的思想设计程序框架,将时钟和显示器等抽象为对象,方便调用和管理。
2.时钟管理:设计一个时钟管理模块,用于控制时钟的计数和显示。
该模块需要根据计数器的计数值来更新显示器的显示。
3.用户交互设计:如果有需要,可以设计用户交互模块,允许用户设置时间等功能。
可以通过按键输入实现用户与数字钟的交互。
示例设计以下是一个简单的数字钟设计的示例步骤指南:1.选择合适的时钟电路,比如使用一个晶振电路作为时钟源。
数字电子技术课程设计报告要求:设计一个能显示时、分、秒的简易数字钟。
步骤:用verilog语言在记事本编写程序,再用QuartusⅡ仿真,定义针脚,在面板上模拟。
数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的寿命,因此得到广泛的应用。
设计原理及框图数字钟实际上是一个对标准频率(1HZ)进行计数的计数电路,具有时、分、秒计数显示功能,以24小时为计数循环。
这次实验主要是要实现时钟的计时功能,时间计数由秒个位和秒十位计数器,分个位和分十位计数器及时个位和时十位计数器,,其中秒个位和秒十位计数器,分个位和分十位计数器为60进制计数器,而根据设计要求,时个位和时十位计数器为24进制计数器.,然后需要把8位二进制数转变为译码管需要的8421码。
设计方案:这个实验总体分:秒、分、时三个模块,计时和较准两个模式标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发出一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲之一。
“分计数器”也采用60进制计数器,每累计60分钟,发出一个时脉冲信号,该信号作为时计数器的时钟脉冲之一,时计数器采用24进制计时器,可实现对一天24小时的计时。
译码显示电路将“时”、“分”、“秒”计数器的输出状态通过译码管显示。
这们时钟的计时功能就实现了,秒模块是一个以1HZ的clock信号控制的60进制计数器,并同时产生分进位信号tun。
always @(posedge clock)beginif(sec==59) \\当秒等于59时,如果处于计时模式时产生begin \\一个进位脉冲tun, 否则tun信号暂停sec<=0;tun<=1;elsetun<=tun;endelse \\若秒不等于59,同样如果处于计时模式begin \\就使tun信号清0,否则tun信号暂停sec<=sec+1;if(at==0)tun<=0;elsetun<=tun;endend分模块也是一个60进制计数器,并产生小时的进位信号mod,但要受到两个控制信号的控制一个是进位信号tun,另一个是t_min的按建信号。
简易数字钟的设计一.指标要求1.用中小规模集成电路设计一台能显示“时”,“分”,“秒”的简易数字钟;2.除按24小时计数外,还应具有手动调节小时,分钟,秒的校时功能;3.具有整点报时功能;二.设计计算1.整体方案设计1.1课题分析数字钟一般由6个部分组成,其中振荡器和分频器组成标准的秒信号发生器,由不同进制的计数器,译码器和显示器组成计时系统。
秒信号送入计数器进行计数,把累计的结果以“时”“分”“秒”的十进制数字显示出来。
“时”显示由二十四进制计数器,译码器和显示器构成,“分”“秒”显示分别由六十进制计数器,译码器和显示器构成。
1.2工作原理数字钟是一个将“ 时”,“分”,“秒”显示于人的视觉器官的计时装置。
它的计时周期为24小时,显示满刻度为23时59分59秒,另外应有校时功能。
因此,一个基本的数字钟电路主要由译码显示器、“时”,“分”,“秒”计数器、校时电路和振荡器组成。
干电路系统由秒信号发生器、“时、分、秒”计数器、译码器及显示器、校时电路、整点报时电路组成。
秒信号产生器是整个系统的时基信号,它直接决定计时系统的精度,一般用石英晶体振荡器加分频器来实现。
将标准秒信号送入“秒计数器”,“秒计数器”采用60进制计数器,每累计60秒发现胡一个“分脉冲”信号,该信号将作为“分计数器”的时钟脉冲。
“分计数器”也采用60进制计数器,每累计60分钟,发出一个“时脉冲”信号,该信号将被送到“时计数器”。
“时计数器”采用24进制计时器,可实现对一天24小时的累计。
译码显示电路将“时”、“分”、“秒”计数器的输出状态菁七段显示译码器译码,通过六位LED七段显示器显示出来。
整点报时电路时根据计时系统的输出状态产生一脉冲信号,然后触发一音频发生器实现报时。
校时电路是用来对“时”、“分”、“秒”显示数字进行校对调整的。
数字电子钟由振荡器、分频器、计数器、译码显示、报时等电路组成。
其中振荡器和分频器组成标准秒信号发生器,由不同进制的计数器、译码器和显示器组成计时系统。
沈阳工程学院
课程设计任务书
课程设计题目:简易数字钟的设计
以下内容根据各专业特点自行确定(如条件、资料、内容、任务、进度安排及要求等):1.设计主要内容及要求
基于单片机的数字钟的设计。
1)简要说明
用单片机设计出一个数字钟。
此数字钟完成自动走时和时间调整的功能。
2)任务和要求
设计一个数字钟,该数字钟基本功能:使用单片机的定时/计数器实现数字中的定时计数功能,秒计60次成分,分计60次成小时,小时计24次则计满一天。
本设计LED显示部分采用动态显示,其中2个LED显示器显示秒,2个LED显示器显示分钟,2个LED 显示器显示小时。
同时为了使用方便,本题目还需要设计几个简单按键,可以通过按键实现时、分的调
整,这样在主程序中需要加入键盘设置子程序。
3)训练目标
熟练使用Keil开发环境,具备编写单片机程序(汇编语言或C语言)的初步能力,通过完成本课题的软硬件设计,使同学们了解单片机实例的整个开发流程。
2.对设计说明书、论文撰写内容、格式、字数的要求
1)课程设计报告(论文)是体现和总结课程设计成果的载体,一般不应少于3000字。
2)学生应撰写的内容为:中文摘要和关键词、目录、正文、参考文献等。
课程设计报告(论文)的结构及各部分内容要求可参照《沈阳工程学院毕业设计(论文)撰写规范》执行。
应做到文理通顺,内容正确完整,书写工整,装订整齐。
3)课程设计说明书(论文)装订顺序为:封面、任务书、成绩评审意见表、中文摘要和关键词、目录、正文、参考文献。
3.时间进度安排;
顺序阶段日期计划完成内容备注
1 7.4 收集资料
2 7.5-7.8 完成题目硬件及软件的设计
3 7.11-7.12 完成软件和硬件的调试
4 7.13-7.14 撰写课程设计说明书(论文)
5 7.15 答辩
沈阳工程学院
单片机原理课程设计成绩评定表
系(部):自动控制工程系班级:电子本082 学生姓名:芦丹
指导教师评审意见
评价内容具体要求权重评分
加权
分
调研论证能独立查阅文献,收集资料;能制定课程设计方案
和日程安排。
0.1 5 4 3 2
工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能
够独立完成设计工作,
0.2 5 4 3 2
工作量按期圆满完成规定的设计任务,工作量饱满,难度
适宜。
0.2 5 4 3 2
说明书的质量
说明书立论正确,论述充分,结论严谨合理,文字
通顺,技术用语准确,符号统一,编号齐全,图表
完备,书写工整规范。
0.5 5 4 3 2
指导教师评审成绩
(加权分合计乘以12)
分加权分合计
指导教师签名:年月日
评阅教师评审意见
评价内容具体要求权重评分
加权
分
查阅
文献
查阅文献有一定广泛性;有综合归纳资料的能力0.2 5 4 3 2 工作
量
工作量饱满,难度适中。
0.5 5 4 3 2
说明书的质量说明书立论正确,论述充分,结论严谨合理,文字
通顺,技术用语准确,符号统一,编号齐全,图表
完备,书写工整规范。
0.3 5 4 3 2 评阅教师评审成绩
(加权分合计乘以8)
分加权分合计
评阅教师签名:年月日课程设计总评成绩分
引言
本系统采用单片机AT89C51控制,以AT89C51为核心,它完成整个系统的信息处理及协调功能,本次设计我们选用ATMEL公司的AT89C51芯片,其功能强大,兼容性好,还支持软件选择的空间和掉电两种节电方式。
本设计的软件、硬件都采用模块化的设计方法,提高设计的效率。
本次设计通过对一个实现时间显示的简易功能的数字钟系统的设计,其中包含了数码管显示和动态扫描及单片机定时中断等技术,系统由AT89C51、LED数码管、电阻等组成,能实现时钟时、分、秒的显示。
中文摘要
数字钟是采用数字电路来实现对时,分,秒数字显示的计时装置,它在人们的日常生活中扮演着不可替代的角色。
因此对数字钟的设计与开发也显得尤为重要。
本设计采用Atmel公司的AT89C51单片机,以汇编语言为程序设计的基础,设计一个用六位数码管显示时、分、秒且能通过按键对时和分进行调整的电子时钟。
这次设计不仅完成了对硬件电路的设计,还利用Keil开发软件实现了对源程序的仿真。
在完成硬件电路设计的基础上主要以软件编程来实现对时间和日期的显示及调时功能,由于没有使用专门的时钟芯片,硬件电路简单,所用元器件少,成本较低并且走时准确。
本文所设计的源程序能够顺利的在Keil集成开发环境下通过编译链接并且对I/O口进行仿真。
关键词数字钟,单片机,AT89C51,数码管
Abstract
The digital clock is a timing device which uses the digital circuit to realizes to the second digital demonstration's timing unit. It plays an important role in the people’s daily life.Therefore, the layout and the development of the digital clock also seem to be very important. This design uses Atmel Corporation's AT89C51 monolithic integrated circuit, take the C language as the programming’s foundation. When designs a digital clock which uses eight figures a tube to show, cent, second and can pass a key to hour and cent carry on regulatory electronics .Not only has completed the hardware circuit design, but also realizes software's design using the Keil compiler. In completes the hardware circuit design in the foundation mainly to realize the time and the date demonstration and the timing function by the software programming, because does not have the
use special clock chip, the hardware circuit is succinct, uses the primary device to be few, the cost is low, and is in luck accurately. This article designs the procedure can smooth through translate under the Keil compiler environment and move stably and carry on imitate to the I/O really.
Keywords digital clock, monolithic integrated circuit, AT89C51, nixie tubes
目录
引言.......................................................... (V)
中文摘要 (VI)
Abstract (VII)
1设计任务描述 (1)
1.1 设计题目 (1)
1.2 设计要求 (1)
1.2.1 设计目的 (1)
1.2.2 基本要求 (1)
1.2.3 附加功能 (1)
2方案设计与论证 (2)
3系统设计 (3)
3.1设计思想 (3)
3.2数字钟的系统框图 (3)
4硬件设计.... . (4)
4.1电路设计及其工作原理 (4)
4.1.1 控制部分AT89C51 (4)
4.1.2数码管显示部分 (4)
4.1.3按键调时部分 (5)
5软件设计.... .. (6)
5.1程序原理概述 (6)
5.2程序清单.... .. (6)
小结 (11)
致谢 (12)
参考文献 (13)
附录 (14)。