1 矩阵键盘的结构
下图是一个4*3的矩阵键盘示意图,三条列线连接P1.4-P1.6引脚。四条行线连接P1.0-P1.3引脚
2 逐行逐列扫描法
首先使三条列线所连接的I/O引脚P14-P16输出低电平,四条行线所连接的I/O引脚P10-P13输出高电平。当没有按键按下时,四条行线所连接的I/O引脚读取到的将全部是高电平;而当有按键按下时,由于该按键所在的行线与列线接通,行线将被下拉到低电平。此时读取行线所连接的引脚P10-P13,将不再全是高电平,由此可以判断出有按键按下。判断有按键按下后,还要用逐行逐列扫描法来获取按键的键值。
逐行逐列扫描法的原理是:逐列将列线依次置低电平,读取行线,如果某一条行线为低电平,则说明该行线与当前置为低电平的列线交叉点处的按键被按下,从而可以获取按键的键值。
#define keyboard P1