在蓝桥杯单片机比赛中使用的按键有两种形式:独立按键和矩阵键盘,在J5连接2和3时,使用的是独立按键(使用的是S4-S7),连接1和2时,使用的是矩阵键盘(使用的是所有按键)。
独立按键:
在检测独立按键是否按下,我们可以采用在主程序中等待的方法,如检测到按下,则进行动作,但由于按键的机械特性,在按下按键及松手的时候有出现抖动,如下图所示,即有可能你只按下一次,按键动作被多次触发,所以,在检测到按下的时候,我们延时20ms来消抖,如果此时还判断是按下的状态,我们则认为该按键按下。
独立按键的代码如下:
if(P30 == 0)//S7
{
Delay20ms();
if(P30 == 0)
{
//若代码写在WHILE前,则是按下即动作
while(P30 == 0);//检测松手