矩阵键盘扫描工作原理(4x4键盘设计及其应用)

1.硬件原理

本次实验通过扫描矩阵键盘,读取键值并用1602液晶显示。

简单介绍一下矩阵键盘,实际应用中,正常一个按键需要占用一个IO,我们为了节省IO资源,于是把多个按键做成矩阵键盘的形式。如一个4x4的矩阵键盘,只需要8个IO口就可以了,每个按键有它的行值和列值,行值和列值的组合就是识别这个按键的编码。

单片机通过不断扫描IO口的方式,反馈回来8个IO的实时状态,当有按键按下时,IO口的状态改变,通过对比就能识别是哪个按键按下了。

下面通过Arduino连接矩阵键盘和1602液晶,把键盘按下键值在液晶上显示出来,原理图的连接如下图.

硬件原理图

2.程序解读

算法描述:

Arduino的矩阵键盘的驱动的是库函数的形式,直接调用库的键盘配置函数和扫描函数,对键盘识别,所以Arduino的库函数使用起来还是挺方便的。

矩阵键盘的扫描其实跟按键控制的算法有点类似,首先是读取按键扫描回来的按键,当返回来键值之后再在LCD1602上显示,并不难哦。因为1602一行只能显示16个字符,所以当显示满了之后要做换行处理,同样,液晶两行都显示满了之后,需要清屏刷新再继续显示键值。

其实这种按键扫描是基于循环查询的方法的,扫描的过程比较占用CPU时间,比较好点的处理方法是用状态机的方法实现。尽量减少键盘查询过程对 cpu 的占用时间

LCD1602的显示以前文章有介绍过了,这里就不多介绍。

代码解读:

详细的代码解读请看注释

3.实物效果

实物连接图如下,当按键按下时候,对应的键值会在LCD1602上显示出来。


上一篇: 摄影入门买哪款相机好用(2023初学者相机推荐)
下一篇: 数码摄像机参数详细介绍(相机规格配置说明)

为您推荐