📄 键盘显示.asm
字号:
org 0000h
ajmp main
org 0040h
main: mov sp, #60h
mov r0, #30h
mov 40h, #00h
mov 41h, #0b0h
dsp0: mov r4, #04h
mov 30h, #00h
a1: acall leddis
djnz r4, a1
mov a,#0ffh
mov p1,a
a2: acall keydet
jz a2
acall delay
acall keydet
jz a2
acall keycode
mov dptr, #keytab
jmp @a+dptr
sjmp $
leddis: mov dptr, #dscode
mov scon, #00h
ld1: mov a, @r0
movc a, @a+dptr
mov sbuf, a
ld2: jnb ti, ld2
clr ti
ret
keydet: mov a, p1
cpl a
ret
delay: mov r7, #0efh
a3: mov r6, #0ffh
djnz r6, $
djnz r7, a3
ret
keycode: mov r5, #00h
clr c
b1: rlc a
inc r5
jnc b1
dec r5
mov a, r5
rl a
ret
keytab: ajmp key1
ajmp key2
ajmp key3
ajmp key4
ajmp key5
ajmp key6
ajmp key7
ajmp key8
key1: mov r0, #30h
mov @r0, #00h
acall leddis
ajmp a2
key2: mov r0, #31h
mov @r0, #01h
acall leddis
ajmp a2
key3: mov r0, #32h
mov @r0, #02h
acall leddis
ajmp a2
key4: mov r0, #33h
mov @r0, #03h
acall leddis
ajmp a2
key5: mov r0, #33h
mov @r0, #04h
acall leddis
ajmp a2
key6: mov r0, #33h
mov @r0, #05h
acall leddis
ajmp a2
key7: mov r0, #33h
mov @r0, #06h
acall leddis
ajmp a2
key8: mov r0, #33h
mov @r0, #07h
acall leddis
ajmp a2
dscode: db 0bbh,009h,0eah,06bh,059h,073h,0f3h,00bh,0fbh
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -