找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4895|回复: 4
打印 上一主题 下一主题
收起左侧

单片机矩阵按键的按键冲突怎么处理?

[复制链接]
跳转到指定楼层
楼主
50黑币
在矩阵按键扫描的时候,会碰到按键冲突,换一种说法,叫鬼键;也就是#字效应;比如#字的4个交叉点,第1个点和第2个点的按键已经按下,这个时候再去按第3个点的按键,这个时候单片机检测到的按键就是3和4同时按下(我没有去按第4点的按键),这种情况怎么处理?

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:213173 发表于 2018-11-14 15:02 | 只看该作者
一般4*4矩阵键盘适合用在单键有效环境,如果用在组合键环境会有条件限制,也就是组合键必须在同行或同列,否则就会出现误码。
回复

使用道具 举报

板凳
ID:373761 发表于 2018-11-14 19:33 | 只看该作者
wulin 发表于 2018-11-14 15:02
一般4*4矩阵键盘适合用在单键有效环境,如果用在组合键环境会有条件限制,也就是组合键必须在同行或同列, ...

在键盘上,用的就是矩阵按键,鬼键必然会碰到,按键检测的话必然会碰到这种情况。
我想了一个下午,大概有了个思路,需要验证一下。大概的思路如下:
当检测到有按键按下的时候(按键松开不需要处理鬼键),就对该按键的X坐标和Y坐标进行检测,如果X轴上按下的按键大于2并且Y轴上按下的按键大于2,那么这个按键必然是鬼键。
回复

使用道具 举报

地板
ID:373761 发表于 2018-11-15 16:40 | 只看该作者
18320816316 发表于 2018-11-14 19:33
在键盘上,用的就是矩阵按键,鬼键必然会碰到,按键检测的话必然会碰到这种情况。
我想了一个下午,大概 ...

今天验证了一下,我的思路是对的;在实验板上,用4个按键控制4个灯;当不做鬼键处理的时候,如果按住按键1和按键2,LED1和LED2亮;这个时候再去按按键3,得到的结果是LED3和LED4同时亮;
做了鬼键处理之后,按按键3,LED3和LED4不动作。同理,如果是用来控制键盘,比如按住A和S,再去按Q,Q是打不出来的,因为做了鬼键处理;如果不做处理的话,按Q键会出2个键。
回复

使用道具 举报

5#
ID:57657 发表于 2021-11-26 10:34 | 只看该作者
LED 按下1、或者 3、7、9 同时按下都可以点亮,具体为什么会出现鬼键,请看下图电流走向:


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表