TIMER EQU 01H
ORG0000H
AJMP START
ORG 000BH ;T0 中斷程序入口地址
AJMP INT_T0
ORG 0040H
START:
MOV SP,#60H
MOV TMOD,#01H ;T0 方式 1
MOV TL0,#00H ;延時 50mS的常數(shù)
MOV TH0,#4BH
MOV R0,#0H
MOV TIMER,#20
MOV SCON,#00H ;置串口工作方式 0
CLR TI
CLR RI
SETB TR0 ;開中斷
SETB ET0
SETB EA
SJMP $
INT_T0: ;T0 中斷子程序
PUSH ACC ;保護(hù)現(xiàn)場
PUSH PSW
CLR EA ;關(guān)中斷
CLR TR0
MOV TL0,#00H ;延時 50mS 的常數(shù)
MOV TH0,#4BH
SETB TR0
DJNZ TIMER,EXIT
MOV TIMER,#20 ;延時一秒的常數(shù)
MOV DPTR,#DATA ;置表格基址
MOV A,R0 ;置表格偏移量
MOVC A,@A+DPTR ;讀表格數(shù)據(jù)
CLR TI
MOV SBUF,A ;串行發(fā)送數(shù)據(jù)
INC R0
CJNE R0,#0AH,EXIT ;判斷是否到表尾
MOV R0,#00H ;調(diào)整表格偏移量
EXIT: SETB EA ;開中斷
POP PSW
POP ACC ;恢復(fù)現(xiàn)場
RETI
;數(shù)碼管顯示常數(shù)表
DATA: DB 03H,9FH,25H,0DH,99H,49H,41H,1FH,01H,09H
;0 1 2 3 4 5 6 7 8 9
END