2022年单片机设计数字时钟 .pdf
《2022年单片机设计数字时钟 .pdf》由会员分享,可在线阅读,更多相关《2022年单片机设计数字时钟 .pdf(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、一 摘要单片计算机即单片微型计算机。(Single-Chip Microcomputer ),是 集CPU ,RAM ,ROM , 定时,计数和多种接口于一体的微控制器。他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。而51 单片机是各单片机中最为典型和最有代表性的一种。这次毕业设计通过对它的学习,应用,从而达到学习、设计、开发软、硬的能力。二 说明系统由 AT89C51 、LED 数码管、按键、发光二极管等部分构成,能实现时间的调整、定时时间的设定,输出等功能。系统的功能选择由SB0 、SB1 、SB2 、SB3、SB4 完成。其中SB0 为时间校对,定时器调整功能键,按SB 0
2、 进入调整状态。SB1 为功能切换键。第一轮按动SB1 依次进入一路、二路、三路定时时间设臵提示程序,按SB3 进入各路定时调整状态。定时时间到,二极管发亮。到了关断时间后灭掉。如果不进入继续按SB1 键,依次进入时间? 年 ? 位校对、 ? 月? 位校对、? 日? 位校对、 ? 时 ? 位校对、 ? 分? 位校对、 ? 秒? 位校对状态。不管是进入那种状态,按动SB2 皆可以使被调整位进行不进位增量加1 变化。各预臵量设臵完成后,系统将所有的设臵存入RAM 中,按 SB1 退出调整状态。上电后,系统自动进入计时状态,起始于? 00? 时? 00? 分。 SB4 为年月日显示转换键,可使原来显
3、示时分秒转换显示年月日。三、电路原理分析1. 显示原理电原理图见附图1。由 6 个共阴极的数码管组成时、分、秒的显示。P0 口的 8 条数据线P0.0 至P0.7 分别与两个 CD4511 译码的 ABCD 口相接,P2 口的P2.0 至P2.2 分别通过电阻R10 至R13 与VT1 至VT3 的基极相连接。这样通过P0 口送出一个存储单元的高位、低位BCD 显示代码,通过P2 口送出扫描选通代码轮流点亮LED1 至LED6 ,就会将要显示的数据在数码管中显示出来。从P0 口输出的代码是BCD 码,从 P2 口输出的就是位选码。这是扫描显示原理。2 键盘及读数原理键盘是人与微机打交道的主要设
4、备,按键的读取容易引起误动作。可采用软件去抖动的方法处理,软件的触点在闭合和断开的时候会产生抖动,这时触点的逻辑电平是不稳定的,如不采取妥善处理的话,将引起按键命令错误或重复执行,在这里采用软件延时的方法来避开抖动,延时时间20ms. 3 连击功能的实现按下某键时,对应的功能键解释程序得到执行,如操作者没有释放按键,则对应的功能会反复执行,好象连续执行,在这里我们采用软件延时250ms, 当按键没释放则名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 12 页 - - -
5、- - - - - - 执行下一条对应程序。利用连击功能,能实现快速调时操作。四、程序设计思想和相关指令介绍本系统的主程序主要完成时间显示和定时输出判断功能。而年月日显示和各时间单元进位,时间设定时,调定时间设定时等功能全部在中断服务程序中完成。1数据与代码转换。由前述可知,从P2 口输出位选码,从P0 口输出段选码,LED 就会显示出数字来。但P0 口的输出的数据是要BCD 码,各存储单元存储的是二进制数,也就是和要显示出的字符表达的含义是不一致的。可见,将要显示的存储单元的数据直接送到P0 口去驱动 LED 数码管显示是不能正确表达的,必须在系统内部将要显示的数据经过BCD 码行转换后,将
6、各个单元数据的段选代码送入P0 口,给 CD4511 译码后去驱动数码管显示。具体转换过程如下:我们先将要显示的数据装入累加器A 中,再将 A 中的数据转换成高低两位的BCD 码,再放回 A 中,然后将 A 中的值输出。如:有一个单元存储了45 这样一位数,则需转换成四位的 BCD 码:( 0100 )( 0101 )然后放入 A 中。A 中BCD 码,高位四位代表? 4?低四位代表?5?同时送给两个译码器中,译码后? 45? 字就在两个 LED 中显示出来。2计时功能的实现与中断服务程序时间的运行依靠定时中断子程序对时钟单元数值进位调整来实现的。计数器T0 打开后,进入计时, 满100 毫秒
7、后, 重装定时。 中断一次, 满一秒后秒进位,满60 秒后即为 1 分钟,分钟单元进位,60 分到了后,时单元进位,24 小时满后,天单元进位。这样然后根据进率,得到年、月、日、时、分、秒存储单元的值,并经译码后,通过扫描程序送LED 中显示出来,实现时钟计时功能。累加是用指令INC 来实现的。进入中断服务程序以后,执行 PUSH PSW 和PUSH A 将程序状态寄存器PSW 的内容和累加器 A 中的数据保存起来,这便是所谓的? 保护现场 ? . 以保护现场和恢复现场时存取关键数据的存储区叫做堆栈。在软件的控制之下,堆栈可在片内RAM 中的任一区间设定,而堆栈的数据存取与一般的RAM 存取又
8、有区别,对它的操作,要遵循? 后进先出 ? 的原则。3 时间控制功能与比较指令系统的另一功能就是实现对执行设备的定时开关控制,其主要控制思想是这样的:先将执行设备开启的时间和关闭时间臵入RAM 某一单元, 在计时主程序当中执行几条比较指令,如果当前计时时间与执行设备的设定开启时间相等,就执行一条CLR 指令, 将对应的那路 P3 臵为高电位,开启;如果当前计时时间与执行设备设定的关闭时间相等,就执行SETB 对应的 P3 臵低电位,二极管截止,。实现此控制功能用到的比较指令为CJNE A ,#direct ,rel,其转移条件是累加器A 中的值与立即数不等则转移。参考文献1、 谢自美,电子线路
9、设计、实验、测试武汉:华中理工大学出版社,2000 2、 何书森、何华斌实用数字电路原理与设计速成福州:福建科学技术出版社,2000.6 3、 白驹衍,单片计算机及应用北京:电子工业出版社,1999.2 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 12 页 - - - - - - - - - 五:程序SEC EQU 32H ; 秒 即时时间伪指令MIN EQU 31H ; 分HOUR EQU 30H ;时DAY EQU 35H ; 日MON EQU 34H ;月YEA
10、R EQU 33H ;年MIN_1 EQU 41H ;分 定时器 1 路、开存储单元HOUR_1 EQU 42H ;时DAY_1 EQU 43H ; MON_1 EQU 44H ; YEAR_1 EQU 45H ; MIN_11 EQU 40H ;分 定时器 1 路、关存储单元HOUR_11 EQU 46H ;时DAY_11 EQU 47H ;日MON_11 EQU 48H ;月YEAR_11 EQU 49H ;年;* ORG 0000H ljmp MAIN ORG 0003H ; 中断转换显示年月日、INT0 (SB4 键)LJMP SHOW ORG 000BH ; 计数中断T0、方式 1
11、LJMP TIME ORG 0013H LJMP CHANGE; 调整时间、定时、INT1(SB0 键);- 主程序ORG 0030H MAIN: ;- 初始化付值MOV YEAR , #02 MOV MON , #05 MOV DAY , #01 MOV HOUR , #00 MOV MIN , #00 MOV SEC , #00 CLR 40H ; 定时单元 1 路清零CLR 41H CLR 42H CLR 43H CLR 44H CLR 45H CLR 46H CLR 47H CLR 48H CLR 49H ;- 开中断MOV TMOD , #01H ;计数、模式 1、T0 MOV TL
12、0, #0B0H ;100SM 计数定时MOV TH0, #3CH ; clr p3.0 MOV 20H, #0AH ;10 次*100SM SETB PT0 ;T0 为最高级SETB TR0 ; 允许计数SETB ET0 ; 允许 T0 中断SETB EX0 ; 允许 INT0 中断SETB EX1 ; 允许 INT1 中断SETB EA ; 开总中断;- 显示、定时器启动判断LOOP: MOV R1, #30H; 存储单元MOV R4, #01H; 位选通MOV R3, #03H; 三组显示NEXT: MOV A , R1 ; MOV B , #10 ; 将存储单元转换成两高低两组的BCD
13、 码DIV AB SWAP A ORL A, B MOV P0, A; 输出MOV P2, R4 INC R1 ; 下一单元MOV A, R4 ; RL A ; 位移MOV R4, A LCALL DE5SM ;延时 0.5SM DJNZ R3, NEXT ;全扫描显示一偏;- 判断定时输出 (只编写了一路 ) CJNE R7, #88H,LOOP ;是8 则开,否则、定时已关、转;- 开MOV A, YEAR CJNE A, YEAR_1, LOOP_1;年比较,不等转关MOV A, MON CJNE A, MON_1, LOOP_1 MOV A, DAY 名师资料总结 - - -精品资料欢
14、迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 12 页 - - - - - - - - - CJNE A , DAY_1,LOOP_1 MOV A, HOUR CJNE A, HOUR_1,LOOP_1 MOV A, MIN CJNE A, MIN_1, LOOP_1 CPL P3.0 ;- 关LOOP_1: MOV A, YEAR CJNE A, YEAR_11, LOOP;年比较MOV A, MON CJNE A, MON_11, LOOP MOV A, DAY CJNE A , DAY_11,LO
15、OP MOV A, HOUR CJNE A, HOUR_11,LOOP MOV A, MIN CJNE A, MIN_11, LOOP CPL P3.0 LJMP LOOP ;- 年月日显示中断子程序SHOW: PUSH PSW push ACC PUSH B PUSH 01H PUSH 02H PUSH 03H PUSH 04H MOV R2, #0FFH ;中断扫描次数TURN: MOV R1 , #33H MOV R4 , #01H MOV R3 , #03H NEXT_1: MOV A, R1 MOV B , #10 DIV AB SWAP A ORL A, B MOV P0, A M
16、OV P2, R4 INC R1 RL A MOV R4 ,A LCALL DE5SM DJNZ R3, NEXT_1 DJNZ R2, TURN ;反复显示一定时间后返回POP 04H POP 03H POP 02H POP 01H POP B POP ACC POP PSW RETI ;- 计数中断服务子程序TIME: PUSH PSW PUSH ACC PUSH B PUSH 06H MOV TH0 , #3CH;重装计数MOV TL0 , #0BH; DJNZ 20H, OUT ;转到中断跳出 pop 程序MOV 20H, #0AH ; 重装: 100*10=1000 ;- 进位程序I
17、NC SEC MOV R6, SEC ; CJNE R6, #60, OUT;比较MOV SEC , #00 ; INC MIN MOV R6, MIN CJNE R6, #60, OUT MOV MIN , #00 INC HOUR MOV R6 , HOUR CJNE R6 , #25 , OUT MOV HOUR ,#00 INC DAY MOV R5, MON CJNE R5, #1, MON_22;是否 1 月、不是转 2 月MOV R5, DAY CJNE R5, #32, OUT ; 本月是否益出INC MON MOV DAY,#1 LJMP OUT OUT: POP 06H 名
18、师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 12 页 - - - - - - - - - POP B POP ACC POP PSW RETI MON_22: MOV R5, MON CJNE R5 , #2 , MON_33;是否 2 月、不是转 3 月MOV A, YEAR ; 判断是否瑞年MOV B, #4 DIV AB MOV A , B JNZ OUT_1; 不是则转( A 不为零则转)MOV R5 ,DAY CJNE R5,#30, OUT;如是瑞年、判断是
19、否到29 天INC MON MOV DAY ,#1 LJMP OUT OUT_1: MOV R5, DAY CJNE R5, #29, OUT ;平年二月判断INC MON MOV DAY , #1 LJMP OUT MON_33: MOV R5, MON CJNE R5, #3 , MON_44 MOV R5, DAY CJNE R5 , #32, OUT INC MON MOV DAY , #1 LJMP OUT MON_44: MOV R5, MON CJNE R5,#4, MON_55 MOV R5, DAY CJNE R5 ,#31,OUT INC MON MOV DAY , #1
20、LJMP OUT MON_55: MOV R5,MON CJNE R5,#5, MON_66 MOV R5,DAY CJNE R5,#32,OUT INC MON MOV DAY,#1 LJMP OUT MON_66: MOV R5, MON CJNE R5,#6, MON_77 MOV R5, DAY CJNE R5 ,#31,OUT INC MON MOV DAY , #1 LJMP OUT MON_77: MOV R5, MON CJNE R5,#7, MON_88 MOV R5, DAY CJNE R5,#32,L1 INC MON MOV DAY , #1 L1: LJMP OUT
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年单片机设计数字时钟 2022 单片机 设计 数字 时钟
限制150内