当前位置:文档之家› 用数码管设计的可调式电子钟概要

用数码管设计的可调式电子钟概要

单片机原理及应用课程设计题目:基于T89C51设计可调式的电子钟学院:信息工程学院专业:计算机科学与技术班级:专升本班姓名:张永明学号: 2013052109指导老师:杜俊1概述 (4)1.1课题研究的目的和意义 (4)2 课题方案论证 (4)2.1系统总体设计要求 (4)2.2系统模块结构论证 (5)3 系统硬件设计 (5)3.2最小单片机系统 (6)3.3按键电路 (7)3.4显示电路 (8)4软件设计 (9)4.1 主程序 (9)5软硬件联调及调试结果 (18)5.1调试步骤 (18)结束语 (18)参考文献 (18)附录 (19)附录3 proteus仿真图 (19)基于T89C51设计可调式的电子钟摘要:数字电子时钟电路设计系统,以AT89C51单片机为控制核心,由开关显示、LED 共阴极数码管和LED灯显示等功能模块组成。

基于题目基本要求,本系统对时间显示和定时报警进行了重点设计。

本系统大部分功能由软件来实现,吸收了硬件软件化的思想,大部分功能通过软件来实现,使电路简单明了,系统稳定性大大提高。

本系统不仅成功的实现了要求的基本功能,而且有一定的创新功能。

关键字:单片机;AT89C51;数字钟1概述1.1课题研究的目的和意义此次设计是单片机内部的定时/计数器来实现电子时钟的方法以及借助键盘直接控制整时的调整,本设计根据AT89C51单片机系统扩展的基本原理和方法,由单片机AT89S51芯片,LED数码管和键盘为核心,辅以必要的电路,构成了一个单片机电子时钟。

一块单片机芯片就是一台计算机,由于单片机以其集成度高、体积小、可靠性高、控制功能强、低电压、低功耗等特点使它应用于智能仪器仪表、机电一体化、实时程控、人类生活中。

除此之外还广泛应用办公自动化领域、商业营销领域、汽车及通信系统、计算机外部设备等各领域中,并且单片机已成为计算机发展和应用的一个重要方面。

由此可见掌握单片机的使用方法和利用单片机解决实际问题具有重要的意义。

而此次的设计刚好用到单片机相关的知识可以说这是这次设计的重要意义和目的所在。

再者,此设计的LED电子时钟主要是显时间的,是时钟用途。

在此设计的基础上人们还可根据不同的需求和不同的设计水平做出不同的设计项目。

也可以加上日期,温度的显示和闹钟的功能。

如果设计水平还更高的话还可以设计LED 电子显示屏。

因此说,LED电子时钟设计是最简单和基础的。

而且电子时钟很实用,准确性也很好,也容易调节,若有毁坏更换元器件也简单,制作原理和过程也很易懂易做,成本也不高。

在此设计间也包含了很多的知识,跟我所学专业又对口,所以,做这个LED电子时钟是个很用很好很值得做的设计。

2 课题方案论证2.1系统总体设计要求本次设计中的LED数码管电子时钟电路采用24小时制记时方式。

本次设计采用AT89C51单片机的扩展芯片和1个74LS04做驱动,由八块LED数码管构成的显示系统,与传统的基于8/16位普通单片机的LED显示系统相比较,本系统在不显著地增加系统成本的情况下,可支持更多的LED数码管稳定显示。

设计采用AT89C51单片机,配备12MHz晶振,复位电路为上电复位。

采用软件译码动态显示,考虑直接用单片机I/O口作为位选时可能驱动功率不够,可采用三极管作驱动共阳极数码管显示。

8位8段LED数码管作正常、调时显示,时间按时分秒排列,时钟误差:24小时误差3~5秒,并且在按键的作用下可以进行调时,调分,复位功能。

本电路采用直流5V电源供电。

同时为了限流保护电路也用了若干个阻值不等的电阻。

在本文一开始做了一些概述主要说明此设计的目的和意义,并会对这类设计项目发展情况做个简介。

这是对这次设计很重要的一个认识是前提和设计者必须明确和了解的。

然后本文对此设计做了一些简要分析,这对理清设计思想很重要。

然后还对设计中用到的元器件进行比较全面的介绍。

只有真正了解了元器件的特性和功能才能让这些元器件在设计中起到作用。

电子整个设计第一步是电路原理图,它直接关系着后续的工作。

紧接着就是程序了,如果只有硬件电路而没有程序,那么这个设计将一文不值,也就是说是一堆破铜烂铁。

所以这部分也是非常重要的。

最后结合整个设计总结了一些心得体会为这次的设计画上完满的句号。

也为以后更好的设计提供经验。

2.2系统模块结构论证按照系统设计功能的要求,确定系统由4个模块组成:主控制器、扫描驱动、调节电路和显示电路。

数码管电子钟电路结构框图如图2-2所示图2-2 电路结构图3 系统硬件设计电子钟的原理框图如图3-1所示。

它由以下几个部件组成:单片机AT89C51、电源、时分秒显示部件。

时分秒显示采用动态扫描,以降低对单片机端口数的要求,同时也降低系统的功耗。

时分显示模块以及显示驱动都通过AT89C51的I/O口控制。

电源部分:整流稳压来得到+5V电压,维持系统的正常工作。

电子钟系统原理框图如图3-1所示:图3-1电子钟系统原理框图3.2最小单片机系统51单片机最小系统复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10~30uF ,51单片机最小系统容值越大需要的复位时间越短。

51单片机最小系统晶振Y1也可以采用6M H Z 或者12MHz ,在正常工作的情况下可以采用更高频率的晶振,51单片机最小系统晶振的振荡频率直接影响单片机的处理速度,频率越大处理速度越快。

51单片机最小系统起振电容C2、C3一般采用15~33pF ,并且电容离晶振越近越好,晶振离单片机越近越好4.P0口为开漏输出,作为输出口时需加上拉电阻,阻值一般为10k 。

设置为定时器模式时,加1计数器是对内部机器周期计数(1个机器周期等于12个振荡周期,即计数频率为晶振频率的1/12)。

计数值N 乘以机器周期Tcy 就是定时时间t 。

设置为计数器模式时,外部事件计数脉冲由T0或T 1引脚入到计数器。

在每个机器周期的S5P2期间采样T0、T1引脚电平。

当某周期采样到一高电平输入,而下一周期又采样到一低电平时,则计数器加1,更新的计数值在下一个机器周期的S3P1期间装入计数器。

由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周12MHz 时,最高计数频率不超过1/2MHz ,即计数脉冲的周期要大于2 ms最小系统如图3-2所示:图3-2最小系统3.3按键电路按键电路使用的是AT89C51单片机的P1和P2管脚,可调试电子中的按键总共为二个,按键功能分别为分钟,小时的加减。

通过按键电路,我们可以随意调整电子钟的时间,使单片机发挥它的作用。

按键电路图如图3-3所示:图3-3:按键电路图3.4显示电路可调试电子钟的显示电路采用8位数码管,显示出时间的时,分,秒。

使用的是AT89C51单片机的P0和P2管脚,显示电路中还将用到一块74LS245。

显示电路图如图3-4所示:图3-4显示电路4软件设计4.1 主程序Q0000: LJMP Q00DBNOPNOPNOPNOPNOPNOPNOPNOPLJMP Q0167INC R0INC R1NOPNOPCJNE R7,#00H,Q0015 Q0015: CJNE R7,#00H,Q0018 Q0018: NOPNOPNOPLJMP Q01A1Q001E: MOV P0,#0FFHMOV P3,#0FFHMOV TMOD,#11HMOV TH0,#0FCHMOV TL0,#18HMOV TH1,#0DCHCLR AMOV TL1,AMOV TCON,#01HSETB EASETB ET0SETB ET1MOV 14H,#0CHMOV 08H,AMOV 16H,AMOV 15H,AMOV A,14HMOV B,#0AHDIV ABMOV DPTR,#024DH MOVC A,@A+DPTR MOV 09H,AMOV A,14HMOV B,#0AHDIV ABMOV A,BMOVC A,@A+DPTR MOV 0AH,AMOV A,15HMOV B,#0AHDIV ABMOVC A,@A+DPTR MOV 0CH,AMOV A,15HMOV B,#0AHDIV ABMOV A,BMOVC A,@A+DPTR MOV 0DH,AMOV A,16HMOV B,#0AHDIV ABMOVC A,@A+DPTR MOV 0FH,AMOV A,16HMOV B,#0AHDIV ABMOV A,BMOVC A,@A+DPTR MOV 10H,AMOV 13H,#0FEH CLR AMOV 12H,ASETB TR0MOV 11H,#0FFHQ0091: MOV A,P1XRL A,11HJZ Q0091MOV R7,#0AHLCALL Q023BMOV A,P1XRL A,11HJZ Q0091MOV 11H,P1CLR EAMOV A,11HJB ACC.0,Q00B1LCALL Q0217SJMP Q00D7Q00B1: MOV A,11HQ00B3: JB ACC.1,Q00D7MOV A,15HINC AMOV B,#3CHDIV ABMOV 15H,BMOV A,15HMOV B,#0AHDIV ABMOV DPTR,#024DHMOVC A,@A+DPTRMOV 0CH,AMOV A,15HMOV B,#0AHDIV ABMOV A,BMOVC A,@A+DPTRMOV 0DH,AQ00D7: SETB EASJMP Q0091Q00DB: MOV R0,#7FHQ00DE: MOV @R0,ADJNZ R0,Q00DEMOV SP,#16HLJMP Q0122Q00E7: LJMP Q001EQ00EA: CLR AMOVC A,@A+DPTRINC DPTRMOV R0,AQ00EE: CLR AMOVC A,@A+DPTRINC DPTRJC Q00F6MOV @R0,ASJMP Q00F7Q00F6: MOVX @R0,AQ00F7: INC R0DJNZ R7,Q00EESJMP Q0125Q00FC: CLR AMOVC A,@A+DPTRINC DPTRMOV R0,AANL A,#07HADD A,#0CHXCH A,R0CLR CRLC ASWAP AANL A,#0FHORL A,#20HXCH A,R0MOVC A,@A+PCJC Q0114CPL AANL A,@R0SJMP Q0115Q0114: ORL A,@R0Q0115: MOV @R0,ADJNZ R7,Q00FCSJMP Q0125AJMP Q0002INC AINC R0JBC 24H.0,Q0161SJMP Q00B3NOPINC R6Q0125: CLR AMOV R6,#01HMOVC A,@A+DPTRJZ Q00E7INC DPTRMOV R7,AANL A,#3FHJNB ACC.5,Q013BANL A,#1FHMOV R6,ACLR AMOVC A,@A+DPTRINC DPTRJZ Q013BINC R6Q013B: XCH A,R7ANL A,#0C0HADD A,ACCJZ Q00EAJC Q00FCCLR AMOVC A,@A+DPTRINC DPTRMOV R2,ACLR AMOVC A,@A+DPTRINC DPTRMOV R0,AQ014C: CLR AMOVC A,@A+DPTRINC DPTRXCH A,R0XCH A,DPLXCH A,R0XCH A,R2XCH A,DPHXCH A,R2MOVX @DPTR,AINC DPTRXCH A,R0XCH A,DPLXCH A,R0XCH A,R2XCH A,DPHXCH A,R2Q0161: DJNZ R7,Q014CDJNZ R6,Q014CSJMP Q0125Q0167: PUSH ACCPUSH PSWMOV PSW,#00HPUSH 00HPUSH 07HMOV TH0,#0FCHMOV TL0,#18HMOV P3,13HMOV A,#09HADD A,12HMOV R0,AMOV A,@R0CPL AMOV P0,AMOV R7,13HMOV R0,#01HMOV A,R7INC R0SJMP Q018DQ018C: RL AQ018D: DJNZ R0,Q018CMOV 13H,AMOV A,12HINC AANL A,#07HMOV 12H,APOP 07HPOP 00HPOP PSWPOP ACCRETIQ01A1: PUSH ACCPUSH BPUSH DPHPUSH DPLPUSH PSWMOV TH1,#3CHMOV TL1,#0B0HINC 08HMOV A,08HCJNE A,#14H,Q01BEMOV 08H,#00HLCALL Q01F0Q01BE: POP PSWPOP DPLPOP DPHPOP BPOP ACCRETIQ01C9: INC 15HMOV A,15HSETB CSUBB A,#3BHJC Q01D8CLR AMOV 15H,ALCALL Q0217Q01D8: MOV A,15HMOV B,#0AHDIV ABMOV DPTR,#024DHMOVC A,@A+DPTRMOV 0CH,AMOV A,15HMOV B,#0AHDIV ABMOV A,BMOVC A,@A+DPTRMOV 0DH,ARETQ01F0: INC 16HMOV A,16HSETB CSUBB A,#3BHJC Q01FFCLR AMOV 16H,ALCALL Q01C9Q01FF: MOV A,16HMOV B,#0AHDIV ABMOV DPTR,#024DHMOVC A,@A+DPTRMOV 0FH,AMOV A,16HMOV B,#0AHDIV ABMOV A,BMOVC A,@A+DPTRMOV 10H,ARETQ0217: INC 14HMOV A,14HSETB CSUBB A,#17HJC Q0223CLR AMOV 14H,AQ0223: MOV A,14HMOV B,#0AHDIV ABMOV DPTR,#024DHMOVC A,@A+DPTRMOV 09H,AMOV A,14HMOV B,#0AHDIV ABMOV A,BMOVC A,@A+DPTRMOV 0AH,ARETQ023B: MOV R5,07HDEC R7MOV A,R5JZ Q024CCLR AMOV R6,AQ0243: MOV A,R6CLR CSUBB A,#78HJNC Q023BINC R6SJMP Q0243Q024C: RETPUSH 0F9HMUL ABANL C,/TIMOV P0.2,CMOV R0,ASJMP Q01E7MOV R7,A5软硬件联调及调试结果5.1调试步骤(1)在KEIL软件中编写程序,完成后,单击“项目”下的“编译”,产生“.hex”文件。

相关主题