鳕鱼天空

This is Mr Wang's Tech Blog.

非常稳定可靠的单片机按键消抖程序,绝对不会产生抖动

#include<reg52.h>
#define uint unsigned int
#define uchar unsigned char
sbit K1 = P1^0;
void delay1ms(uint n)  
{
    uchar  a,b,c,d;
for(d=n;d>0;d--)
    for(c=1;c>0;c--)
        for(b=222;b>0;b--)
            for(a=12;a>0;a--);
}
void main()
{
    uint i;
        if(K1==0)
        {
                delay1ms(10);  
                if(K1==0)    //
                {
                        for(i=0;i<100;i++)     //此处消抖程序非常经典,怎么按都绝对不会产生抖动。
                        {
                        if(K1==0)
                           i=0;
                        }
                在这儿添加按键按下后要执行的功能。
                }
        }
}

 

添加评论

Loading