51单片机定时闹钟设计(6)

2020-02-21 17:30

单片机的定时闹钟

LJMP LOOP

M2:JB P1.4,M4

LCALL LOOKATIME ;调用设定闹钟时间程序

M4:LJMP LOOP

DELAY:MOV R4,#030H ;延时时间 DL00:MOV R5,#0FFH DL11:MOV R6,#9H DL12:DJNZ R6,DL12 DJNZ R5,DL11

DJNZ R4,DL00

RET

;×××××设定时间程序:××××× SETTIME:

L0:LCALL DISPLAY1 MM1: JB P1.2,L1 MOV C,P1.2 JC MM1

LCALL DELAY1 JC MM1

MSTOP1: MOV C,P1.2

JNC MSTOP1 LCALL DELAY1 MOV C,P1.2 JNC MSTOP1

INC 22H MOV A,22H

CJNE A,#18H,GO12 MOV 22H,#00H MOV 34H,#00H MOV 35H,#00H LJMP L0

L1:JB P1.3,L2 MOV C,P1.3 JC L1

LCALL DELAY1 JC L1

MSTOP2: MOV C,P1.3

;调用时间允许程序 ;调用延时 ;判断P1.2是否释放?释放则继续 ;调用延时 ;小时增加1 ;判断小时是否到24时?未到继续循环 ;小时复位 ;延时 27

单片机的定时闹钟

JNC MSTOP2 ;判断P1.3是否释放?释放则继续 LCALL DELAY1 ;调用延时 MOV C,P1.3 JNC MSTOP2

INC 21H ;分钟增加一 MOV A,21H

CJNE A,#3CH,GO11

MOV 21H,#00H ;分钟复位 MOV 32H,#00H MOV 33H,#00H LJMP L0

GO11:MOV B,#0AH DIV AB MOV 32H,B MOV 33H,A LJMP L0

GO12: MOV B,#0AH DIV AB MOV 34H,B MOV 35H,A LJMP L0

L2:JB P1.4,L0 MOV C,P1.4 JC L2

LCALL DELAY1 MOV C,P1.4 JC L2

STOP1: MOV C,P1.4 JNC STOP1

LCALL DELAY1 MOV C,P1.4 JNC STOP1 LJMP LOOP

;×××××设置闹钟时间×××××

;将A中的内容分成高低两部分 调用延时 ;判断按键P1.4是否释放? ;调用延时 28

; 单片机的定时闹钟

MOV C,P1.3 JC MM2

LCALL DELAY1 SETATIME:LCALL DISPLAY2 ;调用时间运行 N0:LCALL DISPLAY2

MM2: JB P1.3,N1 ;判断P1.3是否按下?

JC MM2

MSTOP3: MOV C,P1.3 JNC MSTOP3

LCALL DELAY1 MOV C,P1.3 JNC MSTOP3

INC 24H MOV A,24H

CJNE A,#24,GO22 MOV 24H,#00H MOV 38H,#00H MOV 39H,#00H LJMP N0

N1:JB P1.1,N2 MOV C,P1.1 JC N1

LCALL DELAY1 JC N1

MSTOP4: MOV C,P1.1 JNC MSTOP4

LCALL DELAY1 MOV C,P1.1 JNC MSTOP4

INC 23H MOV A,23H

CJNE A,#60,GO21 MOV 23H,#00H MOV 36H,#00H MOV 37H,#00H

LJMP N0 ;判断P1.3是否释放? ;设定小时增加1 ;时钟复位 ;判断P1.1是否按下? ;判断P1.1是否释放? ;设定闹钟分钟增加1 ;判断A是否到60分? ;分钟复位 29

单片机的定时闹钟

GO22: MOV B,#0AH GO21:MOV B,#0AH ;将A中的内容分成高低两部分 DIV AB MOV 36H,B MOV 37H,A LJMP N0

DIV AB MOV 38H,B MOV 39H,A LJMP N0

N2:JB P1.4 ,N0 MOV C,P1.4 JC N2

LCALL DELAY1 MOV C,P1.4 JC N2

STOP2: MOV C,P1.4 JNC STOP2

LCALL DELAY1 MOV C,P1.4 JNC STOP2 LJMP LOOP

TIMEPRO:MOV A,21H MOV B,23H

CJNE A,B,BK MOV A,22H MOV B,24H

CJNE A,B,BK SETB 25H.0 MOV C,25H.0 JC XX

XX: LCALL TIMEOUT BK:RET TIMEOUT:

X1:LCALL BZ ;判断P1.4是否按下? ;判断P1.4是否释放? ;判断分钟是否运行到设定的闹钟的分钟? ;判断时钟是否运行到设定的闹钟的时钟? ;调用时间闹钟响应程序 ;调用喇叭响应程序 30

单片机的定时闹钟

LCALL DISPLAY2 CLR 25H.0

JB P1.4, X1 ;判断P1.4是否按下? LCALL DELAY CLR 25H.0

LJMP DISPLAY1

BZ: CLR P3.7 ;喇叭响应程序 MOV R7,#250 ;响应延时时间 T2: MOV R6,#124 T3: DJNZ R6,T3

DJNZ R7,T2 SETB P3.7 RET

LOOKATIME:LCALL DISPLAY2 MM: JB P1.4,LOOKATIME MOV C,P1.4 JC MM

LCALL DELAY1 MOV C,P1.4 JC MM STOP3: MOV C,P1.4 JNC STOP3 LCALL DELAY1 MOV C,P1.4 JNC STOP3 LJMP LOOP DELAY1: MOV R4,#14H DL001: MOV R5,#0FFH DL111: DJNZ R5,DL111 DJNZ R4,DL001 RET

;×××××时间运行程序×××××

TIME: PUSH ACC PUSH PSW MOV TH0,#03CH MOV TL0,#0B0H

DJNZ

R2,RET0

;调用时间运行程序 ;判断按键P1.4是否按下 ;时间延时

;现场保护 ;赋初值 31


51单片机定时闹钟设计(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:建筑给排水实习 校内实习 八号教学楼 - 图文

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: