📄 k16nlcd.asm
字号:
ORG 0000H
;LJMP MAT ;无LCD输出 K15为75LS164串行移位输出
MOV R0,#02H ;16键先自动 再按键 BC板调好程序
NH1: MOV A,#00H
MOV P0,A
LCALL T1S
MOV P1,A
LCALL T1S
MOV P2,A
LCALL T1S
MOV P3,A
LCALL T1S
MOV A,#0FFH
MOV P0,A
LCALL T1S
MOV P1,A
LCALL T1S
MOV P2,A
LCALL T1S
MOV P3,A
LCALL T1S
DJNZ R0,NH1
KN01: INC A
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
LCALL T1S
CJNE A,#0FH,KN01
LCALL T3S
LCALL T3S
KN1: MOV A,#0FH
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
MOV R0,#04H
KN11: DEC A
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
LCALL T1S
CJNE A,#00H,KN11
KN2: MOV R0,#02H
KN21: MOV A,#0FH
MOV P0,A
LCALL T1S
MOV P1,A
LCALL T1S
MOV P2,A
LCALL T1S
MOV P3,A
LCALL T1S
SWAP A
MOV P0,A
LCALL T1S
MOV P1,A
LCALL T1S
MOV P2,A
LCALL T1S
MOV P3,A
LCALL T1S
SWAP A
MOV P2,A
LCALL T1S
MOV P3,A
LCALL T1S
MOV P0,A
LCALL T1S
MOV P1,A
LCALL T1S
MOV P2,A
LCALL T1S
MOV P3,A
LCALL T1S
SWAP A
MOV P2,A
LCALL T1S
MOV P3,A
LCALL T1S
DJNZ R0,KN21
KN3: MOV R0,#02H
KN31: MOV A,#0AAH
MOV P0,A
LCALL T1S
MOV A,#55H
MOV P0,A
LCALL T1S
MOV A,#0AAH
MOV P0,A
LCALL T1S
MOV A,#55H
MOV P0,A
LCALL T1S
MOV P1,#0AAH
MOV P1,A
LCALL T1S
MOV A,#55H
MOV P1,A
LCALL T1S
MOV A,#0AAH
MOV P1,A
LCALL T1S
MOV A,#55H
MOV P1,A
LCALL T1S
MOV A,#0AAH
MOV P2,A
LCALL T1S
MOV A,#55H
MOV P2,A
LCALL T3S
MOV A,#0AAH
MOV P2,A
LCALL T1S
MOV A,#55H
MOV P2,A
LCALL T1S
MOV A,#0AAH
MOV P3,A
LCALL T1S
MOV A,#55H
MOV P3,A
LCALL T1S
MOV A,#0AAH
MOV P3,A
LCALL T1S
MOV A,#55H
MOV P3,A
LCALL T1S
DJNZ R0,KN31
KN4: MOV R0,#02H
KN41: MOV A,#81H
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
LCALL T1S
MOV A,#42H
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
LCALL T1S
MOV A,#24H
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
LCALL T1S
MOV A,#18H
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
LCALL T1S
MOV A,#24H
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
LCALL T1S
MOV A,#42H
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
LCALL T1S
MOV A,#81H
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,#00H
LCALL T1S
DJNZ R0,KN41
KN5: MOV R0,#02H
KN51: MOV A,#03H
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
LCALL T1S
MOV A,#0CH
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
LCALL T1S
MOV A,#30H
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
LCALL T1S
MOV A,#0C0H
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
LCALL T1S
MOV A,#30H
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
LCALL T1S
MOV A,#0CH
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
LCALL T1S
MOV A,#03H
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
LCALL T1S
DJNZ R0,KN51
KN6: MOV R0,#02H
KN61: MOV A,#01H
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
LCALL T1S
MOV A,#80H
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
LCALL T1S
MOV A,#02H
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
LCALL T1S
MOV A,#04H
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
LCALL T1S
MOV A,#04H
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
LCALL T1S
MOV A,#20H
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
LCALL T1S
MOV A,#08H
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
MOV A,#10H
MOV P0,A
MOV P1,A
MOV P2,A
MOV P3,A
LCALL T1S
DJNZ R0,KN61
MOV A,#0FFH
MOV P0,A
MOV P2,A
MOV P3,A
MOV P1,A
MOV A,#80H
MOV P0,A
MOV P2,A
MAT: MOV P1,#0FH ;开始按键执行16个键
;MOV IE,#84H
;LJMP IOK
IOK: LCALL D10MS
LCALL KEYIN
JNZ KT
LJMP MAT
KT: MOV R2,#0EFH
MOV R4,#00H
COUN: MOV P1,R2
MOV A,P1
JB ACC.0, L1
MOV A,#00H
AJMP LKP
L1: JB ACC.1,L2
MOV A,#04H
LJMP LKP
L2: JB ACC.2,L3
MOV A,#08H
LJMP LKP
L3: JB ACC.3,NEXT
MOV A,#0CH
LKP: ADD A,R4
PUSH A
WKFE: LCALL KEYIN
JNZ WKFE
POP A
LJMP KJMP
NEXT: INC R4
MOV A,R2
JNB ACC.7,KND
RL A
MOV R2,A
LJMP COUN
KND: RETI
KEYIN: MOV P1,#0FH
MOV A,P1
CPL A
ANL A,#0FH
RET
CLR A
LCALL TXD3
;MOV SBUF,A
;MOV SBUF,A
;MOV SBUF,A
KJMP: MOV DPTR,#KEY0
MOV B,#03H
MUL AB
JMP @A+DPTR
KEY0: LJMP K0
LJMP K1
LJMP K2
LJMP K3
LJMP K4
LJMP K5
LJMP K6
LJMP K7
LJMP K8
LJMP K9
LJMP K10
LJMP K11
LJMP K12
LJMP K13
LJMP K14
LJMP K15
K0: CLR A
;MOV R7,A
MOV 20H,#03H
ZH1: MOV A,#00H
MOV P0,A
LCALL T1S
MOV P2,A
LCALL T1S
MOV A,#0FFH
MOV P0,A
LCALL T1S
MOV P2,A
LCALL T1S
DJNZ 20H,ZH1
MOV R6,#05H
MOV A,#00H
MOV P0,A
MOV P2,A
LCALL T3S
K01: INC A
INC A
INC A
INC A
INC A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -