1.引进抖动概念
2.编写代码
#include <REGX52.H>
void Delay(unsigned int xms) //@12.000MHz
{
unsigned char data i, j;
while(xms)
{
i = 2;
j = 239;
do
{
while (--j);
} while (--i);
xms--;
}
}
void main()
{
while(1)
{
//P3_1按下为0,不按状态默认为1
if(P3_1==0)
{
Delay(20); //按键开始进行,消除按下抖动
while(P3_1==0); //按键未结束,手指未提起
Delay(20); //按键已经结束,消除松手抖动
//上面这三条语句是为了消除抖动对开关造成的影响
P2_0=~P2_0; //执行命令
}
}
}
4.stc烧录即可实现,按下按键开关K1之后01灯常亮,再按一下K1熄灭01灯。