按键识别方法之一.asm
来自「AT89S52单片机程序50例(00-50)」· 汇编 代码 · 共 30 行
ASM
30 行
;按键识别方法之一
;P1口接LED灯,P3.0口接键盘。
ORG 0000H
START:MOV R1,#00H ;初始化R1为0,表示从0开始计数
MOV A,R1
CPL A ;取反指令
MOV P1,A ;送出P1端口由发光二极管显示
REL:MOV A,R1
CJNE A,#16,D1
JMP START
D1:JB P3.0,REL ;判断SP1是否按下
LCALL DELAY10MS ;若按下,则延时10ms左右
JB P3.0,REL ;再判断SP1是否真得按下
INC R1 ;若真得按下,则进行按键处理,使R1加1
MOV A,R1
CPL A ;发光二极管显示
MOV P1,A
JNB P3.0,$ ;判断按键是否释放
SJMP REL ;继续对K1按键扫描
;10ms延时子程序
DELAY10MS:MOV R6,#20
L1:MOV R7,#248
DJNZ R7,$
DJNZ R6,L1
RET
END
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?