📄 text1.asm
字号:
ORG 30H
START: MOV R0,#00H
MOV R1,#04H
MOV R2,#0EFH ;扫描码初值 低电平扫描
GO: MOV A,R2
MOV P1,A
;==================查第一行=============================
JNB P1.0,KEYIN ;若被按下就跳转
INC R0 ;下一键
;==================查第二行==============================
JNB P1.1,KEYIN
INC R0
;==================查第三行=============================
JNB P1.2,KEYIN
INC R0
;==================查第四行===============================
JNB P1.3,KEYIN
INC R0
;==================下一列==============================
MOV A,R2
RL A
MOV R2,A
DJNZ R1,GO
JMP START
;==================键被按的处理程序========================
KEYIN: CALL WAIT ;调用防抖动延时
MOV A,R0 ;取按键值
MOV P2,#0FFH ;清理数码管
MOV P2,A
MOV P0,#0FEH
JMP START ;重新扫描
;================防抖动延时程序===========================
WAIT: MOV R7,#40
W1:MOV R6,#200
DJNZ R6,$
DJNZ R7,W1
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -