蓝桥杯单片机比赛系列3按键扫描
按键扫描原理及实现
在独立键盘模式时,要将J5跳在BTN模式。也就是J5中2,3短路。此时S7,S6,S5,S4一端直接接地,一端连接P30,P31,P32,P33。按键按下时P30,P31,P32,P33都为低电平。在程序中判断即可,为了防止抖动造成误判,要加延迟。代码如下。
void keyscan()
{
if(P30==0)
{
delay(5);
if(P30==0)
{
//S7动作
}
while(!P30);
}
if(P31==0)
{
delay(5);
if(P31==0)
{
//S6动作
}
while(!P31);
}
if(P32==0)
{
delay(5);
if(P32==0)
{
//S5动作
}
while(!P32);
}
if(P33==0)
{
delay(5);
if(P33==0)
{
//S4动作