📄 key.asm
字号:
SET8255: MOV DPTR,#8003H
MOV A,#80H
MOVX @DPTR,A
START1:
LCALL KEYPLAY
JMP START1
KEYPLAY:
KEYBORAD:MOV R0,#70H
KEY1: ACALL KS1
JNZ LK1
KEY2: ACALL TM6ms
RET
LK1: ACALL TM12ms
ACALL KS1
JNZ LK2
AJMP KEY2
LK2: MOV R2,#0FFH ;ZU HANG SAOMIAO
MOV R4,#00H
LK4: MOV DPTR,#8000H
MOV A,R2
MOVX @DPTR,A
INC DPTR
INC DPTR
MOVX A,@DPTR
JB ACC.0,LONE ;cha di yi hang
MOV A,#00H ; #00-a
AJMP LKP ;
LONE: JB ACC.1,LTWO
MOV A,#04H
AJMP LKP
LTWO: JB ACC.2,LTHR
MOV A,#08H
AJMP LKP
LTHR: JB ACC.3,NEXT
MOV A,#0CH
LKP: ADD A,R4 ;qiu jian ma
ACALL KEYIN
PUSH ACC
LK3: ACALL KS1 ;deng jian shi fang
JNZ LK3
POP ACC
RET
NEXT: INC R4
MOV A,R2
AJMP LK4
KEND: AJMP KEY1
KEYIN: MOV DPTR,#KEYTAB
MOVC A,@A+DPTR
MOV @R0,A
INC R0
RET
KS1: MOV DPTR,#8000H ;判断有无键按下
MOV A,#00H
MOVX @DPTR ,A
INC DPTR
INC DPTR
MOVX A,@DPTR
CPL A
ANL A,#0FH ;A=/0有间暗下
RET
TM12ms: MOV R7,#18
TM: MOV R6,#0FFH
TM6: DJNZ R6,TM6
DJNZ R7,TM
RET
TM6ms: MOV R7,#0CH
TM2: MOV R6,#0FFH
TM62: DJNZ R6,TM62
DJNZ R7,TM
RET
KEYTAB: DB 00H,0FH,0EH,0DH
DB 01H,02H,03H,0CH
DB 04H,05H,06H,0BH
DB 07H,08H,09H,0AH
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -