51 单片机汇编语言--矩阵键盘的驱动 -
[导读]
用这个矩阵键盘做单片机输入,插 P1 口的 P1.0~P1.6。想问的是,当:按下 1 键 P0 口的 P0.0 输出高电平;按下 2 键 P0.1 输出高电平;……一直到 8 键就可以了。还有一个要求,当按下一个键时延时5秒并
用这个矩阵键盘做单片机输入,插 P1 口的 P1.0~P1.6。
本文引用地址: http://www.21ic.com/app/mcu/201806/764367.htm
想问的是,当:
按下 1 键 P0 口的 P0.0 输出高电平;
按下 2 键 P0.1 输出高电平;
……
一直到 8 键就可以了。
还有一个要求,当按下一个键时延时5秒并锁住其它按键,5秒之后回到起点。用汇编语言
;=====================================================
;如下即可:
ORG 0000H
START:
MOV P0, #255
MOV P1, #255
CLR P1.0
NOP
JNB P1.4, K1
JNB P1.5, K2
JNB P1.6, K3
MOV P1, #255
CLR P1.1
NOP
JNB P1.4, K4
JNB P1.5, K5
JNB P1.6, K6
MOV P1, #255
CLR P1.2
NOP
JNB P1.4, K7
JNB P1.5, K8
; JNB P1.6, K9
SJMP START
K1: CLR P0.0
SJMP DELAY
K2: CLR P0.1
SJMP DELAY
K3: CLR P0.2
SJMP DELAY
K4: CLR P0.3
SJMP DELAY
K5: CLR P0.4
SJMP DELAY
K6: CLR P0.5
SJMP DELAY
K7: CLR P0.6
SJMP DELAY
K8: CLR P0.7
DELAY:
MOV R5, #10
DJNZ R7, $
DJNZ R6, $ - 2
DJNZ R5, $ - 4
LJMP START
END
如果需要按键控制输出高电平,把上述程序中的 CLR,全改成 SETB。
再把: MOV P0, #255
改成: MOV P0, #0
即可。
查看评论 回复
"51 单片机汇编语言--矩阵键盘的驱动 -"的相关文章
- 上一篇:单片机片内存储器烧写 -
- 下一篇:51 单片机汇编语言:0~100 计数器 -