arduino双按键计数(Arduino矩阵键盘扫描并通过1602显示)

1.硬件原理

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

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

arduino双按键计数(Arduino矩阵键盘扫描并通过1602显示)(1)

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

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

arduino双按键计数(Arduino矩阵键盘扫描并通过1602显示)(2)

硬件原理图

2.程序解读

算法描述:

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

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

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

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

代码解读:

详细的代码解读请看注释

arduino双按键计数(Arduino矩阵键盘扫描并通过1602显示)(3)

3.实物效果

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

arduino双按键计数(Arduino矩阵键盘扫描并通过1602显示)(4)

实验动态效果图如下:

arduino双按键计数(Arduino矩阵键盘扫描并通过1602显示)(5)

欢迎点赞和转发,关注头条号:奔跑的晶体管 可以学到更多的电子知识哦。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页