这个键盘要怎么扫键?我感觉最下面接GND的一行按下一定会干扰其他行的扫键?哪位大大可以详细讲下,急用。。。。
跟13*13的扫描方式一样 按列拉低电平
这样就能判断对应行的按键按下
虽然左半部分按键不全 但是也要扫描
从下面开始扫描 应该是011111...开始然后10111...这样循环
循环时判断有没有按键按下不支持多建同时按下的判断
图片看得不是特别清楚,我就我看到的图片(含猜测)回答一下
如果需要多按键同时生效,我觉得扫键的规则应该有点讲究,首先是扫最下面一排,直接读取io接口,如果有低电平,那么表示对应列的按钮按下。再逐行上移,将14置低电平,读取2~13,获取14行对应列的按键状态……
个人认为是从下向上扫。1行低电平,其余为高电平,读取14-2行的值,然后14行低电平,其余为高电平,读取13-2行的值,然后13行低电平,其余为高电平,读取12-2行的值······已经读过过的1行14行这些就不要管了。
多个按键同时按下(我只考虑了两个按键的情况):①②同时按下,2、3行为低电平,③④同时按下,2、3行为低电平(①②③④同时未考虑)
①③同时按下,2、12行为低电平,②④同理
③⑤同时按下,14、13行分别为低电平时,其余为高电平,其他行无电平变化,12行为低电平时,其余为高电平,2、9行也是低电平。
个人观点,欢迎探讨。