JNC I_T01
MOV A,TMBIN
ADD A,THBIN
JNZ M1
MOV OUT,#11111101B
CLR TR0
MOV TSBIN,#00H
SJMP I_T01
M1: MOV TSBIN,#59
CLR C
MOV A,TMBIN ; 分计数器加 1
SUBB A,#01H
MOV TMBIN,A
JNC I_T01
MOV A,THBIN
JZ I_T01
MOV TMBIN,#59
CLR C
MOV A,THBIN ; 时计数器加 1
SUBB A,#01H
MOV THBIN,A
;SUBB A,#24 ; 时计数器 >23? Y ,时计数器= 00
JNC I_T01
MOV THBIN,#00H
I_T01: MOV TT0,R3
POP PSW
POP ACC
RETI
ORG 00F0H
MOV OUT,#11111110B ;P3.0 输出低电平
MOV P3,OUT
MOV SP,#40H ; 初始化堆栈指针
MOV TMOD,#11H ;T0 、 T1 工作于 16 为定时器
MOV TT0,#100
MOV TH0,#0DCH ;T0 初值
MOV TL0,#00H
MOV TH1,#00H ;T1 初值
MOV TL1,#00H
MOV TSBIN,#59
MOV TMBIN,#59
MOV THBIN,#23
CLR EX0
CLR EX1
CLR ES
SETB ET0 ; 开 T0 、 T1 中断
SETB ET1
SETB TR0
SETB TR1
SETB EA
MAIN1: MOV R6,#80H ; 主处理过程
DISP: MOV KEYCODE,#00H
MOV TH1,#00H
MOV TL1,#00H
ACALL DISPLY ; 调用显示子程序
DJNZ R6,DISP
MOV DPTR,#KEY
MOV A,KEYCODE ; 读键盘值
JMP @A+DPTR ; 按键值跳相应处理程序
KEY: SJMP MAIN1
SJMP KEY1 ; 依次为 :KEY 值 +2,4,6,8, 因为 SJMP 占 2 个字节
SJMP KEY2 ;S1 的 KEYCODE=02H,S2: KEYCODE=04H
SJMP KEY3 ;S3: KEYCODE=06H, S4: KEYCODE=08H
上一篇:AT89C系列单片机加解密原理