收藏 分享(赏)

用单片机实现电子时钟.doc

上传人:scg750829 文档编号:7529602 上传时间:2019-05-20 格式:DOC 页数:22 大小:503.50KB
下载 相关 举报
用单片机实现电子时钟.doc_第1页
第1页 / 共22页
用单片机实现电子时钟.doc_第2页
第2页 / 共22页
用单片机实现电子时钟.doc_第3页
第3页 / 共22页
用单片机实现电子时钟.doc_第4页
第4页 / 共22页
用单片机实现电子时钟.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、用 单 片 机 实 现 电 子 时 钟 目 录 一 电 子 时 钟 简 介 2 二 构 成 电 子 时 钟 相 关 硬 件 的 介 绍 2 1 单 片 机 简 介 3 2 74LS47( BCD) 译 码 驱 动 器 .5 3 LED数 码 管 显 示 器 .6 4 按 键 7 5 74LS138译 码 器 8 三 单 片 机 实 现 电 子 时 钟 系 统 过 程 设 计 10 1.电 子 时 钟 系 统 工 作 原 理 10 2.总 体 电 路 图 .11 3.程 序 模 块 设 计 .12 4.程 序 流 程 图 13 四 设 计 分 析 总 结 .18 五 参 考 文 献 19 一电子

2、时钟简介电子时钟是生活中非常使用的电子部件,一般来说,电子时钟应当具有时.分.秒三部分的内容显示。而这三个部分还可以分别调整。现在好一些的电子时钟除了有时.分.秒的显示之外,还有年.月.日显示闹钟设置等多种功能。实际上这些显示都能用单片机来实现。1957 年,Ventura 发明了世界上第一个电子表,从而奠定了电子时钟的基础,电子时钟开始迅速发展起来。现代的电子时钟是基于单片机的一种计时工具,采用延时程序产生一定的时间中断,用于一秒的定义,通过计数方式进行满六十秒分钟进一,满六十分小时进一,满二十四小时小时清零。从而达到计时的功能,是人民日常生活不可缺少的工具。电子时钟的基本特点 现在高精度的

3、计时工具大多数都使用了石英晶体振荡器,由于电子钟、石英钟、石英表都采用了石英技术,因此走时精度高,稳定性好,使用方便,不需要经常调试,数字式电子钟用集成电路计时时,译码代替机械式传动,用 LED 显示器代替指针显示进而显示时间,减小了计时误差,这种表具有时、分、秒显示时间的功能,还可以进行时和分的校对,片选的灵活性好。二电子时钟相关器件的介绍1.单片机1.1 单片机的概述人们过去把单片机微型计算机简称单片机,这个称谓一直延续至今。但在国际上,单片机一词的英文表达式还是有一定的演变的。最初单片机一词是源于“Single Chip Microcomputer”,因此简称SCM。随着 SCM 在技术

4、上.体系结构上不断扩展其控制功能,单片机已不能用“单片微型计算机”来准确表达其内涵。国际上逐渐采用 MCU(Micro Controller Unit)来代替。这就形成了日前单片机界公认的最终统一的名词。1.2 单片机的基本结构单片机是由 8 个大的部分组成的,这 8 个部分分别是中央处理器(CPU ).数据存储器 (RAM).程序存储器( ROM/EPROM).输入、输出接口(I/O),又分为 P0 口 P1 口 P2 口和 P3 口,可编程串行口,定时、计数器,中断系统及特殊功能寄存器。1.2.1 AT89S51 单片机的结构图 2-1图 2-1 是 AT89S51 单片机引脚配置图,40

5、 个引脚中,正电源和接地两根,外置石英振荡器的时钟线两根,4 组 8 位共 32 个 I/O 口,中断口线与 P3 口线复用。引脚说明如下:Pin20 : 接地线Pin40 : 正电源接脚。正常工作或对片内 EPROM 烧写程序时, AT89S51 可以接 4.55.5V 范围内的直流正电源,一般取代+5V 作为电源 使用Pin19 : 时钟 XTAL1 脚,片内振荡电路的输入端Pin18 : 时钟 XTAL2 脚,片内振荡电路的输出端输入/输出(I/O)引脚 : Pin39Pin32 为 P0.0P0.7 输入/ 输出脚,Pin1Pin8 为 P1.0P1.7 输入/输出脚,Pin21Pin

6、28 为 P2.0P2.7 输入/输出脚,Pin10Pin17 为 P3.0P3.7 输入/ 输出脚。 Pin9 : RST 复用信号复用脚。 (当单片机通电后,时钟电路开始工作,在 RST 引脚上出现 24 个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器 PC 指向 0000H ,P0P3 输出口全部为高电平,堆栈指针写入 07H,其他专用寄存器被清“0” ,RST 由高电平变为低电平后,系统即从 0000H 地址开始执行程序。 Pin30 : ALE/PROG ALE,当访问外部程序存储器时, ALE(地址锁存)的输出用于锁存地址的低字节,而访问内部程序存储器时,ALE 端将

7、有一个 1/6 时钟频率的正脉冲信号,这个信号可以识别单片机是否在工作,也可以当作一个时钟周期向外输出;还有一个特点,当访问外部程序存储器时,ALE 会跳过一个脉冲。如果单片机是 EPROM 在编程期间, PROG 将用于输入编程脉冲。Pin29 :PESN,当访问外部程序存储器时,此引脚输出负脉冲选通信号,PC 的 16 位地址数据将出现在 P0 和 P3 口上,外部程序存储器则把指令数据放到 P0 口上,由 CPU 读入并执行。Pin31 : EA/ VPP,程序存储器的内外部选通线。1.2.2 AT89S51 单片机的内部结构图AT89S51 内部结构图中央处理器(CPU):主要由运算器

8、和控制器构成;运算器主要包括算术与逻辑运算部件 ALU,累加器 ACC,寄存器 B, 存器TMP1 和 TMP2,程序状态字寄存器 PSW、布尔存储器和十进制调整电路等存储器:由片内程序存储器和片外程序存储器,片内数据存储器、片外数据存储器。输入/输出(I/O)端口:由并行 I/O 端口和串行 I/O 端口定时/计数器中断系统2. 74LS47(BCD 译码驱动器 )的相关知识2.1 74LS47 结构(图 2-2)图 2-2D、C、B、A :BCD 码输入引脚a、b、c、d、e、f、g :7 段 LED 数码管输出引脚LT :测试引脚。当本引脚输出低电平时,所连接的 7 段 LED 数码管全

9、亮。正常显示下,应输入高电平。RBI : 连波淹没输入引脚。正常显示下,应输入高电平。BI/RBO:淹没输入或连波淹没输出引脚。正常显示下,应输入高电平或空接。若版本引脚输入低电平,且 D、C、B、A 引脚输入为0,则该数位不显示。74LS47 功能表输入 输出数字 或功能 LT RBI D C B ABI/RBO a b c d e f g0 1 1 0 0 0 0 1 0 0 0 0 0 0 11 1 x 0 0 0 1 1 1 0 0 1 1 1 12 1 x 0 0 1 0 1 0 0 1 0 0 1 03 1 x 0 0 1 1 1 0 0 0 0 1 1 04 1 x 0 1 0

10、0 1 1 0 0 1 1 0 05 1 x 0 1 0 1 1 0 1 0 0 1 0 06 1 x 0 1 1 0 1 1 1 0 0 0 0 07 1 x 0 1 1 1 1 0 0 0 1 1 1 18 1 x 1 0 0 0 1 0 0 0 0 0 0 09 1 x 1 0 0 1 1 0 0 0 1 1 0 010 1 x 1 0 1 0 1 1 1 1 0 0 1 011 1 x 1 0 1 1 1 1 1 0 0 1 1 012 1 x 1 1 0 0 1 1 0 1 1 1 0 013 1 x 1 1 0 1 1 0 1 1 0 1 0 014 1 x 1 1 1 0 1 1

11、 1 1 0 0 0 015 1 x 1 1 1 1 1 1 1 1 1 1 1 1BI x x x x x x 0 1 1 1 1 1 1 1RBI 1 0 0 0 0 0 0 1 1 1 1 1 1 1LT 0 x x x x x 1 0 0 0 0 0 0 03.LED 数码显示器将数个二极管按一定的规律进行组合,就可以得到 LED 显示器。它由发光二极管构成显示字段,每段由一个或几个发同种颜色的发光二极管构成。+图 3-1如图 3-1 所示,将 a g ,d p 表示是的 8 个发光二极管的某一端连接到一起,而另一端作为控制信号的输入端,当正极引脚连接到一起时,就行成图(b)所示的共阳

12、极数码管;反之,当负极引脚连接到一起时,形成图(a)所示的共阴极数码管。共阴极数码管:当公共连接点接地(低电平) ,而控制某段输入信号为高电平时,该段就会被点亮;共阳极数码管则与之相反。4.按键按键是最简单的输入元件之一,将其一端接到电源的正极(或负极) ,另一端接到单片机的某个 I/O 端口引脚,当按键作用时,相应的 I/O端口引脚上的电平状态就会发生变化。若在程序中对 I/O 端口引脚进行检测,那么就可以实现由按键动作操纵某些程序的执行,启动与停止了。图 4-1如图 4-1 所示为独立式键盘,在键盘没有按键动作时,P0.0、P0.1、P0.2 三个 I/O 端口引脚上的输入电平都是高电平,

13、当S0、S1、S 2 中某一个有按键动作时,对应的 I/O 端口引脚的输入电平就会变为低电平;当按键松开后,该 I/O 端口引脚的输入电平就会回复到高电平状态。它与单片机的接口方式有并行 I/O 口直接连接方式,扩展并行 I/O 连接方式灯等。图 4-1 为直接 连接方式。574LS138 译码器的相关知识74LS138 逻辑图如 5-1(a) ,引脚图形如 5-1(b) ,真值表如 5-1(c )所示:电路图 5-1-(a)电路图 5-1-(b)电路图 5-1-(c)由图得:74LS138 是一个 3 位二进制译码器,A2A0 是三个输入端,Y0Y7 是八个输出端且为低电平有效,另设三个使能

14、端STA、 STB、STC 用以控制译码器工作以及扩展功能。当 STA=1,STB=STC=0 时,译码器工作,这时输出端 Y0Y7的状态由输入变量 A2、A1、A0 决定。即:Y0=A2A1A0 Y1=A2A1A0 Y2=A2A1A0 Y3=A2A1A0 Y4=A2A1A0 Y5=A2A1A0 Y6=A2A1A0 Y7=A2A1A0当 STA=0 或 STB=1,或 STC=1 时译码器处于“禁止”译码状态,输出端 Y0Y7 均为 1三单片机实现电子时钟系统的过程设计1.电子时钟系统工作原理控制多位数码管常采用的方法是扫描显示法,即各数码管G1 G2A G2B C B A Y7 Y6 Y5

15、Y4 Y3 Y2 Y1 Y01 0 0 0 0 0 1 1 1 1 1 1 1 01 0 0 0 0 1 1 1 1 1 1 1 0 11 0 0 0 1 0 1 1 1 1 1 0 1 11 0 0 0 1 1 1 1 1 1 0 1 1 11 0 0 1 0 0 1 1 1 0 1 1 1 11 0 0 1 0 1 1 1 0 1 1 1 1 11 0 0 1 1 0 1 0 1 1 1 1 1 11 0 0 1 1 1 0 1 1 1 1 1 1 1其它状态 X X X 1 1 1 1 1 1 1 1公用输入数据,但各数码管的显示控制线则单独控制。我们要设计6 位数字的显示需要 6(控制

16、线)+4(译码前的输入引脚线)=10 条I/O 引脚,用 3 线 8 线译码芯片的 3 条 I/O 引脚线实现 18 个数码管的控制;用扫描显示法来完成多位数字显示设计,程序执行时,先使要显示的数字位数对应的数码管允许点亮;然后,将要显示的数据输出到译码管;显示时间到之后,先令其数码管关闭一个短暂的时间(约 50ms) ,然后再令下一个数码管的显示数据输出。2.总体电路图图 3-1实际电路图如图 3-1 所示电路中除了单片机之外,还有 6 个数码管:一个数码管显示译码器,一个 3 线 8 线译码器,3 个按键和一些电阻元件等。用P1 端口的 P1.3P1.0 来作为数码管显示数据的输出引脚,用

17、 P1.6P1.4引脚来作为 3 线 8 线译码器的控制输入引脚。用 P0 端口的P0.2P0.0 来分别作为时、分和秒的时间调整按钮。当按下按钮时,就会有低电平输入单片机。另外,3 线 8 线译码器的控制端Y0、 Y1、Y2、Y3、Y4 和 Y5 分别控制了电路图中的的D1、 D2、D3、D4、D5 和 D6,D6 和 D5 为时显示区,D4 和 D3 为分显示区,D2 和 D1 为秒显示区。3.程序模块设计程序设计原理电子时钟从功能上本来讲,是要实现两大方面的功能:时间的显示和时间的调整,时间显示方面,是要显示时、分、秒;而时间调整方面是要对这三个显示内容的分别调整。在时间的显示上,时钟的

18、显示是 24 小时显示,即显示 00 时至23 时;分钟的显示是 60 分,即显示 00 分到 59 分,当满 59 分要没第 60 分钟时,显示内容为 00,而同时使时钟显示值加 1;秒钟的显示是 60 秒,即显示 00 秒到 59 秒,当满 59 秒要没第 60 秒钟时,显示内容为 00,而同时使分钟显示值加 1。要实现几个时间显示值的按键可调,就应该在程序中置有对应的查询指令,以便在有相关的按键动作时,系统及时做出反应。另外,由于有三个时间显示内容需要分别调整,在查询及响应这三个按键动作的顺序方面,程序设计中也应有相应的设置。具体程序设计分析本设计要求显示的时间为时、分、秒,并且都用两位

19、数码管来实现显示。因此,具体设计程序时,应尽可能多用一些子程序与数据暂存寄存器单元。本程序设计中,在主程序之外,可以设置时间值处理子程序,时间值显示前的处理子程序,按键情况扫描子程序,1s 定时中断子程序以及 5ms 延时消除按键抖动子程序等多个小型的子程序。另外,可以设置一些数据单元作为数据寄存器,用28H,2AH,2BH 和 2CH 地址单元分别作为显示位数的扫描指针值寄存器,时寄存器、分寄存器和秒寄存器,再用 20H 地址单元作为显示寄存器。P1 口输出到数码管上去显示,定时中断子程序在这里实现计时1s 的延时。4.程序流程图原程序清单:ORG 00H JMP START ORG 0BH

20、 JMP TIMO START: MOV SP,#70H MOV 28H,#00 MOV 2AH,#12H MOV 2BH,#00 MOV 2CH,#00 MOV TMOD,#01 MOV TH0,#0F0H MOV TL0,#60H MOV IE,82H MOV R4,#250 SETB TR0 LOOP: JB P0.0,N2 CALL DELAY MOV A,2CH ADD A,#01H DA A MOV 2CH,A CJNE A,#6H,N1 MOV 2CH,#00 N1: JNB P0.0,$ CALL DELAY N2: JB P0.1,N4 CALL DELAY MOV A,2B

21、H AD A,#01H DA A MOV 2BH,A CJNE A,#60H,N3 MOV 2BH,#00 N3; JNB P0.1,$ CALL DELAY N4: JB P0.2,LOOP CALL DELAY MOV A,2AH ADD A,#2AH DA A MOV 2AH,A CJNE A,#24H,N5 MOV 2AH,#00 N5: JNB P0.2,$ CALL DELAY JMP LOOP ;*定时器 T0 中断子程序*TIMO: MOV THO,#0F0H MOV TLO,#60HPUSH ACC PUSH PSW DJNZ R4,X2 MOV R4,#250 CALL C

22、LOCK CALL DISP X2: CALL SCAN POP PSW POP ACC RETI ;*扫描子程序*SCAN: MOV R0,#28HINC R0 CJNE R0,#6,X3 MOV R0,#0 X3: MOV A,R0 ADD A,#20H MOV R1,A MOV A,R0 SWAP A ORL A,R1 MOV P1,A RET;*计时子程序*CLOCK: MOV A,2CH ADD A,#1 DA AMOV 2CH,A CJNE A,#60H,X4 MOV 2CH,#00MOV A,2BHAD A,#1DA AMOV 2BH,ACJNE A,#60H,X4MOV 2BH

23、,#00MOV A,2AHADD A,#1DA AMOV 2AH,ACJNE A,#24H,X4MOV 2AH,#00X4: RET;*显示子程序*DISP: MOV R1,#20HMOV A,2CHMOV B,#10H DIV AB )MOV R1,B INC R1MOV R1,A INC R1MOV A,2BH MOV B,#10H DIV AB MOV R1,B INC R1MOV R1,A INC R1MOV A,2AH MOV B,#10H DIV AB MOV R1,B INC R1MOV R1,A RET;*延时 5s 消除抖动*DELAY: MOV R6,#60D1: MOV

24、R7,#248DJNZ R7,$DJNZ R6,D1RETEND四设计分析总结在莫老师的耐心指导下,我顺利地完成了这次单片机课程设计课题单片机实现电子时钟系统设计。通过这次课程设计使我巩固和加深了对单片机基本知识的理解。也让我认识到自己对单片机方面的知识知道的甚少,对于课本上的很多知识还不能灵活应用,尤其是对程序设计语句的理解应用,不能够成分理解每一个语句的具体含义,导致编程的程序过于复杂,使得需要的存储空间增大,损失了过多的内部资源。本次的设计使我从中学到了一些很重要的东西,那就是如何从理论到实践的转化,怎样将我们所学到的知识应用到我以后的工作中去。同时也让我学会了如何查寻资料,方案设计,方

25、案比较,以及单元电路的设计,进一步提高了自我的综合运用所学知识的能力,锻炼,分析,解决电子电路问题的实际本领。在大学的课堂的学习只是在给我们传授专业知识,而我们应该把所学的应用到现实生活中去,此次电子时钟系统的设计给我奠定了一些实践基础,我会在以后的学习中磨练自己,使自己适应以后的竞争,同时在查找资料的过程中,我也学到了新的知识,在和同学的协作过程中增进了同学间的友谊,使我对团队精神的积极性和重要性有了更加充分的认识了解。最后再次感谢莫老师的细心指导,正是由于您的细心辅导和您提供给我们的参考资料,使我顺利的完成了此次的课程设计。通过此次的综合训练,将会对我以后的毕业设计打下一定的基础。五参考文献【1】肖婧 单片机入门与趣味试验设计 北京:北京航空航天大学出版社 ,2008【2】倪志莲,张怡典,郭稳涛 单片机应用技术【M】 北京:北京理工大学出版社 ,2007【3】刘阿玲 电子技术【M】 北京:北京理工大学出版社 ,2008

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报