|
#include<AT89X52.H> //包含51單片機(jī)頭文件,內(nèi)部有各種寄存器定義
#include<ZY-4WD_PWM.H> //包含HL-1藍(lán)牙智能小車驅(qū)動IO口定義等函數(shù)
//主函數(shù)
void main(void)
{
unsigned char i;
unsigned char flag; // 標(biāo)記點
P1=0X00; //關(guān)電機(jī)
TMOD=0X01;
TH0= 0XFc; //1ms定時
TL0= 0X18;
TR0= 1;
ET0= 1;
EA = 1; //開總中斷
while(1) //無限循環(huán)
{
if(Left_2_led==0 || Right_2_led==0) //遇到障礙物
{
backrun();
delay(1);
stop();
}
//有信號為0 沒有信號為1
if(Left_1_led==1&&mid_1_led==1&&Right_1_led==1)//亮的時候為0,1才檢測到黑線
{
run();
}
if(Left_1_led==1&&mid_1_led==1&&Right_1_led==0)
{
leftrun();
flag=0;
delay(1);
}
if(Left_1_led==0&&mid_1_led==1&&Right_1_led==1)
{
rightrun();
flag=1;
delay(1);
}
if(Right_1_led==1&&Left_1_led==1)
{
run();
}
if(Left_1_led==0&&mid_1_led==0&&Right_1_led==0)//亮的時候為0,1才檢測到黑線
{ //跑出賽道
if(flag==1)
{ //右急轉(zhuǎn)
moreright();
}
if(flag==0)
{ //左急轉(zhuǎn)
moreleft();
}
}
}
}
|
|