• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

这种三角键盘怎么扫键?

Gwvfbukn 2019-05-03 浏览量:770

2019-05-01_14h53_09.png

这个键盘要怎么扫键?我感觉最下面接GND的一行按下一定会干扰其他行的扫键?哪位大大可以详细讲下,急用。。。。

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 这种按键扫描只能识别一个按键按下,如果多个按键按下肯定是会干扰的,最下面一排先扫描,把所有io全部上拉置高,如果有io置低就是最下面一排按下了
    • 发布于 2019-05-03
    • 举报
    • 评论 2
    • 3
    • 0
Gwvfbukn 回复了 yhj416606438:应该是可以识别非不同列的双键的, 回复
Gwvfbukn 回复了 yhj416606438:非接地行的不同列 回复

其他答案 数量:4
  • 跟13*13的扫描方式一样 按列拉低电平

    这样就能判断对应行的按键按下

    虽然左半部分按键不全 但是也要扫描

    • 发布于2019-05-03
    • 举报
    • 评论 1
    • 1
    • 0
Gwvfbukn 回复了 lichangle :我也是这样想的,但是按下最下面一行的按键时,总会拉低上面的一行,导致扫对应的列时被拉低,怎么避免? 回复

  • 从下面开始扫描  应该是011111...开始然后10111...这样循环

    循环时判断有没有按键按下不支持多建同时按下的判断

    • 发布于2019-05-03
    • 举报
    • 评论 0
    • 1
    • 0

  • 图片看得不是特别清楚,我就我看到的图片(含猜测)回答一下

    如果需要多按键同时生效,我觉得扫键的规则应该有点讲究,首先是扫最下面一排,直接读取io接口,如果有低电平,那么表示对应列的按钮按下。再逐行上移,将14置低电平,读取2~13,获取14行对应列的按键状态……


    • 发布于2019-05-03
    • 举报
    • 评论 0
    • 1
    • 0

  • 967620f76b3f64211d03423164edfc89.png

    个人认为是从下向上扫。1行低电平,其余为高电平,读取14-2行的值,然后14行低电平,其余为高电平,读取13-2行的值,然后13行低电平,其余为高电平,读取12-2行的值······已经读过过的1行14行这些就不要管了。

    多个按键同时按下(我只考虑了两个按键的情况):①②同时按下,2、3行为低电平,③④同时按下,2、3行为低电平(①②③④同时未考虑)

    ①③同时按下,2、12行为低电平,②④同理

    ③⑤同时按下,14、13行分别为低电平时,其余为高电平,其他行无电平变化,12行为低电平时,其余为高电平,2、9行也是低电平。

    ​①④或者④⑤同时按下,由于他们不在同一行同一列,所以互不影响。

    个人观点,欢迎探讨。

    • 发布于2019-05-05
    • 举报
    • 评论 1
    • 0
    • 0
Gwvfbukn 回复了 d6372b97c2fc28a9 :实际上先扫完第一行,有键要退出扫键,不然扫其他行会被影响 回复

相关问题

问题达人换一批

这种三角键盘怎么扫键?