📄 ch7-2.asm
字号:
Value EQU 40H
ScanLine EQU 41H
Sec EQU 42H
ORG 00H
AJMP START
ORG 0BH
AJMP TIMER0
ORG 1BH
AJMP TIMER1
START: MOV SP,#60H
MOV DPTR,#TABLE
MOV R0,#30H ;bcd
MOV 30H,#0 ;initial value
MOV 31H,#0
MOV Value,#0 ;count value
MOV ScanLine,#11111101B ;scan singal
MOV Sec,#200
SETB EA
SETB ET0
SETB ET1
MOV TMOD,#11H ;mode1
MOV TH0,#0ECH ;5000's
MOV TL0,#78H
MOV TH1,#0ECH ;5000's
MOV TL1,#78H
SETB TR0
SETB TR1
LOOP: SJMP LOOP
TIMER0: PUSH ACC ;scan
CLR TR0
MOV TH0,#0ECH
MOV TL0,#78H
MOV A,@R0
MOVC A,@A+DPTR
MOV P1,A
INC R0
MOV A,ScanLine
MOV P2,A
RR A
MOV ScanLine,A
CJNE A,#01111111B,EXIT0
MOV R0,#30H
MOV ScanLine,#11111101B
EXIT0: SETB TR0
POP ACC
RETI
TIMER1: PUSH ACC ;delay 1 second;
CLR TR1
MOV TH1,#0ECH
MOV TL1,#78H
DJNZ Sec,EXIT1
MOV Sec,#200
MOV A,Value
ADD A,#1
DA A
MOV Value,A
ACALL CONV
EXIT1: SETB TR1
POP ACC
RETI
CONV: MOV R1,#30H
MOV A,Value
ANL A,#0F0H
SWAP A
MOV @R1,A
INC R1
MOV A,Value
ANL A,#0FH
MOV @R1,A
RET
TABLE: DB 11000000B ;0
DB 11111001B ;1
DB 10100100B ;2
DB 10110000B ;3
DB 10011001B ;4
DB 10010010B ;5
DB 10000010B ;6
DB 11111000B ;7
DB 10000000B ;8
DB 10010000B ;9
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -