📄 20comkey.asm
字号:
cl0 bit p1.3
cl1 bit p1.4
cl2 bit p3.2
cl3 bit p3.3
cl4 bit p3.4
cl5 bit p3.5
ch4 bit p1.7
ch5 bit p1.6
ch6 bit p1.5
ch7 bit p3.7
org 00h
start: mov sp,#50h
mov scon,#30h
mov tmod,#40h
mov th1,#0fdh
mov tl1,#0fdh
setb tr1
;-----------------------------------------------------------------
scan: clr p1.2
setb cl0
setb cl1
setb cl2
setb cl3
setb cl4
setb cl5
setb ch4
setb ch5
setb ch6
setb ch7
mov r1,#00h
;--------------------------------
clr cl0
jnb ch4,cll11
inc r1
ajmp ch51
cll11: acall dely1
jb ch4,ch51
acall keyin
ru1: jnb ch4,$
acall dely1
jnb ch4,ru1
inc r1
;--------------------------------
ch51: jnb ch5,cll12
inc r1
ajmp ch61
cll12: acall dely1
jb ch5,ch61
acall keyin
ru2: jnb ch5,$
acall dely1
jnb ch5,ru2
inc r1
;--------------------------------
ch61: jnb ch6,cll13
inc r1
ajmp ch71
cll13: acall dely1
jb ch6,ch71
acall keyin
ru3: jnb ch6,$
acall dely1
jnb ch6,ru3
inc r1
;-------------------------------
ch71: jnb ch7,cll14
inc r1
ajmp cl20
cll14: acall dely1
jb ch7,cl20
acall keyin
ru4: jnb ch7,$
acall dely1
jnb ch7,ru4
inc r1
;-------------------------------
cl20: setb cl0
clr cl1
jnb ch4,cll21
inc r1
ajmp ch52
cll21: acall dely1
jb ch4,ch52
acall keyin
ru5: jnb ch4,$
acall dely1 ;
jnb ch4,ru5
inc r1
;-------------------------------
ch52: jnb ch5,cll22
inc r1
ajmp ch62
cll22: acall dely1
jb ch5,ch62
acall keyin
ru6: jnb ch5,$
acall dely1
jnb ch5,ru6
inc r1
;-------------------------------
ch62: jnb ch6,cll23
inc r1
ajmp ch72
cll23: acall dely1
jb ch6,ch72
acall keyin
ru7: jnb ch6,$
acall dely1
jnb ch6,ru7
inc r1
;-------------------------------
ch72: jnb ch7,cll24
inc r1
ajmp cl30
cll24: acall dely1
jb ch7,cl30
acall keyin
ru8: jnb ch7,$
acall dely1
jnb ch7,ru8
inc r1
;-------------------------------
cl30: setb cl1
clr cl2
jnb ch4,cll31
inc r1
ajmp ch53
cll31: acall dely1
jb ch4,ch53
acall keyin
ru9: jnb ch4,$
acall dely1
jnb ch4,ru9
inc r1
;------------------------------
ch53: jnb ch5,cll32
inc r1
ajmp ch63
cll32: acall dely1
jb ch5,ch63
acall keyin
ru10: jnb ch5,$
acall dely1
jnb ch5,ru10
inc r1
;-------------------------------
ch63: jnb ch6,cll33
inc r1
ajmp ch73
cll33: acall dely1
jb ch6,ch73
acall keyin
ru11: jnb ch6,$
acall dely1
jnb ch6,ru11
inc r1
;-------------------------------
ch73: jnb ch7,cll34
inc r1
ajmp cl40
cll34: acall dely1
jb ch7,cl40
acall keyin
ru12: jnb ch7,$
acall dely1
jnb ch7,ru12
inc r1
;-------------------------------
cl40: setb cl2
clr cl3
jnb ch4,cll41
inc r1
ajmp ch54
cll41: acall dely1
jb ch4,ch54
acall keyin
ru13: jnb ch4,$
acall dely1
jnb ch4,ru13
inc r1
;-------------------------------
ch54: jnb ch5,cll42
inc r1
ajmp ch64
cll42: acall dely1
jb ch5,ch64
acall keyin
ru14: jnb ch5,$
acall dely1
jnb ch5,ru14
inc r1
;-------------------------------
ch64: jnb ch6,cll43
inc r1
ajmp ch74
cll43: acall dely1
jb ch6,ch74
acall keyin
ru15: jnb ch6,$
acall dely1
jnb ch6,ru15
inc r1
;-------------------------------
ch74: jnb ch7,cll44
inc r1
ajmp cl50
cll44: acall dely1
jb ch7,cl50
acall keyin
ru16: jnb ch7,$
acall dely1
jnb ch7,ru16
inc r1
;-------------------------------
cl50: setb cl3
clr cl4
jnb ch4,cll51
inc r1
ajmp ch55
cll51: acall dely1
jb ch4,ch55
acall keyin
ru17: jnb ch4,$
acall dely1
jnb ch4,ru17
inc r1
;-------------------------------
ch55: jnb ch5,cll52
inc r1
ajmp ch65
cll52: acall dely1
jb ch5,ch65
acall keyin
ru18: jnb ch5,$
acall dely1
jnb ch5,ru18
inc r1
;-------------------------------
ch65: jnb ch6,cll53
inc r1
ajmp ch75
cll53: acall dely1
jb ch6,ch75
acall keyin
ru19: jnb ch6,$
acall dely1
jnb ch6,ru19
inc r1
;-------------------------------
ch75: jnb ch7,cll54
inc r1
ajmp cl60
cll54: acall dely1
jb ch7,cl60
acall keyin
ru20: jnb ch7,$
acall dely1
jnb ch7,ru20
inc r1
;-------------------------------
cl60: setb cl4
clr cl5
jnb ch4,cll61
inc r1
ajmp ch56
cll61: acall dely1
jb ch4,ch56
acall keyin
ru21: jnb ch4,$
acall dely1
jnb ch4,ru21
inc r1
;-------------------------------
ch56: jnb ch5,cll62
inc r1
ajmp ch66
cll62: acall dely1
jb ch5,ch66
acall keyin
ru22: jnb ch5,$
acall dely1
jnb ch5,ru22
inc r1
;-------------------------------
ch66: jnb ch6,cll63
inc r1
ajmp ch76
cll63: acall dely1
jb ch6,ch76
acall keyin
ru23: jnb ch6,$
acall dely1
jnb ch6,ru23
inc r1
;-------------------------------
ch76: jnb ch7,cll64
ajmp scan
cll64: acall dely1
jb ch7,ch86
acall keyin
ru24: jnb ch7,$
acall dely1
jnb ch7,ru24
ch86: ajmp scan
;-------------------------------
keyin: mov r7,#30;
d2: mov r6,#248
djnz r6,$
djnz r7,d2
mov a,r1
mov dptr,#table
movc a,@a+dptr
inc r1
ret
dely1: mov r2,#30
bdfd: mov r3,#248
djnz r3,$
djnz r2,bdfd
ret
table: db 61h,62h,63h,64h;
db 37h,38h,39h,65h;
db 34h,35h,36h,66h;
db 31h,32h,33h,67h;
db 6ah,30h,69h,68h;
db 6bh,6ch,6dh,6eh;
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -