打印

4×4矩阵键盘原理及其在单片机中的简单应用(基Proteus仿真)

[复制链接]
1310|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
luoyong199092|  楼主 | 2012-8-2 17:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
按键的识别可采用行扫描法和线反转法,这里采用简单的线反转法,只需三步。
第一步,执行程序使X0~X3均为低电平,此时读取各列线Y0~Y3的状态即可知道是否有键按下。当无键按下时,各行线与各列线相互断开,各列线仍保持为高电平;当有键按下时,则相应的行线与列线通过该按键相连,该列线就变为低电平,此时读取Y0Y1Y2Y3的状态,得到列码。
第二步,执行程序使Y0~Y3均为低电平,当有键按下时,X0~X3中有一条行线为低电平,其余行线为高电平,读取X0X1X2X3的状态,得到行码。
第三步,将第一步得到的列码和第二步得到的行码拼合成被按键的位置码,即Y0Y1Y2Y3X0X1X2X3(因为行线和列线各有一条为低电平,其余为高电平,所以位置码低四位和高四位分别只有一位低电平,其余为高电平)。
也就是说,当某个键按下时,该键两端所对应的行线和列线为低电平,其余行线和列线为高电平。比如,当0键按下时,行线X0和列线Y0为低电平,其余行列线为高电平,于是可以得到0键的位置码Y0Y1Y2Y3X0X1X2X3为0111 0111,即0X77。当5键按下时,行线X1和列线Y1为低电平,其余行列线为高电平,于是可得到5键的位置码Y0Y1Y2Y3X0X1X2X3为1011 1011,即0XBB。全部矩阵键盘的位置码如下:

4×4矩阵键盘原理及其在单片机中的简单应用(基Proteus仿真).pdf

198.16 KB

相关帖子

沙发
engineertky| | 2012-8-2 21:09 | 只看该作者
实用,有启示。

使用特权

评论回复
板凳
奔小康| | 2013-5-11 14:57 | 只看该作者
那怎么等待按键释放啊?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

6

帖子

0

粉丝