按键的抖动
对于机械开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个开关在闭合时不回马上稳定地接通,在断开时也不会一下子断开,所以在开关闭合及断开的瞬间会伴随一连串的抖动
#include <REGX52.H>
void Delay(unsigned int xms) //@12.000MHz
{
unsigned char i, j;
while(xms)
{
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
xms--;
}
}
void main()
{
while(1)
{
// P2_0=0;
// Delay(500);
// P2_0=1;
// Delay(500);
//按键按下时0(低电平的原因)
if(P3_1 ==0)
{
Delay(20);
while(P3_1==0);
Delay(20);
//按钮松开后执行
//LED熄灭到亮,亮到熄灭
P2_0=~P2_0;
}
}
}