矩阵键盘介绍:
矩阵键盘是使用8个io口来进行16个按键的控制读取,用4条I/O线作为行线,4条I/O线作为列线组成的键盘。在行线和列线的每个交叉点上,设置一个按键。
如图所示:
矩阵键盘扫描的方式有两种: 1.行列扫描,2.逐行/逐列扫描
行列扫描:
将P口的高四位(代表四个行)设置为高电平,将P口的低四位(代表四个列)设置为输入口;行扫描,等待按键被按下,读取P1口的低四位,检查哪一位从低电平变为高电平。列扫描:将P口的高四位(四个行)设置为低电平,将P口的低四位(四个列)设置为高电平。读取P口的低四位,检查哪一位从高电平变为低电平。将两次读取结果组合起来就可以得到当前按键的特征编码。
逐行/逐列扫描:
是给某一行/某一列,高电平,其余七个全部为底电平,这时候读取电平变换,有电平变高表示按键按下,结合给出的行列关系,即可读取按键数据。