前言
在做3x3按键矩阵时,本来是做单按键识别的,后来改需求需要能同时按下多个按键,经测试当同时按下超过两个按键,就会按键判断错误的情况”。
一、“鬼键”是什么?
在矩阵按键中,同时有三个及其以上被按下,出现按键键值判断错误的情况,称为“鬼键”。
如下图所示,只要w,x,y同时被按下,z没有被按下,都会检测到按下。
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/6bc355610024ae79c2503c9cdbf3cb74.png)
二、矩阵按键的原理
1.硬件电路
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/55b1f49d1e027b50b23ca5154b05c791.png)
上图是标准的矩阵键盘的电路原理图,按键的两端会之间连接单片机的IO口,接线分为行列两种(p30-33为行线,p34-37为列线),通过调整行列的IO状态来判断哪个按键被按下,一般只适用同时两个按键或一个按键同时按下的情况。
2.软件处理