📄 电子琴.txt
字号:
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN:
MOV 70H,#00H
MOV DPTR,#0FF82H
MOV A,#0D1H
MOVX @DPTR,A
WAIT: MOVX A,@DPTR
JB ACC.7,WAIT
MOV A,#00H
MOVX @DPTR,A
MOV A,#2AH
MOVX @DPTR,A
LCALL DISP
LP1: MOV DPTR,#0FF82H
MOVX A,@DPTR
ANL A,#3FH
JZ LP1
LCALL KEY
LCALL T0
AJMP LP1
T0: MOV
DELAY: MOV R7,#65H
DEL1: MOV R6,#46H
DEL2: MOV R5,#1FH
DEL3: DJNZ R5,DEL3
DJNZ R6,DEL2
DJNZ R7,DEL1
RET
程序2:
DELAY: MOV R7,#0AH
MOV TMOD,#01H
MOV TL0,#00H
MOV TLH,#4CH
SETB TR0
LAST: JBC TF0,NEXT
SJMP LAST
NEXT: MOV TL0,#00H
MOV TH0,#4CH
DJNZ R7,LAST
CLR TR0
RET
START: MOV P1,#01H
MOV 75H,#0BH
MOV 42H,#1200
LCALL TRANS
LCALL DISP
LP2: MOV DPTR,#0FF82H
MOVX A,@DPTR
ANL A,#3FH
JZ LP2
LCALL GETKEY
CJNE A,#0BH,YY
MOV P1,#00H
AJMP MAIN
YY: CJNE A,#0CH,KK
AJMP START1
KK: CJNE A,0DH,RETURN2
RETURN2: RET
START1: MOV P1,#02H
MOV 75H,#0CH
MOV 42H,#1200
LCALL HBCD
LCALL TRANS
LCALL DISP
AJMP LP2
RET
KEY:
LCALL GETKEY
CJNE A,#0AH,RETURN1
SETB F0
AJMP RETURN1
RETURN1:RET
GETKEY: MOV A,#40H
MOV DPTR,#0FF82H
MOVX @DPTR,A
MOV DPTR,#0FF80H
MOVX A,@DPTR
ANL A,#3FH
MOV R4,A
RET
TRANS: MOV R0,#42H
MOV R1,#70H
MOV R7,#03H
LAST:MOV A,@R0
ANL A,#0FH
MOV @R1,A
MOV A,@R0
ANL A,#0F0H
SWAP A
INC R1
MOV @R1,A
INC R1
DEC R0
DJNZ R7,LAST
RET
HBCD: CLR A
MOV 40H,A
MOV 41H,A
MOV 42H,A
MOV R2,#10H
HB3: MOV A,R5
RLC A
MOV R5,A
MOV A,R4
RLC A
MOV R4,A
MOV A,42H
ADDC A,42H
DA A
MOV 42H,A
MOV A,41H
ADDC A,41H
DA A
MOV 41H,A
MOV A,40H
ADDC A,40H
MOV 40H,A
DJNZ R2,HB3
RET
;;BIANSU:
DISP: MOV DPTR,#0FF82H
MOV A,#90H
MOVX @DPTR,A
MOV R1,#70H
MOV R7,#04H
MOV DPTR,#0FF80H
LOOP:MOV A,@R1
ADD A,#05H
MOVC A,@A+PC
MOVX @DPTR,A
INC R1
DJNZ R7,LOOP
RET
DB 3FH,06H,5BH,4FH,66H,6DH
DB 7DH,07H,7FH,6FH ,0AH,0BH
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -