uchar flag=0; void key() //按键判断程序 { if(key1==0) //判断是否按下键盘 { delay(10); //延时,软件去干扰 if(key1==0) //确认按键按下 { flag=1 } while(key1==0); } if(key2==0) //判断是否按下键盘 { delay(10); //延时,软件去干扰 if(key2==0) //确认按键按下 { flag=2 } while(key2==0); } if(key3==0) //判断是否按下键盘 { delay(10); //延时,软件去干扰 if(key3==0) //确认按键按下 { flag=3 } while(key3==0); } if(key4==0) //判断是否按下键盘 { delay(10); //延时,软件去干扰 if(key4==0) //确认按键按下 { flag=4 } while(key4==0); } switch(flag) { case 1:P1=led;led=_crol_(led,1);delay(1700);break; case 2:P1=0xff;break; case 3:P1=P1<<1;delay(1700); if (P1==0X00) P1=0XFF; break; //case 4:P1=~P1;delay(1000);break; case 4:P1--;delay(200);break; default:continue; } } }