#define uint unigned int
#define uchar unsigned char
sbit SK=P3^7;/*聲控*/
/*sbit bee=P3^6;蜂鳴器*/
sbit Z1=P0^0;
sbit Z2=P0^1;
sbit Y1=P0^2;
sbit Y2=P0^3; /*電機*/
sbit L1=P1^7;
sbit L2=P1^6;
sbit L3=P1^5;
sbit L4=P1^4;
sbit L5=P1^3;
sbit L6=P1^2;
sbit L7=P1^1;
sbit L8=P3^1;
sbit L9=P3^0;
sbit L10=P3^2; /*紅外對管*/
/*void delay(int t)
{
int i;
while(t--)
for(i=0;i<121;i++);
} */
void qianjin()
{
Z1=0;Z2=1;
Y1=0;Y2=1;
}
void zuozhuan()
{
Z1=0;Z2=1;
Y1=1;Y2=0;
}
void youzhuan()
{
Z1=1;Z2=0;
Y1=0;Y2=1;
}
/*void houtui()
{
Z1=1;Z2=0;
Y1=1;Y2=0;
} */
void tingzhi()
{
Z1=1;Z2=1;
Y1=1;Y2=1;
}
/*void xunji1()
{
if(L3==0&&L4==0&&L5==0)
{qianjin();}
if((L7==1||L6==1)&&L2==0)
{zuozhuan();}
else if(L6==0&&L2==1)
{youzhuan();}
else if(L3==1||L4==1||L5==1)
{qianjin();}
} */
void xunji4()
{
while(1)
{ if((L4==1||L5==1)&&L1==0)
{zuozhuan();}
else if(L5==0&&(L1==1||L2==1))
{youzhuan();}
else if(L3==1&&L4==1)
{qianjin();}
else if(L7==1||L6==1)
{tingzhi();while(SK==0);}
if(L1==1&&L2==1&&L3==1&&L4==1&&L5==1&&L6==1&&L7==1)
tingzhi(); break;
}
}
/*void xunji2()
{
if((L1==1||L2==1)&&L7==0)
{zuozhuan();}
else if((L7==1||L6==1)&&L1==0)
{youzhuan();}
else if(L4==0&&L5==0)
{qianjin();}
}
void xunji3()
{
if(L8==0&&L9==1)
{zuozhuan();}
else if(L8==1&&L9==0)
{youzhuan();}
else if(L9==0&&L8==0)
{houtui();}
}
void huijia()
{
qianjin();delay(2500);tingzhi();delay(100);
zuozhuan();delay(500);tingzhi();delay(100) ;
houtui();delay(1700);tingzhi();delay(300) ;
youzhuan();delay(800);tingzhi();delay(100);
houtui();delay(1000);tingzhi();delay(100000) ;
} */
void main(void)
{
/*while(1)
{
xunji1();
if(L2==1&&L4==1&&L6==1) //壹區循跡
break;
}
bee=0;
delay(50);
bee=1;
qianjin();
delay(1000);
while(1)
{
xunji2(); //二區循跡
if(L7==1&&L6==1&&L5==1)
break;
}
bee=0;
delay(50);
bee=1;
qianjin();
delay(300);
youzhuan();
delay(200);
qianjin(); //三區壁障
delay(400);
zuozhuan();
delay(200);
qianjin();
delay(400);
youzhuan();
delay(200);
qianjin();
delay(100);
bee=0;
delay(200);
bee=1;
*/
xunji4();
/* while(1)
{
houtui();
if((L8==1||L3==1)&&L9==0)
youzhuan();
if((L9==1||L5==1)&&L8==0)
zuozhuan();
if(L10==1&&L8==0)
zuozhuan();
if(L8==1&&L9==1)
tingzhi();
}
*/
}
這個是七路循跡 簡單改改就是四路