📄 p89c58t.asm
字号:
ORG 0000H
LJMP START
TEN EQU P1.0
START: MOV A,#43H
MOV DPTR,#0FF20H
MOVX @DPTR,A
MOV TMOD,#21H
MOV TL1,#0E8H ;F=11.0592,BPS=2400
MOV TH1,#0E8H
SETB TR1
MOV 87H,#80H
MOV SCON,#0D8H
L0: MOV R0,#79H
MOV A,#10H
LT1: MOV @R0,A
INC R0
CJNE R0,#7EH,LT1
MOV A,#11H
MOV @R0,A
MOV R0,#59H
MOV A,#7EH
MOVX @R0,A
L1: LCALL X2
CJNE A,#1FH,L3
setb TEN
LCALL SEND
clr TEN
SJMP L0
L3: setb TEN
LCALL SEND
clr TEN
LCALL X3
DB 79H,7EH
SJMP L1
;----- -------------------------
X3: MOV R4,A
MOV R0,#59H
MOVX A,@R0
MOV R1,A
MOV A,R4
MOV @R1,A
mov b,a
CLR A
POP DPH
POP DPL
MOVC A,@A+DPTR
INC DPTR
CJNE A,01H,X30
CLR A
MOVC A,@A+DPTR
X31: MOVX @R0,A
INC DPTR
PUSH DPL
PUSH DPH
RET
X30: DEC R1
MOV A,R1
SJMP X31
;----------------------
X2: MOV R6,#50H
X0: ACALL XLE
JNB ACC.5,XX0
DJNZ R6,X0
MOV R6,#20H
MOV R0,#59H
MOVX A,@R0
MOV R0,A
MOV A,@R0
MOV R7,A
MOV A,#10H
MOV @R0,A
X1: ACALL XLE
JNB ACC.5,XX1
DJNZ R6,X1
MOV A,R7
MOV @R0,A
AJMP X2
XX1: MOV R6,A
MOV A,R7
MOV @R0,A
MOV A,R6
XX0: RET
;-------------------------
XLE: ACALL DIS
LCALL KEY
MOV R4,A
MOV R1,#48H
MOVX A,@R1
MOV R2,A
INC R1
MOVX A,@R1
MOV R3,A
MOV A,R4
XRL A,R3
MOV R3,04H
MOV R4,02H
JZ X10
MOV R2,#88H
MOV R4,#88H
X10: DEC R4
MOV A,R4
XRL A,#82H
JZ X11
MOV A,R4
XRL A,#0EH
JZ X11
MOV A,R4
ORL A,R4
JZ X12
MOV R4,#20H
DEC R2
SJMP X13
X12: MOV R4,#0FH
X11: MOV R2,04H
MOV R4,03H
X13: MOV R1,#48H
MOV A,R2
MOVX @R1,A
INC R1
MOV A,R3
MOVX @R1,A
MOV A,R4
RET
LS3: DB 07H,04H,08H,05H,09H,06H,0AH
DB 0BH,01H,00H,02H,0FH,03H,0EH
DB 0CH,0DH
;-----------------------------------------
DIS: PUSH DPH
PUSH DPL
SETB RS1
MOV R0,#7EH
MOV R2,#20H
MOV R3,#00H
MOV DPTR,#LS0
LS2: MOV A,@R0
MOVC A,@A+DPTR
MOV R1,#22H
MOVX @R1,A
MOV A,R2
DEC R1
CPL A
MOVX @R1,A
CPL A
DEC R0
LS1: DJNZ R3,LS1
CLR C
RRC A
MOV R2,A
JNZ LS2
INC R1
MOV A,#0FFH
MOVX @R1,A
CLR RS1
POP DPL
POP DPH
RET
LS0: DB 0C0H,0F9H,0A4H,0B0H,99H,92H
DB 82H,0F8H,80H,90H,88H,83H,0C6H
DB 0A1H,86H,8EH,0FFH,0CH,89H,7FH,0BFH
;------------------------------------------
KEY: SETB RS1
MOV R2,#0FEH
MOV R3,#08H
MOV R0,#00H
LP1: MOV A,R2
MOV R1,#21H
MOVX @R1,A
RL A
MOV R2,A
MOV R1,#23H
MOVX A,@R1
CPL A
ANL A,#0FH
JNZ LP0
INC R0
DJNZ R3,LP1
MOVX A,@R1
JB ACC.4,XP33
MOV A,#19H
SJMP XP3
XP33: MOV A,#20H
XP3: CLR RS1
RET
LP0: CPL A
JB ACC.0,XP0
MOV A,#00H
SJMP LPP
XP0: JB ACC.1,XP1
MOV A,#08H
SJMP LPP
XP1: JB ACC.2,XP2
MOV A,#10H
SJMP LPP
XP2: JB ACC.3,XP33
MOV A,#18H
LPP: ADD A,R0
CLR RS1
CJNE A,#10H,LX0
LX0: JNC XP35
MOV DPTR,#LS3
MOVC A,@A+DPTR
XP35: RET
;--------------------------------
SEND: MOV SBUF,A
YTXD1: JBC TI,EXIT1
SJMP YTXD1
EXIT1: RET
YRXD: JBC RI,YRXD1
SJMP YRXD
YRXD1: MOV A,SBUF
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -