📄 d0809.asm
字号:
;显示缓冲区为40H~44H.
SMG0 EQU 40H
SMG1 EQU 41H
SMG2 EQU 42H
SMG3 EQU 43H
SMG4 EQU 44H
TEMP EQU 60H
FLAG EQU 01H
ORG 0000H
AJMP START
ORG 0100H
START: MOV SMG0,#10H
MOV SMG1,#10H
MOV SMG2,#10H
MOV SMG3,#10H
MOV SMG4,#10H
MAIN: CLR FLAG
SETB P3.4
MAIN1: LCALL DELAY
SETB P3.3
LCALL DISP
LCALL AD0809
MOV P1,A
MOV B,A
SWAP A
ANL A,#0FH
LCALL ZH
MOV SMG4,A
MOV A,B
ANL A,#0FH
LCALL ZH
MOV SMG3,A
SWAP A
ORL A,SMG4
JB FLAG,OK
CJNE A,#70H,XYH
XYH: JC MAIN
SETB FLAG
CLR P3.4
AJMP MAIN1
OK: CJNE A,#50H,XYG
XYG: JNC MAIN1
AJMP MAIN
ZH: JB ACC.0,NEXT1
MOV 50H,#00H
BB1: JB ACC.1,NEXT2
MOV 51H,#00H
BB2: JB ACC.2,NEXT3
MOV 52H,#00H
BB3: JB ACC.3,NEXT4
MOV 53H,#00H
AJMP ADDA
NEXT1: MOV 50H,#08H
AJMP BB1
NEXT2: MOV 51H,#04H
AJMP BB2
NEXT3: MOV 52H,#02H
AJMP BB3
NEXT4: MOV 53H,#01H
ADDA: MOV A,53H
ADDC A,52H
ADDC A,51H
ADDC A,50H
RET
AD0809: MOV DPTR,#0FEF3H
MOVX @DPTR,A
HERE: JB P3.3,HERE
MOVX A,@DPTR
RET
DELAY: MOV R7,#0
DLY: MOV R6,#0
AA1: DJNZ R6,AA1
DJNZ R7,DLY
RET
DISP: MOV R0,#SMG0
MOV R1,#TEMP
MOV R2,#5
DP10: MOV DPTR,#SEG
MOV A,@R0
MOVC A,@A+DPTR
MOV @R1,A
INC R0
INC R1
DJNZ R2,DP10
MOV R0,#TEMP
MOV R1,#5
DP12: MOV R2,#8
MOV A,@R0
DP13: RLC A
MOV P3.0,C
NOP
CLR P3.1
SETB P3.1
DJNZ R2,DP13
INC R0
DJNZ R1,DP12
RET
SEG: DB 3FH,06H,5BH,4FH,66H,6DH,7DH
DB 07H,7FH,6FH,77H,7CH,39H,5EH
DB 79H,71H,00H
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -