單片機
#include
sbit LED=P1^7;
sbit KEY=P3^7;
void delay(unsigned int a);
main(){
int b=0;
while(1){
if(KEY==0){
switch(b){
case 0:{
delay(20);
while(KEY==0){
LED=~LED;
b=1;
while(KEY==0);}}
break;
case 1:{
delay(20);
while(1){
LED=~LED;
delay(20);
if(KEY==0)
break;}
b=2;
while(KEY==0);}
break;
case 2:{
delay(20);
LED=0;
b=0;
while(KEY==0);}
break;}}}}
void delay(unsigned int a){
unsigned int i;
while(--a!=0)
for(i=600;i>0;i--);}
這個程序,我的設想是第一次按微動開關,LED常亮,第二次按開關,LED閃爍,第三次按開關,LED再次常亮,第四次按開關,LED滅。但是不知道為什么,LED的切換狀態(tài)很亂,沒有達到預想效果。請高人指點,謝謝