教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 资格考试 >

用51单片机设计的时钟电路(毕业论文)(2)

来源:网络收集 时间:2026-09-05
导读: 返回主程序 DIY爱好者 Created with novaPDF Printer (). Please register to remove this message. 好东西哟,用吧 DIY爱好者 定时中断程序流程图 好东西哟,用吧 调时功能流程图 好东西哟,用吧 调时功能流程图 存储

返回主程序

DIY爱好者

Created with novaPDF Printer (). Please register to remove this message.

好东西哟,用吧

DIY爱好者

定时中断程序流程图

好东西哟,用吧

调时功能流程图

好东西哟,用吧

调时功能流程图

存储单元分配表

读取按键代码表 16进制码 FE FD FB 时间单元 Sec Min Hour Day Mou Year Sb0

P1.0 SB1 0 1 1

P1.1 SB2 1 0 1

P1.2 SB3 1 1 0 1组开定时单元 \ 41 42 43 44 45 Sb3

P1.3 * 1 1 1 1组关

P1.4 * 1 1 1 2组开

P1.5 * 1 1 1 2组关

3组开

P1.6 * 1 1 1 3组关

P1.7 * 1 1 1

存储单元分配表

32h 31h 30h 35h 34h 33h Sb1

秒 分 时 日 月 年 Sb2

\ 40 46 47 48 49 Sb4

\ 51 52 53 54 55 1组输出

\ 50 56 57 58 59 2组输出

\ 61 62 63 64 65 3组输出

\ 60 66 67 68 69

各P口功能连接. P3.3

P1.0

P1.1 +\-

P1.2

P3.2 年月日显示转换

p3.0

P3.1

P3.4

调整 时间、定时中断

二极管 二极管 二极管

好东西哟,用吧

程序

SEC EQU 32H ;秒 即时时间 \伪指令 MIN EQU 31H ;分 HOUR EQU 30H ;时 DAY EQU 35H ;日 MON EQU 34H ;月 YEAR 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 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 TL0, #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码 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

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,LOOP 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 MOV 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 ;-----进位程序 INC 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 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;如是瑞年、判断是否到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 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 MON_88: MOV R5, MON CJNE R5,#8, MON_99 MOV R5, DAY CJNE R5 ,#32,L2

好东西哟,用吧

INC MON MOV D …… 此处隐藏:3819字,全部文档内容请下载后查看。喜欢就下载吧 ……

用51单片机设计的时钟电路(毕业论文)(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/91169.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)