首页 » 智能 » 简单讲一讲矩阵按键扫描的实现_按键_矩阵

简单讲一讲矩阵按键扫描的实现_按键_矩阵

萌界大人物 2025-01-21 09:00:57 0

扫一扫用手机浏览

文章目录 [+]

矩阵按键

所谓“矩阵扫描”,可以想象成是把几路IO横竖交叉形成网格状,然后把按键放置在网格的交叉点上。
这种电路运用很广泛,可以由较少的IO口实现较多的按键掌握。
比如,6根IO按照3行3列排列,就可以实现接入9个按键;8根IO按照4行4列排列,就可以实现接入16个按键。
来看下面这个33的矩阵按键事理图:

简单讲一讲矩阵按键扫描的实现_按键_矩阵 简单讲一讲矩阵按键扫描的实现_按键_矩阵 智能

33矩阵按键1

简单讲一讲矩阵按键扫描的实现_按键_矩阵 简单讲一讲矩阵按键扫描的实现_按键_矩阵 智能
(图片来自网络侵删)

把稳,中间那四个行、列交叉地方的线是分离的,并没有短接:

33矩阵按键2

还要把稳的是,我们要给行或列IO加上上拉电阻,以担保它们的默认状态是高电平。

矩阵按键扫描的实现事理是这样的:把属于列的IO口设置为输入状态,这时由于上拉电阻的浸染,当按键没有动作时,程序就会读到高电平;这时开始按行进行扫描,先把行1的IO设置为输出状态,然后设置输出为低电平,接着依次读取列IO口的状态,如果有按键被按下,那么列IO口的读入电平就变成低电平,这时就可以根据行和列判断出动作按键的位置了。
行1的扫描完成后,把行1的IO置高,然后按照上面步骤依次进行行2和行3的扫描,确认有动作按键的位置就可以了。
下面是程序的大略流程图(没有包含去抖等处理):

大略扫描按键流程图

希望我的分享给大家带来帮助,欢迎大家多评论、多互换!

标签:

相关文章