七十一,阵列键盘

1,结构

2,原理

分两部来检测按下的按键

一,把1,2,3,4,初始化为上拉输入配置为高;再把a,b,c,d,初始化为推挽输出,配置为低;

二,例如按下F建,则4读出为低,这样按下的按键区间缩小到了4个,为C,D,E,F;

三,现在把IO口电平反转, 1,2,3,4, 初始化为推挽输出,配置为低; 再把a,b,c,d,初始化为上拉输入配置为高;

四,这个时候按下的F键,会使得d读出为低,那么通过反转前4为低,反转后d为低就可以确定按下的是F键.

3,程序

主函数

驱动程序

两次IO初始化,是因为读取的时候需要一次IO电平反转.

下面就是读按键的程序了

这样a的值具有了唯一性和相当于性,下面进行判断

再加上按键松开检测