![](https://csdnimg.cn/release/download_crawler_static/86548603/bg1.jpg)
ORG 0000H
AJMP MAIN
ORG 000BH
LJMP TIM0
ORG 001BH ;用来闪烁定时
LJMP TIM1
ORG 0100H
MAIN: MOV SP,#50H ;设置栈指针
MOV R2,#00H ;闪烁标记位清零
MOV R7,#00H ;调整标记位清亮?
MOV 28H,#00H ;T0 定时中断次数
MOV 29H,#00H ;T1 定时中断次数
MOV 21H,#00H ;秒单元清零
MOV 22H,#00H ;分单元清零
MOV 23H,#00H ;时单元清零
SETB ET0 ;开 T0 中断
SETB ET1
SETB EA ;开中断
MOV TMOD,#01H ;定时器初始化
MOV TL0,#0B0H ;赋定时初值
MOV TH0,#3CH
MOV TL1,#0B0H
MOV TH1,#3CH
SETB TR0 ;T0 开始定时
CLR TR1 ;使 T1 可靠停止
NEXT: LCALL DISP ;调用显示处理子程序
LCALL SCAN ;调用扫描子程序
LCALL KEY ;调用按键处理子程序
SJMP NEXT
;******************************************
;TO 定时中断处理子程序:
;******************************************
TIM0: PUSH ACC
PUSH PSW
MOV TL0,#0B0H
MOV TH0,#3CH
INC 28H ;中断计数
MOV A,28H
CJNE A,#0AH,ETI0
MOV 28H,#00H ;一秒时间到
MOV A,21H
ADD A,#01H ;秒单元加一
DA A
MOV 21H,A