#include <reg51.h>//此文件中定义了51的一些特殊功能寄存器
sbit key1 = P3^7;
unsigned char cnt;
bit flag=0;
void Delay10ms(unsigned int c) //?差 0us
{
unsigned char a, b;
for (;c>0;c--)
{
for (b=38;b>0;b--)
{
for (a=130;a>0;a--);
}
}
}
void main()
{
cnt=0;
while(1)
{
if (flag==0)
{
if(key1 == 0) //key is press?
{
delay10ms(2); //消除抖动
if(key1 == 0) //再次检测按键是否按下
{
flag=1;
cnt++;
if (cnt>=20)
{
cnt=0;
}
}
}
}
else if (key1!=0)
{
flag=0;
}
}
} |