在单片机中我用if(n==2)
程序不进入if,而用if(n>1),就可以进入程序,
还有一次for(i=3;i>0;i--)程序不进入,
而for(i=3;i>-1;i--)就可以进入程序。
eg1
void main(void)
{
init_t0();
EA=1;
IT0=1;
EX0=1;
EX1 = 1;
IT1 = 1;
InitLCD1602();
LcdShowStr(0, 1, str2); //液晶初始化显示
LcdShowStr(0, 0, str1);
// P0=0xff;
while(1)
{
unsigned int i;
forward(L,R);
if((P1&0X60)==0x60) // 0110 0000
{
flag++;// P0=P1;
delay(40);
}
//
// if((P1&0x90)==0x80) // 1001 0000 1000 0000 向右转
// {
// for(i=0;i<4;i--)
// forward(50,40);
// }
//
// if((P1&0x10)==0x10) // 1001 0000 0001 0000 向左转
// {
// for(i=0;i<4;i--)
// forward(40,50);
// }
//
if(flag==1)
{
m=1;
//led0=0;
continue;
}
if(flag==2)
{
//led1=0;
continue;
}
// break; //遇到第一条线,和第二条线无意义
if(flag==3)
{
//led2=0;
forward(2,3);
continue;
}
if(flag==4)
{
// led3=0;
forward(30,34);
continue;
}
if(flag==5)
{
// led4=0;
continue;
}
if(flag==6)
{
delay(100);
n++;
if(n>1)
{
m=0;
stop();
while(1);
}
// led5=0;
for(i=0;i<50000;i++)
stop();
//P0=0xff;
for(i=0;i<4300;i++)
{zhuan();
flag=0;
}
for(i=0;i<50000;i++)
stop();
// P0=0xff;
}
}
}