我写了个单键控制单灯三种状态的程序,就是不知道为什么按键效果不行,我的程序也没有错,就是运行后按第一次是快闪,按第二次是慢闪,按第三次是长亮,按第四次是关闭,然后再循环,可是我按键却不是这效果,请高手指点一下!
#include<reg52.h>
sbit light5=P1^4;
sbit key1=P3^4;
void scankey1(void);
void delay(unsigned long int us)
{
while(us--);
}
void main()
{
while(1)
{
scankey1();
}
}
void scankey1()
{
unsigned char num1;
if(key1==0)
{
delay(50);
if(key1==0)
{
num1++;
if(num1==5)
num1=0;
}
}
switch(num1)
{
case 1: light5=0;delay(20000);light5=1;delay(20000);break;
case 2: light5=0;delay(80000);light5=1;delay(80000);break;
case 3: light5=0;break;
case 4: light5=1;break;
}
}