一共有16个按键组成,通过行列排布按键,8个IO进行按键的检测,矩阵键盘的设计有效的节省了IO,不然有多少按键就要多少IO口去检测,会造成IO的极大的浪费。

 

 

8*8矩阵键盘是指纹密码锁系统的密码输入和模式控制集成按键,采用了行列排列的方式,按键一端分别接K5,K6,K7,K8输出IO(推挽输出),一端接K1,K2,K3,K4输入IO(下拉输入),通过给K5,K6,K7,K8输出端口依次给高电平,检测K1,K2,K3,K4具体输入端口的电平,如果检测到高电平那么则是这个行线的按键按下,综合给高电平的列和检测到高电平的行,从而确定是哪一个按键被按下,由于只使用了8个IO口就完成了16个按键的检测,所以此矩阵键盘的设计方式极大的节约了IO的使用。

 

 

硬件电路设计的按键输入设备,如果是按键比较少,可以采用独立按键,但有的使用场景需要较多的按键,于是矩阵按键模块就应运而生。其实矩阵键盘之所以可以通过8个IO就可以检测16个按键的状态的最重要是因为利用软件去动态扫描实现的。

 

 

此篇文章根据上方的原理图,对应的行列搞懂后,就会很容易明白,希望读者多一点耐心,认真的去阅读文章,自己尝试着去写矩阵键盘的驱动代码,就会更加容易理解其中的原理的,当然网上也有许多关于矩阵键盘的介绍,读者可以找一下,综合阅读来去理解矩阵键盘的原理,来更好帮助读者去写驱动程序。当然,理解了原理可能读者自己写驱动可能还是有点费力,作者开始也是这样的。你可以尝试着去给其中一个列线IO高电平,然后检测4个行线IO电平的变化。去按下这个列线上的按键,用万用表或者在在线仿真中去检测按下按键的行线的电平的变化,这样一个列线上的四个按键可以进行检测了,依次类推其三个列线上按键的检测,从而实现整个矩阵键盘模块的按键检测。至此,按键模块的检测已经讲完,希望读者可以按照本文一步一步的去写自己的矩阵键盘的驱动程序,静下心来,相信你一定可以很快写出来的,加油!

 

 

留下评论

咨询