|
K1添加防抖动延时后,其他按键就无效了,但是不添加的话,按一下会跳好多个
单片机代码如下
#include<reg51.h>
#include<intrins.h>
sbit K1=P1^0;
sbit K2=P1^1;
sbit K3=P1^2;
sbit K4=P1^3;
unsigned int flag;
void delay(int x)
{
int i,j;
for(i=x;i>0;x--)
for(j=110;j>0;j--);
}
void main(void)
{
flag=0;
while(1)
{
if(K2==0)
{
flag=1;
P0=0xf0;
}
else if(K3==0)
{
flag=1;
P0=0x0f;
}
else if(K4==0)
{
flag=0;
P0=0xff;
}
else if(K1==0)
{
if(flag==0)
P0=0xfe;
else
P0=_crol_(P0,1);
flag=1;
}
}
}
|
|