📄 keybd.asm
字号:
keybd:mov r1,#0fdh
mov a,#00h
movx @r1,a
mov r1,#0fbh
movx a,@r1
anl a,#38h
jz keybd
mov r5,#0eh
d15ms:acall d1ms
djnz r5,d15ms
mov r2,#0feh
mov r0,#0fdh
mov r1,#0fbh
keyb2:mov a,r2
movx @r0,a
movx a,@r1
anl a,#38h
mov r3,a
cjne a,#38h,keyb3
mov a,r2
rl a
mov r2,a
xrl a,#0f7h
jnz keyb2
ajmp keybd
keyb3:mov a,r2
anl a,#07h
orl a,r3
mov 06h,a
mov r4,#00h
mov dptr,#keytbl
keyb4:mov a,r4
movc a,@a+dptr
cjne a,06h,neq
ajmp eqq
neq: inc r4
ajmp keyb4
eqq: mov r5,#0eh
dly: acall d1ms
djnz r5,dly
mov a,#00h
movx @r0,a
movx a,@r1
anl a,#38h
cjne a,#38h,eqq
ads: mov a,r4
mov dpl,a
mov dph,#7fh
setb it1
setb ea
setb ex1
acall pin1
das: mov dptr,#0b000h
movx @dptr,a
ret
pin1: mov a,r4
mov dpl,a
mov dph,#7fh
movx a,@dptr
mov 30h,a
movx @dptr,a
sjmp $
reti
d1ms: mov r7,#64h
dlay: nop
nop
nop
djnz r7,dlay
reti
keytbl:db 00110110
db 00101110
db 00011110
db 00110101
db 00101101
db 00011101
db 00110011
db 00101011
db 00011011
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -