改成这样就可以了
-------------------------
switch(ID)
{
case 0:
P1=0x0E;
delay02s();
P1=0x0F;
delay02s();
break;
case 1:
P1=0x0D;
delay02s();
P1=0x0F;
delay02s();
break;
case 2:
P1=0x0B;
delay02s();
P1=0x0F;
delay02s();
break;
case 3:
P1=0x07;
delay02s();
P1=0x0F;
delay02s();
break;
}
-------------------------
最好改成这样~更省空间
-------------------------
前面加一个table:
unsigned char code table[4]={0x0E,0x0D,0x0B,0x07};
上面的程式改成:
P1=table[ID];
delay02s();
P1=0x0F;
delay02s();
-------------------------
这段代码没什么问题,可能是主函数调用问题。P1=0x0F;其实可以不用,如果用的话最好放在IO口赋值之前。
case 3:
//P1=0x0F;
P1=0x07;
delay02s();
break;
delay02s();你这个函数不是2秒延时吗?一般延时几十毫秒就有效果了。