📄 矩阵键盘实例.asm
字号:
ORG 0000H
MOV SP,#050H
AJMP MAIN
MAIN:
MOV 030H,#0BFH
MOV 031H,#086H
MOV 032H,#0DBH
MOV 033H,#0CFH
MOV 034H,#0E6H
MOV 035H,#0EDH
MOV 036H,#0FDH
MOV 037H,#0A7H
MOV 038H,#0FFH
MOV 039H,#0EFH
MOV P1,#0FFH
MOV P0,#00H
MOV 040H,#030H
MOV 041H,#00H
MOV 042H,#00H
MOV 043H,#00H
SCANNING:
CLR5: CLR P1.5
JNB P1.1,S1
JNB P1.2,S4
JNB P1.3,STO7
JNB P1.4,STO10
SETB P1.5
CLR6: CLR P1.6
JNB P1.1,S2
JNB P1.2,S5
JNB P1.3,STO8
JNB P1.4,STO11
SETB P1.6
CLR7: CLR P1.7
JNB P1.1,S3
JNB P1.2,S6
JNB P1.3,STO9
JNB P1.4,STO12
MOV P0,#00H
CLR P2.2
MOV P2,#040H
MOV R0,040H
MOV P0,@R0
MOV 041H,#00H
MOV 042H,#00H
MOV 043H,#00H
AJMP SCANNING
STO7: AJMP S7
STO8: AJMP S8
STO9: AJMP S9
STO10: AJMP S10
STO11: AJMP S11
STO12: AJMP S12
S1: MOV 040H,#031H
MOV R0,040H
MOV P0,@R0
SETB P2.2
AJMP TOSCANNING
S2: MOV 040H,#032H
MOV R0,040H
MOV P0,@R0
SETB P2.2
AJMP TOSCANNING
S3: MOV 040H,#033H
MOV R0,040H
MOV P0,@R0
SETB P2.2
AJMP TOSCANNING
S4: MOV 040H,#034H
MOV R0,040H
MOV P0,@R0
SETB P2.2
AJMP TOSCANNING
S5: MOV 040H,#035H
MOV R0,040H
MOV P0,@R0
SETB P2.2
AJMP TOSCANNING
S6: MOV 040H,#036H
MOV R0,040H
MOV P0,@R0
SETB P2.2
AJMP TOSCANNING
S7: MOV 040H,#037H
MOV R0,040H
MOV P0,@R0
SETB P2.2
AJMP TOSCANNING
S8: MOV 040H,#038H
MOV R0,040H
MOV P0,@R0
SETB P2.2
AJMP TOSCANNING
S9: MOV 040H,#039H
MOV R0,040H
MOV P0,@R0
SETB P2.2
AJMP TOSCANNING
S10: INC 041H
MOV R0,041H
CJNE R0,#0FFH,S100
MOV 041H,#0FEH
INC 042H
MOV R0,042H
CJNE R0,#0FFH,S100
MOV 042H,#0FEH
INC 043H
MOV R0,043H
CJNE R0,#0FFH,S100
INC 040H
MOV R0,040H
CJNE R0,#03AH,S10GO
MOV 040H,#030H
S10GO: MOV R0,040H
MOV P0,@R0
SETB P2.2
JNB P1.4,S10GO
S100: AJMP TOSCANNING
S11: MOV 040H,#030H
MOV R0,040H
MOV P0,@R0
SETB P2.2
AJMP TOSCANNING
S12: INC 041H
MOV R0,041H
CJNE R0,#0FFH,S120
MOV 041H,#0FEH
INC 042H
MOV R0,042H
CJNE R0,#0FFH,S120
MOV 042H,#0FEH
INC 043H
MOV R0,043H
CJNE R0,#0FFH,S120
DEC 040H
MOV R0,040H
CJNE R0,#02FH,S12GO
MOV 040H,#039H
S12GO: MOV R0,040H
MOV P0,@R0
SETB P2.2
JNB P1.4,S12GO
S120: AJMP TOSCANNING
TOSCANNING:
SETB P1.5
SETB P1.6
SETB P1.7
AJMP SCANNING
DELAY:
MOV R1,#0FFH
DD:
DJNZ R1,DD
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -