需要有大量的按键的地方,可以使用行列式键盘。为简化设置,可以把行线与列线直接连到 MCU 口线上。当然也可以使用专门的芯片。 行列式键盘可以用较少的口线完成很多按键的识别。常规的驱动方式是:将行设置成输出,将列设置为输入,行线依次产生一个脉冲,列线读取。当列线数据有变化时,对照当前行线就可以知道是放在哪个行列位置的按键被按下了。 如果行比较多,整个按键扫描一遍需要花费较多时间。 可以考虑改成以下这种方式:分两步进行 1. 将列线设置为输出,并输出为高,将行线设置为拉低输入,读取所有行得到一个数值。 2. 将行线设置为输出,并输出为高,将列线设置为拉低输入,读取所有列得到一个数值。 分析行列的数据,就能知道哪个位置按键是否被按下了。 对于有多行的键盘,这种方式能成倍加快速度。如果只有两行,则仍然是传统方式为佳。