ImageVerifierCode 换一换
格式:DOCX , 页数:25 ,大小:264.17KB ,
资源ID:11206494      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-11206494.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(单片机的电子时钟电路.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

单片机的电子时钟电路.docx

1、单片机的电子时钟电路陕西教育学院高职毕业论文题目:基于单片机的数字时钟设计 班 级: 信息1031姓 名: 白海燕专 业: 信息工程指导教师: 艾明祥 时 间: 2012-10-22【中文摘要】单片机自20世纪70年代问世以来,以其极高的性能价格比,受到人们的重视和关注,应用很广、发展很快。单片机体积小、重量轻、抗干扰能力强、环境要求不高、价格低廉、可靠性高、灵活性好、开发较为容易。由于具有上述优点,在我国,单片机已广泛地应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等各个方面,而51单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习、应

2、用,以AT89S51芯片为核心,辅以必要的电路,设计了一个简易的电子时钟,它由4.5V直流电源供电,通过数码管能够准确显示时间,调整时间,从而到达学习、设计、开发软、硬件的能力。【关键词】: LCD显示 单片机 7段数码管【Abstract 】Single chip microcomputer since the nineteen seventies since, with its high cost performance, by the peoples attention and concem , a very wide application, development is very r

3、apid. Single chip microcomputer has the advantages of small volume, light weight, strong anti-interference ability, environmental requirement is not high, low price, high reliability is good, develop more easily. Due to the above-mentioned advantages, in our country, Single chip microcomputer has be

4、en widely used in industrial automatic control, automatic detection, intelligent instruments, household appliances, electrical and electronic, electromechanical integration equipment and other aspects, and 51 Single chip microcomputer is the most typical and the most representative one .The graduati

5、on design through the study, application, to AT89S51 chip as the core, supplemented by necessary circuit, design a simple electronic clock, which is composed of 4.5V DC power supply, through the digital tube can accurately display the time, adjust time ,so as to achieve the study, design, developmen

6、t software, hardware capabilities.【Key word.】LCD display chip 6 7 digital tube 前言时钟电路在计算机系统中起着非常重要的作用,是保证系统正常工作的基础。在一个单片机应用系统中,时钟有两方面的含义:一是指为保障系统正常工作的基准振荡定时信号,主要由晶振和外围电路组成,晶振频率的大小决定了单片机系统工作的快慢;二是指系统的标准定时时钟,即定时时间,它通常有两种实现方法:一是用软件实现,即用单片机内部的可编程定时/计数器来实现,但误差很大,主要用在对时间精度要求不高的场合;二是用专门的时钟芯片实现,在对时间精度要求很高的情

7、况下,通常采用这种方法,典型的时钟芯片有:DS1302,DS12887,X1203等都可以满足高精度的要求。本文主要介绍用单片机内部的定时/计数器来实现电子时钟的方法,本设计由单片机AT89S51芯片和LED数码管为核心,辅以必要的电路,构成了一个单片机电子时钟。第一章 方案设计1.1数字时钟目的本方案完全用软件实现数字时钟。原理为:在单片机内部存储器设三个字节分别存放时钟的时、分、秒信息。利用定时器与软件结合实现1秒定时中断,每产生一次中断,存储器内相应的秒值加1;若秒值达到60,则将其清零,并将相应的分字节值加1;若分值达到60,则清零分字节,并将时字节值加1;若时值达到24,则将十字节清

8、零。该方案具有硬件电路简单的特点。但由于每次执行程序时,定时器都要重新赋初值,所以该时钟精度不高。而且,由于是软件实现,当单片机不上电,程序不执行时,时钟将不工作。基于硬件电路的考虑,本设计采用方案二完成数字时钟的功能。1.2数码管显示方案1) 静态显示。所谓静态显示,就是当显示器显示某一字符时,相应的发光二极管恒定的导通或截止。该方式每一位都需要一个8 位输出口控制。静态显示时较小的电流能获得较高的亮度,且字符不闪烁。但当所显示的位数较多时,静态显示所需的I/O口太多,造成了资源的浪费。2) 动态显示。所谓动态显示就是一位一位的轮流点亮各个位,对于显示器的每一位来说,每隔一段时间点亮一次。利

9、用人的视觉暂留功能可以看到整个显示,但必须保证扫描速度足够快,字符才不闪烁。显示器的亮度既与导通电流有关,也于点亮时间与间隔时间的比例有关。调整参数可以实现较高稳定度的显示。动态显示节省了I/O口,降低了能耗。3) 从节省I/O口和降低能耗出发,本设计采用方案二。第二章 单片机AT89S51 2.1 AT89S51单片机简介1. AT89S51主要功能列举如下:1) 为一般控制应用的 8 位单芯片2) 晶片内部具时钟振荡器(传统最高工作频率可至 12MHz)3) 内部程式存储器(ROM)为 4KB4) 内部数据存储器(RAM)为 128B5) 外部程序存储器可扩充至 64KB6) 外部数据存储

10、器可扩充至 64KB7) 7、32 条双向输入输出线,且每条均可以单独做 I/O 的控制8) 8、5 个中断向量源9) 9、2 组独立的 16 位定时器10) 10、1 个全多工串行通信端口11) 11、8751 及 8752 单芯片具有数据保密的功能12) 12、单芯片提供位逻辑运算指令2. AT89S51各引脚功能介绍:VCC:AT89S51 电源正端输入,接+5V。VSS:电源地端。XTAL1:单芯片系统时钟的反相放大器输入端。XTAL2:系统时钟的反相放大器输出端,一般在设计上只要在 XTAL1 和 XTAL2 上接上一只石英振荡晶体系统就可以动作了,此外可以在两引脚与地之间加入一 2

11、0PF 的小电容,可以使系统更稳定,避免噪声干扰而死机。RESET:AT89S51的重置引脚,高电平动作,当要对晶片重置时,只要对此引脚电平提升至高电平并保持两个机器周期以上的时间,AT89S51便能完成系统重置的各项动作,使得内部特殊功能寄存器之内容均被设成已知状态,并且至地址0000H处开始读入程序代码而执行程序。 EA/Vpp:EA为英文External Access的缩写,表示存取外部程序代码之意,低电平动作,也就是说当此引脚接低电平后,系统会取用外部的程序代码(存于外部EPROM中)来执行程序。因此在8031及8032中,EA引脚必须接低电平,因为其内部无程序存储器空间。如果是使用

12、8751 内部程序空间时,此引脚要接成高电平。此外,在将程序代码烧录至8751内部EPROM时,可以利用此引脚来输入21V的烧录高压(Vpp)。ALE/PROG:ALE是英文Address Latch Enable的缩写,表示地址锁存器启用信号。AT89S51可以利用这支引脚来触发外部的8位锁存器(如74LS373),将端口0的地址总线(A0A7)锁进锁存器中,因为AT89S51是以多工的方式送出地址及数据。平时在程序执行时ALE引脚的输出频率约是系统工作频率的1/6,因此可以用来驱动其他周边晶片的时基输入。此外在烧录8751程序代码时,此引脚会被当成程序规划的特殊功能来使用。PSEN:此为P

13、rogram Store Enable的缩写,其意为程序储存启用,当8051被设成为读取外部程序代码工作模式时(EA=0),会送出此信号以便取得程序代码,通常这支脚是接到EPROM的OE脚。AT89S51可以利用PSEN及RD引脚分别启用存在外部的RAM与EPROM,使得数据存储器与程序存储器可以合并在一起而共用64K的定址范围。PORT0(P0.0P0.7):端口0是一个8位宽的开路汲极(Open Drain)双向输出入端口,共有8个位,P0.0表示位0,P0.1表示位1,依此类推。其他三个I/O端口(P1、P2、P3)则不具有此电路组态,而是内部有一提升电路,P0在当做I/O用时可以推动8

14、个LS的TTL负载。如果当EA引脚为低电平时(即取用外部程序代码或数据存储器),P0就以多工方式提供地址总线(A0A7)及数据总线(D0D7)。设计者必须外加一锁存器将端口0送出的地址栓锁住成为A0A7,再配合端口2所送出的A8A15合成一完整的16位地址总线,而定址到64K的外部存储器空间。PORT2(P2.0P2.7):端口2是具有内部提升电路的双向I/O端口,每一个引脚可以推动4个LS的TTL负载,若将端口2的输出设为高电平时,此端口便能当成输入端口来使用。P2除了当做一般I/O端口使用外,若是在AT89S51扩充外接程序存储器或数据存储器时,也提供地址总线的高字节A8A15,这个时候P

15、2便不能当做I/O来使用了。PORT1(P1.0P1.7):端口1也是具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个LS TTL负载,同样地若将端口1的输出设为高电平,便是由此端口来输入数据。如果是使用8052或是8032的话,P1.0又当做定时器2的外部脉冲输入脚,而P1.1可以有T2EX功能,可以做外部中断输入的触发脚位。PORT3(P3.0P3.7):端口3也具有内部提升电路的双向I/O端口,其输出缓冲器可以推动4个TTL负载,同时还多工具有其他的额外特殊功能,包括串行通信、外部中断控制、计时计数控制及外部数据存储器内容的读取或写入控制等功能。其引脚分配如下:P3.0:RXD

16、,串行通信输入。P3.1:TXD,串行通信输出。P3.2:INT0,外部中断0输入。P3.3:INT1,外部中断1输入。P3.4:T0,计时计数器0输入。P3.5:T1,计时计数器1输入。P3.6:WR:外部数据存储器的写入信号。P3.7:RD,外部数据存储器的读取信号。AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片内含4K bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。AT89S51提供以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32I/O口线,看门

17、狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。如图3-7所示,AT89S51有40引脚,双列直插(DIP)封装,所用引脚功能如下:VCC 运行时加4.5VGND 接地XTAL1 振荡器反相放大器及内部时钟发生器的输入端XTAL2 振荡器反相放大器的输出端RST 复位输入,高电平有效,在晶振工作时,在RST引脚上作用2个机器周期以上的高电平,将使单片机复位。WDT溢出将使该引脚输出高电平,设置SFT AUXR的DISRTO位(地址8EH)可打开或关闭该功能。DISRTO位缺省为RESET输出高电平打开状态。/VPP 片外程

18、序存储器访问允许信号。欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地),如果EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。P1口,P2口P1,P2是一组带内部上拉电阻的8位双向I/O口。运行时通过P1口控制驱动电路的工作,将数据送到数码管,显示相应的段码,为了达到减少功耗或满足端口对最大电流的限制,应加上一限流电阻。P2.0P2.5口控制数码管的位选,使六个数码管轮流显示数据,等于1时位选三极管导通,等于0 时位选三极管截止。无自锁开关(S2P3.7)开关接相应引脚P3.7,当开关按下时,相应引脚为低电平0,断开时引脚为高电平1。

19、3.2 7段数码管图3-2.6为数码管的引脚图,每位的段码线(a,b,c,d,e,f,g,dp)分别与1个8位的锁存器输出相连,由AT89S51控制组合09十个数据,如令其显示1则b,c引脚(即2,3引脚)送高电平,此时数码管显示1。由于各位的段码线并联,8位I/O口输出段码对各个显示位来说都是相同的。图3-2.5 7段数码管 2.1总体设计利用单片机(AT89S51)制作简易电子时钟,由六个LED数码管分别显示小时十位、小时个位、分钟十位、分钟个位、秒钟十位、秒钟个位。6个PNP管(9012)分别控制六个数码管的亮灭,一个按键用于时间调整。3.1.2系统框图图1-1系统总框图3.2模块设计3

20、.2.1电源部分 图3-2.1 引入直流电 图3-2.2提供电源电路如图3-2.1所示,从外部引入4.5V的直流电,图3-2.2为单片机、复位电路提供电源。3-2.2复位电路图3-2.3复位电路如图3-2.3所示,复位电路主要由型号为1N4148的二极管,型号为10UF/16V的电解电容,型号为104的瓷片电容,10K的电阻以及按键S1构成,S1接芯片的相应引脚RST,当开关按下时引脚RST为高电平1,断开时引脚为低电平0。3.2.3程序下载接口 图3-2.4 下载接口如图3-2.4所示,由AT89S ISP构成的两排十针下载口,板图上有一个小方框,为1号引角;下载线的凸口为正方向,凸口的右侧

21、边的第一个插孔为1号引角。3.2.4位选部分图3-2.4位选电路图3-2.4为位选电路,三极管的集电极接数码管的公共端,当P2口对应的引脚输出高电平时三极管导通,对应的数码管显示数据。这样,在同一时刻,6位LED中只有选通的那1位显示出字符,而其他5位则是熄灭的。同样,在下一时刻,只让下一位的位选线处于选通状态,而其他个位的位选线处于关闭状态,在段码线上输出将要显示字符的段码,则同一时刻,只有选通位显示出相应的字符,而其他各位则是熄灭的。如此循环下去,就可以使各位显示出将要显示的字符。虽然这些字符是在不同时刻出现的,而在同一时刻,只有一位显示,其他各位熄灭,但由于LED的余辉和人眼的视觉暂留作

22、用,只要每位显示间隔足够短,则可以造成多位同时亮的假象,达到同时显示的效果。3.2.5数码管的连接电路图3-2.5数码管的连接图图3-2.6 数码引脚图图3-2.6为数码管的引脚图,每位的段码线(a,b,c,d,e,f,g,dp)分别与1个8位的锁存器输出相连,由AT89S51控制组合09十个数据,如令其显示1则b,c引脚(即2,3引脚)送高电平,此时数码管显示1。由于各位的段码线并联,8位I/O口输出段码对各个显示位来说都是相同的。3.2.6控制部分 图3-2.6 单片机AT89S514流程图4.1程序流程图图4-4图4-54.2源程序表4-2.1 P1口对应段码及数值:显示数字P1.7P1

23、.6P1.5P1.4P1.3P1.2P1.1P1.016进制代码dpgfedcba0001111113FH10000011006H2010110115BH3010011114FH40110011066H5011011016DH6011111017DH70000011107H8011111117FH9011011116FH 中断入口程序ORG 0000H ;程序执行开始地址LJMP START ;跳到标号START执行ORG 0003H ;外中断0中断程序入口RETI ;外中断0中断返回ORG 000BH ;定时器T0中断程序入口LJMP INTT0 ;跳至INTTO执行ORG 0013H ;外

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

25、OV TL0,#0B0H ;50MS定时初值(T0计时用) MOV TH0,#3CH ;50MS定时初值 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

26、 ;转到时间调整程序SETMM;1秒计时程序;T0中断服务程序 INTT0: PUSH ACC ;累加器入栈保护 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 ;2

27、0次中断到(1秒)重赋初值 MOV R0,#71H ;指向秒计时单元(71H-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:

28、JC OUTT0 ;小于60分时中断退出 ACALL CLR0 ;大于或等于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 P

29、SW ;恢复状态字(出栈) POP ACC ;恢复累加器 SETB ET0 ;开放T0中断 RETI ;中断返回; 闪动调时 程 序 ;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 ;

30、02H位为0时正常显示 MOV 73H,77H ; MOV 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 74H,

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2