请教各位,我在编译按键程序时,不知道怎么很好的处理消抖的问题,程序想实现每按一次按键,数码管发生一次变化,但是现在是按下一次,数码管会有很多变化,我也知道程序问题出在哪里,但是不知道怎么修改下,烦请各位帮忙,谢谢!程序如下:
void KEY_SET_Time(void)
{
if(setkey1 ==0)
{
DciDisplay(0x00);
setkey1 =1;
}
if(setkey1 ==1)
{
if(SWB4==0)
{
Delay(100);
if(SWB4==0)
{
if(sec==99)
sec=0;
else
sec++;
}
}
if(SWB3==0)
{
Delay(100);
if(SWB3==0)
{
if(sec==0)
sec=99;
else
sec--;
}
}
}
dis_time =(u32)sec*100 + (u32)ms10;
DciDisplay(dis_time);
}
|