SJMP KEY4
KEY1: CLR TR0 ; 时计数器加 1
MOV A,THBIN
CLR C
ADDC A,#01H
MOV THBIN,A
SUBB A,#24 ;24D
JC KEY11
MOV THBIN,#00H
KEY11: SJMP MAIN1
NOP
KEY2: CLR TR0 ; 分计数器加 1
MOV A,TMBIN
CLR C
ADDC A,#01H
MOV TMBIN,A
SUBB A,#60 ;60D
JC KEY21
MOV TMBIN,#00H
KEY21: SJMP MAIN1
NOP
KEY3: CLR TR0 ; 秒计数器加 1
MOV A,TSBIN
CLR C
ADDC A,#01H
MOV TSBIN,A
SUBB A,#60 ;60D
JC KEY31
MOV TSBIN,#00H
KEY31: SJMP MAIN1
NOP
KEY4: MOV TH0,#0DCH ; 退出校时状态
MOV TL0,#00H
SETB TR0
SJMP MAIN1
; ********** 显示子程序 **************
ORG 0200H
DISPLY: MOV A,TSBIN ; 秒计数器调入 A
MOV B,#0AH
DIV AB ; 秒计数值÷ 10 (结果十位存于 A ,个位存于 B )
SWAP A
ORL A,#07H ; 显示秒的十位
MOV P1,A
MOV A,#DPS1
ANL A,OUT
MOV P3,A
ACALL DSPDEL ; 延时(显示时) 0.5ms
MOV C,P3.7 ; 读 S4 按键状态
MOV A,#HIDE
ANL A,OUT
MOV P3,A
JC NP1
MOV KEYCODE,#08H ;S4 按下,键盘值= 8
NP1: MOV P1,#0F7H ; 消隐
NOP
NOP
NOP
MOV A,B ; 显示秒的个位
SWAP A
ORL A,#07H
MOV P1,A
MOV A,#DPS0
ANL A,OUT
上一篇:AT89C系列单片机加解密原理