根据51单片机的时钟电路设计.doc

上传人:一*** 文档编号:2539479 上传时间:2020-04-19 格式:DOC 页数:28 大小:349.34KB
返回 下载 相关 举报
根据51单片机的时钟电路设计.doc_第1页
第1页 / 共28页
根据51单片机的时钟电路设计.doc_第2页
第2页 / 共28页
点击查看更多>>
资源描述

《根据51单片机的时钟电路设计.doc》由会员分享,可在线阅读,更多相关《根据51单片机的时钟电路设计.doc(28页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、.-中文摘要随着单片机技术的飞速发展,在其推动下,现代的电子产品几乎渗透到了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高。时间对于人们来说总是那么的宝贵,可以说时间和金钱是划上了等号。准确的掌握时间和分配时间对人们来说至关重要。因此采用单片机为主的数码管为显示器的电子时钟就体现出了很大的优势。电子钟的设计方法有很多种,但利用单片机制作的电子时钟更具有编程灵活、便于电子功能的扩充、精确度高、便于携带、显示直观等特点。 通过利用MCS-51单片机内部的定时器/计数器功能来实现电子时钟的计时方法。主要由AT89S51芯片和LED数码显示管为核

2、心,构成了一个单片机电子时钟。关键词:单片机,AT89S51,电子时钟,LEDAbstractWith the rapid development of microcomputer technology in its promotion, modern electronics into almost all areas of society, a strong impetus to the development of social productive forces and social improvement in the level of information, but also to

3、 further improve the performance of modern electronic products.Time is always so valuable for people who can say that time and money is the equal sign. Accurate grasp of time and allocation of time is crucial to people. Therefore, the digital control based on microcomputer-based electronic clock on

4、the display reflects a great advantage. Clock Design There are many ways, however, produced by single chip electronic clock is more flexible programming, and easy expansion of electronic capabilities, high accuracy, easy to carry, display visual and so on. In this paper, through the use of MCS-51 mi

5、crocontrollers internal timer / counter function to implement the electronic clock timing method. Mainly by the AT89S51 chip and LED digital display tube as the core, forming a single chip electronic clock. Key word: Monolithic integrated circuit,AT89S51,Electronic clock,LED 目录 第一章、 前言51.1 概述51.2 研究

6、目的5第二章、 电路涉及单片机概述62.1 单片机的概念62.2 单片机的发展史和发展趋势62.2.1 单片机的发展历史62.2.2 单片机的发展趋势62.3 单片机的特点72.4 MCS-51单片机的基本结构72.4.1 MCS-51单片机的基本组成72.4.2 AT89S51单片机的引脚8第三章、 系统设计103.1 设计方法及原理103.1.1 设计方法93.1.2 电子时钟原理93.1.3 数码管显示原理93.2 总体设计103.2.1 系统说明103.2.2 系统框图103.3 模块设计113.3.1 电源部分113.3.2 复位电路113.3.3 数码管的连接电路123.3.4 控

7、制部分13第四章、 软件设计154.1 程序流程图154.2 源程序174.2.1 中断入口程序174.2.2 主 程 序184.2.3 1秒计时程序184.2.4 闪动调时程序204.2.5 加1子程序214.2.6 清零程序224.2.7 时钟调整程序224.2.8 显示程序244.2.9 延时程序25参考文献27 致谢28.-第一章、前言1.1 概述时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在单片机的应用系统中,时钟有两个方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定

8、时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时器/计数器来实现;二是用专门的时钟芯片实现2。由于51系列单片机的内部具有定时器/计数器的功能,因此采用51系列单片机里的AT89S51和LED数码管为核心,加以必要的电路,来构成了一个单片机电子时钟。1.2 研究目的通过利用MCS-51单片机内部的定时器/计数器功能、中断系统功能、以及外围的按键和LED显示器等部件,设计一个基于单片机的电子时钟。设计的电子时钟通过数码管显示,并能通过按键对时间进行设置。第二章、 电路涉及单片机概述2.1 单片机的概念 单片机(MCU)可以定义为:一种把微处理器(CPU)、随机

9、存储器(RAM)、只读存储器(ROM)、输入/输出(I/O)接口电路、定时器/计数器、串行通信接口及中断系统等部件集成在同一块芯片上的,具有完整功能的微型计算机。这块芯片就是硬件,而软件程序则存放在片内的只读存储器中。2.2 单片机的发展史和发展趋势2.2.1 单片机的发展历史1974年12月,美国著名的仙童(Fairchild)公司推出了世界上第一台单片机F8。该机有两块集成电路芯片组成,具有与众不同的指令系统,结构奇特,深受民用电器和仪器仪表领域的欢迎和重视。从此单片机开始迅速发展,应用范围也在不断扩大,现已成为微型计算机的重要分支。单片机的发展大致经历了外围集成、总线完善、功能集成、全方

10、位发展等技术发展阶段,至今已走过了四代的历程3。2.2.2 单片机的发展趋势 当前,单片机正朝着高性能和多品种方向发展。预计,单片机将进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方向发展。2.3 单片机的特点 根据其结构形式和所采用的半导体工艺,单片机具有以下主要特点:(1) 性价比高。(2) 集成度高、体积小、可靠性高。由于单片机将各个功能部件集成在一块芯片上,且内部采用总线结构,减少了各个芯片之间的连线,从而大大提高了单片机的可靠性与抗干扰能力。(3) 控制功能强。单片机中的指令系统中均有极丰富的转移指令、I/O接口的逻辑操作及位处理功能。(4) 低功

11、耗、低电压,便于生产便携式产品。 (5) 外部总线增加了串行总线方式,进一步缩小了体积,简化了结构。 (6) 单片机的系统扩展和系统配置较典型、规范,易于构成各种规模的应用系统。2.4 MCS-51单片机的基本结构2.4.1 MCS-51单片机的基本组成MCS-51单片机的基本组成如图2.1所示。振荡与定时电路CPU4KB/8KB程序存储器21B特殊功能寄存器128B数据存储器总线控制四个8位并行串口一个串型端口两个16位定时器/计数器时钟源计数输入内部总线内部中断信号外部中断信号控制P0P1P2P3串行输入并行输出图2.1 MCS-51单片机的基本组成 从图2.1中可以看出,MCS-51单片

12、机内部主要包括以下几部分。(1) 一个8位CPUMCS-51单片机有一个8位CPU,包括运算器和控制器,并且具有面向控制的处理功能,不仅可以处理字节数据还可以进行位变量的处理,如位处理、查表、状态检测、中断处理等。(2) 数据RAM和特殊功能寄存器SFRMCS-51单片机片内具有128B的数据RAM,片外最多可以扩展到64KB。数据RAM用来存储单片机运行期间的工作变量、运算的中间结果、数据暂存和缓冲、标志位等。(3) 内部程序ROMMCS-51单片机内部具有4KB的程序ROM,片外最多可以扩展到64KB。可以用来存储用户程序。(4) 两个定时器/计数器MCS-51单片机内部具有两个16位的定

13、时器/计数器,具有四种工作方式。可以进行精确地计时,又可以对外部事件进行计数。(5) 四个8位可编程的I/O并行端口四个8位的I/O并行端口,其中P0口为双向口,P1P3口为准双向口。(6) 一个串行通信端口串行口用来进行串行异步通信,与PC机或者多个单片机实现主从通信或者构成多机系统以实现更强的的功能。(7) 中断控制系统MCS-51单片机具有五个固定的可屏蔽中断源,三个在片内,两个在片外,它们在程序存储器中有各自的固定中断入口地址,由此可以进入中断服务程序。(8) 内部时钟电路路单片机的时钟信号用来提供单片机内各种微操作的时间基准,有两种方法可以得到时钟信号:一种是内部振荡方式;另一种是外

14、部振荡方式。2.4.2 AT89S51单片机的引脚 AT89S51单片机芯片采用40个引脚、双列直插封装(DIP)方式,引脚排列如图2.2所图2.2 MCS-51单片机的引脚排列第三章、 系统设计3.1 设计方法及原理3.1.1 设计方法(1) 电子时钟的显示为XX(时):XX(分):XX(秒)(2) 电子时钟的时间可调整,且调整方法为:按下调整键(S2)的时间小于1秒时(t0.5s)分钟位闪亮,此时按下S2键(t0.5s)时钟位闪亮,此时按下S2键(t0.5s),返回到正常显示状态。3.1.2 电子时钟原理在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器和相关软件结合实现

15、1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将时字节清零。3.1.3 数码管显示原理数码管的显示采用动态显示。动态显示就是指轮流的一位一位的点亮各个显示位,对显示器的每一位,采用每隔一段时间点亮一次。利用人的视觉暂留特点能够看到整个显示,但必须保证扫描速度够快,字符才能不闪烁。显示器的亮度既与导通电流有关,也与点亮时间和间隔时间的比例有关。调整参数可以实现较高稳定度的显示4。因此采用动态显示节省了I/O口,更降低了能量的消耗。3.2 总体设计3.2.1 系统说明利用单

16、片机(AT89S51)制作电子时钟,由六个LED数码管分别显示小时的十位、小时的个位、分钟的十位、分钟的个位、秒钟的十位、秒钟的个位。6个PNP管分别控制六个数码管的亮灭,采用一个按键用于时间调整。3.2.2 系统框图 系统框图如图3.1所示。电源部分直流电源4.5V控制部分单片机(AT89S51)复位电路按键S2位选部分6个PNP三极管6个七段共阴极数码管显示秒、分、及小时位图3.1 系统框图3.3 模块设计3.3.1 电源部分 图3.2 电源部分如图3.2所示,从外部引入4.5V的直流电,为单片机、复位电路提供电源。3.3.2 复位电路图3.3 复位电路如图3.3所示,复位电路主要由1N4

17、148型的二极管, 10UF/16V型的电解电容, 104型的瓷片电容,10K的电阻以及按键S1构成,S1接芯片的相应引脚RST,当开关按下时引脚RST为高电平1,断开时引脚为低电平0。3.3.3 数码管的连接电路图3.4 数码管连接电路图3.4为LED数码管的连接电路,每位的段码线(a,b,c,d,e,f,g,dp)分别与1个8位的锁存器输出相连,由AT89S51控制组合09十个数据,如令其显示1则b,c引脚(即2,3引脚)送高电平,此时数码管显示1。由于各位的段码线并联,8位I/O口输出段码对各个显示位来说都是相同的。3.3.4 控制部分 如图3.5所示。图3.5 控制电路第四章、 软件设

18、计4.1 程序流程图图4.1描述的是主程序的流程图,程序开始运行,首先初始化定时器的常数,设置好T0中断入口,然后进入一个循环,等待中断T0的到来。图4.2描述的是一次T0中断的过程。进入中断,首先现场保护,然后重新设定定时器初值;然后判断本轮中断的次数是否满20次,如果不是,则还没增加到1秒,如果满20次,然后时间增加1秒,分钟和时钟的变化也按相应规则随之改变。做完上面操作之后,恢复进入中断前的现场,退出中断,到此一次中断结束。图4.3描述的是时钟调整的程序的执行过程。这个过程,根据按键S2的时间去判断执行何种操作。T0中断现场保护重装定时器初值满20次否秒值加1Y满60秒否秒缓冲单元清零Y

19、分值加1满60分否分缓冲单元清零Y时值加1满24小时否时缓冲单元清零Y恢复现场结束NNNN主程序开始设定定时器常数开中断到1秒?显示时间YN图4.1 主程序流程图 图4.2 T0流程图时钟调整程序按键S2时间t1Y分钟闪烁,调时状态按键S2时间t0.5Y分值加1分值=60?Y分值清零N关闭显示(省电)时钟闪烁,调时状态NN时值加1时值=24时值清零YY显示返回YNNS2是否按下按键S2时间t0.5图4.3 时钟调整的程序流程图 4.2 源程序表4.1 P1口对应段码及数值显示数字P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.016进制代码dpgfedcba0001111113F

20、H10000011006H2010110115BH3010011114FH40110011066H5011011016DH6011111017DH70000011107H8011111117FH9011011116FH4.2.1 中断入口程序ORG 0000H;程序执行开始地址LJMP START;跳到标号START执行ORG 0003H;外中断0中断程序入口RETI ;外中断0中断返回ORG 000BH;定时器T0中断程序入口LJMP INTT0;跳至INTTO执行ORG 0013H;外中断1中断程序入口RETI ;外中断1中断返回ORG 001BH;定时器T1中断程序入口LJMP INTT

21、1;跳至INTT1执行ORG 0023H;串行中断程序入口地址RETI ;串行中断程序返回4.2.2 主程序 START: MOV R0, # 70H ;清70H-7AH共11个内存单元 MOV R7, # 0BH CLR P3.7CLEARDISP: MOV R0, # 00H INC R0 DJNZ R7, CLEARDISP MOV 20H, # 00H ;清20H(标志用) MOV 7AH, # 0AH ;放入熄灭符数据 MOV TMOD, # 11H ;设T0、T1为16位定时器 MOV TL0, # 0B0H ;50MS定时初值(T0计时用) MOV TH0, # 3CH ;50M

22、S定时初值MOV TL1, # 0B0H ;50MS定时初值(T1闪烁定时用)MOV TH1, # 3CH ;50MS定时初值 SETB EA ;总中断开放 SETB ET0 ;允许T0中断 SETB TR0 ;开启T0定时器 MOV R4, # 14H ;1秒定时用初值(50MS20) START1: LCALL DISPLAY ;调用显示子程序 JNB P3.7, SETMM1 ;P3.7口为0时转时间调整程序 SJMP START1 ;P3.7口为1时跳回START1 SETMM1: LJMP SETMM ;转到时间调整程序SETMM4.2.3 1秒计时程序 INTT0: PUSH AC

23、C ;累加器入栈保护 PUSH PSW ;状态字入栈保护 CLR ET0 ;关T0中断允许 CLR TR0 ;关闭定时器T0 MOV A, # 0B7H ;中断响应时间同步修正 ADD A, TL0 ;低8位初值修正 MOV TL0, A ;重装初值(低8位修正值) MOV A, # 3CH ;高8位初值修正 ADDC A, TH0 MOV TH0, A ;重装初值(高8位修正值) SETB TR0 ;开启定时器T0 DJNZ R4, OUTT0 ;20次中断未到中断退出 ADDSS: MOV R4, # 14H ;20次中断到(1秒)重赋初值 MOV R0, # 71H ;指向秒计时单元(7

24、1H-72H) ACALL ADD1 ;调用加1程序(加1秒操作) MOV A, R3 ;秒数据放入A(R3为2位十进制数组合) CLR C ;清进位标志 CJNE A, # 60H, ADDMM ADDMM: JC OUTT0 ;小于60秒时中断退出 ACALL CLR0 ;大于或等于60秒时对秒计时单元清0 MOV R0, # 77H ;指向分计时单元(76H-77H) ACALL ADD1 ;分计时单元加1分钟 MOV A, R3 ;分数据放入A CLR C ;清进位标志 CJNE A, # 60H, ADDHH ADDHH: JC OUTT0 ;小于60分时中断退出 ACALL CLR

25、0 ;大于或等于60分时分计时单元清0 MOV R0, # 79H ;指向小时计时单(78H-79H) ACALL ADD1 ;小时计时单元加1小时 MOV A, R3 ;时数据放入A CLR C ;清进位标志 CJNE A, # 24H, HOUR HOUR: JC OUTT0 ;小于24小时中断退出 ACALL CLR0 ;大于或等于24小时小时计时单元清0 OUTT0: MOV 72H, 76H ;中断退出时将分、时计时单元数据移 MOV 73H, 77H ;入对应显示单元 MOV 74H, 78H MOV 75H, 79H POP PSW ;恢复状态字(出栈) POP ACC ;恢复累

26、加器 SETB ET0 ;开放T0中断 RETI ;中断返回4.2.4 闪动调时程序T1中断服务程序,用作时间调整时调整单元闪烁指示INTT1: PUSH ACC ;中断现场保护 PUSH PSW MOV TL1, #0B0H ;装定时器T1定时初值 MOV TH1, #3CH DJNZ R2,INTT1OUT ;0.3秒未到退出中断(50MS中断6次) MOV R2, #06H ;重装0.3秒定时用初值 CPL 02H ;0.3秒定时到对闪烁标志取反 JB 02H, FLASH1 ;02H位为1时显示单元熄灭 MOV 72H, 76H ;02H位为0时正常显示 MOV 73H, 77H MO

27、V 74H, 78H MOV 75H, 79H INTT1OUT: POP PSW ;恢复现场 POP ACC RETI ;中断退出FLASH1: JB 01H, FLASH2 ;01H位为1时,转小时熄灭控制 MOV 72H, 7AH ;01H位为0时,熄灭符数据放入分 MOV 73H, 7AH ;显示单元(72H-73H),将不显示分数据 MOV 74H, 78H MOV 75H, 79H AJMP INTT1OUT ;转中断退出FLASH2: MOV 72H, 76H ;01H位为1时,熄灭符数据放入小时 MOV 73H, 77H ;显示单元(74H-75H),小时数据将不显示 MOV

28、74H, 7AH MOV 75H, 7AH AJMP INTT1OUT ;转中断退出4.2.5 加1子程序 ADD1: MOV A, R0 ;取当前计时单元数据到A DEC R0 ;指向前一地址 SWAP A ;A中数据高四位与低四位交换 ORL A, R0 ;前一地址中数据放入A中低四位 ADD A, #01H ;A加1操作 DA A ;十进制调整 MOV R3,A ;移入R3寄存器 ANL A, #0FH ;高四位变0 MOV R0,A ;放回前一地址单元 MOV A, R3 ;取回R3中暂存数据 INC R0 ;指向当前地址单元 SWAP A ;A中数据高四位与低四位交换 ANL A,

29、#0FH ;高四位变0 MOV R0,A ;数据放入当削地址单元中 RET ;子程序返回4.2.6 清零程序 对计时单元清零用 CLR0: CLR A ;清累加器 MOV R0,A ;清当前地址单元 DEC R0 ;指向前一地址 MOV R0,A ;前一地址单元清0 RET ;子程序返回4.2.7 时钟调整程序当调时按键按下时进入此程序 SETMM: CLR ET0 ;关定时器T0中断 CLR TR0 ;关闭定时器T0 LCALL DL1S ;调用1秒延时程序 JB P3.7,CLOSEDIS ;键按下时间小于1秒,关闭显示 MOV R2, #06H ;进入调时状态,赋闪烁定时初值 SETB

30、ET1 ;允许T1中断 SETB TR1 ;开启定时器T1 SET2: JNB P3.7,SET1 ;P3.7口为0(键未释放),等待 SETB 00H ;键释放,分调整闪烁标志置1 SET4: JB P3.7,SET3 ;等待键按下 LCALL DL05S ;有键按下,延时0.5秒 JNB P3.7,SETHH ;按下时间大于0.5秒转调小时状态 MOV R0, #77H ;按下时间小于0.5秒加1分钟操作 LCALL ADD1 ;调用加1子程序 MOV A,R3 ;取调整单元数据 CLR C ;清进位标志 CJNE A, #60H,HHH ;调整单元数据与60比较 HHH: JC SET4

31、 ;调整单元数据小于60转SET4循环 LCALL CLR0 ;调整单元数据大于或等于60时清0 CLR C ;清进位标志 AJMP SET4 ;跳转到SET4循环CLOSEDIS: SETB ET0 ;省电状态。开T0中断 SETB TR0 ;开启T0定时器(开时钟) CLOSE: JB P3.7,CLOSE ;无按键按下,等待。 LCALL DISPLAY ;有键按下,调显示子程序延时削抖 JB P3.7,CLOSE ;是干扰返回CLOSE等待 WAITH: JNB P3.7,WAITH ;等待键释放 LJMP START1 ;返回主程序(LED数据显示亮) SETHH: CLR 00H

32、;分闪烁标志清除(进入调小时状态) SETHH1: JNB P3.7,SET5 ;等待键释放 SETB 01H ;小时调整标志置1 SET6: JB P3.7, SET7 ;等待按键按下 LCALL DL05S ;有键按下延时0.5秒 JNB P3.7, SETOUT ;按下时间大于0.5秒退出时间调整 MOV R0, #79H ;按下时间小于0.5秒加1小时操作 LCALL ADD1 ;调加1子程序 MOV A, R3 CLR C CJNE A, #24H,HOUU ;计时单元数据与24比较 HOUU: JC SET6 ;小于24转SET6循环 LCALL CLR0 ;大于或等于24时清0操作 AJMP SET6 ;跳转到SET6循环 SETOUT: JNB P3.7,SETOUT1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 施工组织

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com