NO 5 蓝桥杯单片机之矩阵键盘

本文详细解释了矩阵键盘与独立按键在结构、工作原理上的差异,以及矩阵键盘扫描方法。指出虽然独立按键可以作为矩阵键盘使用,但设计时会考虑按键数量和I/O口成本等因素。
摘要由CSDN通过智能技术生成

1 矩阵键盘和独立按键有什么区别?

严格意义上来说,如图所示,红色部分为独立按键,蓝色部分为矩阵键盘。

两者之间的区别主要是结构上的不同:

(1) 独立按键:由图可以看到四个独立按键的左端口都接CON3(即接地),右端口则各自连接一个I/O端口,如下图上半部分。(I/O端口可简单理解为一个接口即可)

(2)矩阵键盘:其左右端都是I/O端口,如下图下半部分。

2 矩阵键盘和独立按键的工作原理

同独立按键的原理类似(见上上篇),右端默认I/O口是高电平(存在VCC),按键未按下时,左右两端的I/O口是没有连接起来的,且左端的I/O口可0可1(未按下时)

矩阵扫描

我们这里以按行扫描为例,第一行 -> ...->第四行,则右端端口就是代表行,左端端口代表列,每一行连接同一个行端口,每一列连接同一个列端口。(如第一行键盘的行端口都为R1,第一列键盘的行端口都为C1)

当矩阵键盘扫描到该行时,该行所有的按键右端端口都置为0,如图,扫描矩阵键盘的第一行,第一行所有的按键右端端口都置为0,234行按键右端端口都仍为1。

若扫描对应的行内有按键被按下时,左右两端的I/O口就被连接了起来,打通后右端端口的低电平传到了左端端口,则左端端口也就自然变成了低电平。因此,判断按键被按下的突破口就是左端的端口,当左端的端口为低电平时,表示按键被按下。

那么,如何判断左端的端口呢?可以在进行行扫描后再进行列扫描。 比如,当扫描到第二行时,右端端口只有第二行为0,其他行为1,然后进行列扫描,判断此时的列端口是否有低电平第一列 ->...-> 第四列,发现第三列为低电平,那么就说明矩阵键盘的第二行第三列的位置的按键被按下。

参考视频:

【基础技能07】矩阵键盘的扫描原理与基本应用_哔哩哔哩_bilibili

3. 矩阵键盘和独立按键的关系

比较两个的原理,判断按下与否都是看对应端口是否为低电平,因此,有时候,独立按键也可做为矩阵键盘使用,但矩阵键盘不能当独立按键按键使用。

当J5 的跳帽接到独立按键两个引脚时,此时只有独立按键S4~S7能用;

当J5的跳帽接到矩阵键盘的引脚时,此时S4~S19都能使用,即独立按键做为矩阵键盘的一部分使用。

那么为何要设置不同的矩阵键盘和独立按键呢?

查了一下资料说是当按键所需小时,用独立按键就能减少I/O口的设置,降低成本之类的吧。

欢迎指正。

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值