矩阵键盘硬件设计及软件流程

很多情况下我们芯片的IO口不够用,但是有需要很多按键的话,矩阵键盘是一个很好的选择,通过矩阵键盘的设计我们可以用很少的IO来实现多个按键的功能。下面我们来介绍一下矩阵键盘的相关设计,不多说直接上图

上面这个图就是标准的矩阵键盘的设计了,这是一个4*4的键盘,通过8个IO实现16个按键的功能

硬件设计方面我们最好是给每个IO 加上上拉电阻增加IO的驱动能力。

我们在设计的时候可以采用一组IO ,上图中P10---P13接在按键的一端,P14---P17接在按键的另一端。那么我们具体怎么判断到底是哪个按键按下的呢。下面我们来进行分析。

首先我们先把P14---P17设置为输出高电平,然后我们读取P10---P13的值,谁的值为高,那就表示谁所处的那一列有按键按下,例如如果P10为高,那么表示S1,S5,S9,S13这一列的某个按键按下了,这个就叫做列扫描。

第二步我们需要确定该列中具体是哪个按键按下了,这个时候反过来我们将P10---P13设置为输出高电平,然后我们读取的值P14---P17,谁的值为高,那就表示谁所处的那一行有按键按下,例如如果P14为高,那么表示S1,S2,S3,S14这一列的某个按键按下了,这个就叫做行扫描。

两次扫描之后我们就可以确定是S1按键按下了。

大致的流程就是需要将按键两端的IO分别拉高,读取对应IO的值,进行行扫描和列扫描判断哪个按键按下

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值