需要有大量的按键的地方,可以使用行列式键盘。为简化设置,可以把行线与列线直接连到MCU口线上。当然也可以使用专门的芯片。
行列式键盘可以用较少的口线完成很多按键的识别。常规的驱动方式是:将行设置成输出,将列设置为输入,行线依次产生一个脉冲,列线读取。当列线数据有变化时,对照当前行线就可以知道是放在哪个行列位置的按键被按下了。
如果行比较多,整个按键扫描一遍需要花费较多时间。
可以考虑改成以下这种方式:分两步进行
1. 将列线设置为输出,并输出为高,将行线设置为拉低输入,读取所有行得到一个数值。
2. 将行线设置为输出,并输出为高,将列线设置为拉低输入,读取所有列得到一个数值。
分析行列的数据,就能知道哪个位置按键是否被按下了。
对于有多行的键盘,这种方式能成倍加快速度。如果只有两行,则仍然是传统方式为佳。
作者: southcreek, 来源:面包板社区
链接: https://mbb.eet-china.com/blog/uid-me-408807.html
版权声明:本文为博主原创,未经本人允许,禁止转载!
FPFA兔兔爸 2020-6-15 16:20
https://mbb.eet-china.com/forum/topic/78889_1_1.html?from=datu7
人家已经申请美国专利了。
不过我个人觉得,这个专利的价值不大。