列线输入端子P1.0〜P1.3通过电阻连接到正电源,行线P1.4〜P1.7连接到I /单片机的O端口作为输出端子。将输入端设置为高电平,将输出端设置为低电平。这样,当不按任何键时,所有输入端子都不变,这意味着没有按键被按下。按下键后,在输出线的影响下将输入线下拉。这样,通过读取输入线的状态,可以知道是否按下了键。
行扫描方法也称为逐行(或列)扫描查询方法。它是最常用的密钥识别方法之一。键盘如上图所示。引入过程如下。
判断键盘上是否有按键,将所有行设置为低电平,然后检查列状态。只要一列的电平为低,就表示按下了键盘上的一个键,并且闭合键位于4个键中,其中低电平线与4行行交叉。如果所有列行都处于高电平,则无需在键盘中按任何键。
确定闭合键的位置在确认按下某个键之后,您可以进入确定特定闭合键的过程。方法是:依次将行线设置为低电平,即,当某行线设置为低电平时,其他行为高电平。在确定某一行线的位置为低电平之后,逐行检测每条列线的电平状态。如果某列为低,则设置为低的列线和行线的交点处的按钮为关闭的按钮。