单片机消抖动时间延迟法代码
下面是一个实现单片机消抖动时间延迟法代码的例子:
#define DELAY_TIME 10 //定义延时10ms
unsigned char flag=0; //定义一个标志位
void Delay(unsigned int t)//延时函数
{ unsigned int i,j; for(i=t;i>0;i--) for(j=110;j>0;j--); } void Debounce() //消抖函数 { if(flag==0)//判断标志位 { Delay(DELAY_TIME);//调用延时检测函数 if(flag==1) flag=2; else flag=0; } else if (flag==1){ Delay(DELAY_TIME); if (flag==2){ flag=3; }else { flag=1;} }else{ delay (DELAY_TIME);if (flag == 3){flag = 0;}else {flag = 1;} }}
免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。