📄 ex5107.asm
字号:
DISBUF EQU 30H
BUF EQU 20H
SECBUF EQU 21H
MINBUF EQU 22H
HOURBUF EQU 23H
P_CON EQU 0FF20H
PORT_A EQU 0FF21H
PORT_B EQU 0FF22H
;
ORG 0000H
LJMP START
;
ORG 000BH
LJMP CLOCK
;
ORG 0030H
START: MOV SP,#60H
MOV DPTR,#P_CON
MOV A,#03H
MOVX @DPTR,A
;
MOV A,#00H
MOV R1,#06H
MOV R0,#DISBUF
LP1: MOV @R0,A
INC R0
DJNZ R1,LP1
;
ANL TMOD,#0F0H
ORL TMOD,#01H
MOV TL0,#0B0H
MOV TH0,#3CH
;
MOV BUF,#00H
MOV SECBUF,#00H
MOV MINBUF,#59H
MOV HOURBUF,#23H
SETB TR0
SETB ET0
SETB EA
;
DISP1: MOV R0,#DISBUF
MOV A,SECBUF
ANL A,#0FH
MOV @R0,A
INC R0
MOV A,SECBUF
SWAP A
ANL A,#0FH
MOV @R0,A
INC R0
;
MOV A,MINBUF
ANL A,#0FH
MOV @R0,A
INC R0
MOV A,MINBUF
SWAP A
ANL A,#0FH
MOV @R0,A
INC R0
MOV A,HOURBUF
ANL A,#0FH
MOV @R0,A
INC R0
MOV A,HOURBUF
SWAP A
ANL A,#0FH
MOV @R0,A
;
LCALL DISPLAY
SJMP DISP1
;
DISPLAY:MOV R0,#DISBUF+5
MOV R2,#20H
DIS_LP: MOV DPTR,#SEG_TAB
MOV A,@R0
MOVC A,@A+DPTR
MOV DPTR,#PORT_B
MOVX @DPTR,A
;
MOV DPTR,#PORT_A
MOV A,R2
MOVX @DPTR,A
;
MOV R3,#00H
DJNZ R3,$
;
DEC R0
MOV A,R2
RR A
MOV R2,A
JNB ACC.7,DIS_LP
;
RET
;
SEG_TAB:DB 0C0H
DB 0F9H
DB 0A4H
DB 0B0H
DB 99H
DB 92H
DB 82H
DB 0F8H
DB 80H
DB 90H
;
CLOCK: MOV TL0,#0B0H
MOV TH0,#3CH
PUSH PSW
PUSH ACC
;
MOV A,BUF
ADD A,#01H
MOV BUF,A
CJNE A,#0AH,INT_DONE
;
MOV BUF,#00H
MOV A,SECBUF
ADD A,#01H
DA A
MOV SECBUF,A
;
CJNE A,#60H,INT_DONE
MOV SECBUF,#00H
;
MOV A,MINBUF
ADD A,#01H
DA A
MOV MINBUF,A
;
CJNE A,#60H,INT_DONE
MOV MINBUF,#00H
;
MOV A,HOURBUF
ADD A,#01H
DA A
MOV HOURBUF,A
;
CJNE A,#24H,INT_DONE
MOV HOURBUF,#00H
INT_DONE:POP ACC
POP PSW
RETI
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -