📄 small_mcu.asm
字号:
ORG 0000H
LJMP MAIN
ORG 0013H
LJMP INTT1
ORG 0030H
MAIN:
LCALL DELAY
SETB EX1
SETB EA
MOV SP,#60H
MOV DPTR,#3FFDH ; ()
MOV A,#0D1H
MOVX @DPTR,A
KK: MOVX A,@DPTR
JB ACC.7,KK
MOV A,#34H
MOVX @DPTR,A
MOV A,#0A0H
MOVX @DPTR,A ;消隐 P141
MOV A,#10H
MOVX @DPTR,A
MOV A,#90H
MOVX @DPTR,A
MOV A,#40H
MOVX @DPTR,A
MOV DPTR,#3FFDH
MOV A,#90H
MOVX @DPTR,A
MOV DPTR,#3FFCH ; ()
MOV A,#0F3H
MOVX @DPTR,A
MOV A,#00H
MOVX @DPTR,A
MOV A,#00H
MOVX @DPTR,A
MOV A,#00H
MOVX @DPTR,A
MOV A,#00H
MOVX @DPTR,A
MOV A,#00H
MOVX @DPTR,A
MOV A,#00H
MOVX @DPTR,A
MOV A,#00H
MOVX @DPTR,A
SJMP $ ; ()
ORG 0100H
INTT1:
CLR EX1
CLR EA
PUSH PSW
MOV DPTR,#3FFDH ; ()
MOV A,#40H
MOVX @DPTR,A
MOV DPTR,#3FFCH ; ()
MOVX A,@DPTR
ANL A,#3FH
MOV R6,A
ANL A,#07H
MOV B,#04H
MUL AB
MOV R5,A
MOV A,R6
ANL A,#38H
MOV B,#08H
DIV AB
ADD A,R5
MOV 40H,A
MOV R7,40H
PP: LCALL KEYCODE
PRI:
POP PSW
SETB EX1
SETB EA
RETI
KEYCODE: MOV 4FH,4EH
MOV 4EH,4DH
MOV 4DH,4CH
MOV 4CH,4BH
MOV 4BH,4AH
MOV 4AH,49H
MOV 49H,48H ; ()
MOV 47H,46H
MOV 46H,45H
MOV 45H,44H
MOV 44H,43H
MOV 43H,42H
MOV 42H,41H
MOV 41H,40H
MOV A,40H
MOV DPTR,#TABLE
MOVC A,@A+DPTR
MOV 48H,A
ACALL DIR
RET
DIR: MOV DPTR,#3FFDH
MOV A,#90H
MOVX @DPTR,A
MOV R7,#08H
MOV R0,#48H
LOOP:
MOV A,@R0
MOV DPTR,#3FFCH
MOVX @DPTR,A
INC R0
DJNZ R7,LOOP
RET
TABLE: DB 3FH,06H,5BH,4FH
DB 66H,6DH,7DH,07H
DB 7fH,6FH,77H,7CH
DB 39H,5EH,79H,71H
DB 40H,00H
DELAY:
MOV R7,#0FAH
FF: MOV R6,#0FAH
AFAF: DJNZ R6,AFAF
DJNZ R7,FF
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -