我写了个单键控制单灯三种状态的程序,就是不知道为什么按键效果不行,我的程序也没有错,就是运行后按第一次是快闪,按第二次是慢闪,按第三次是长亮,按第四次是关闭,然后再循环,可是我按键却不是这效果,请高手指点一下!#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; } }