51單片機(jī)循跡小車(chē)電機(jī)驅(qū)動(dòng)程序PWM
/***********************************/
if(P00==0&&P01==1&&P02==1) //兩個(gè)傳感器測(cè)到 左拐
{TH0=0XFF;
TL0=0Xfe;
TR0=1; }
if(P00==1&&P01==1&&P02==0) //兩個(gè)傳感器測(cè)到 左拐
{TH0=0XFF;
TL0=0Xfe;
TR0=1; }
/**********************************/
}
}本文引用地址:http://www.ex-cimer.com/article/201612/325006.htm
xiong() interrupt 1
{
if(P00==0&&P01==1&&P02==0) //小車(chē)直線快走 定時(shí)0.002ms
{
TH0=0XFF;
TL0=0Xfe;
P04=0;//電機(jī)1左輪
P05=1;
P06=1; //電機(jī)2 右轉(zhuǎn)
P07=0;
}
if(P00==0&&P01==0&&P02==1) //小車(chē)右轉(zhuǎn)定時(shí)0.005ms
{
TH0=0XFF;
TL0=0Xfe;
P04=1;//電機(jī)1 左輪
P05=1;
P06=1; //電機(jī)2
P07=0;
i=1;
}
if(P00==0&&P01==0&&P02==0&&i==1) // 特別 出線時(shí)用
{TH0=0XFF;
TL0=0Xfe;
P04=1;
P05=1;
P06=1;
P07=0;
j=0;// q=0;w=0;
}
if(P00==1&&P01==0&&P02==0) //小車(chē)左轉(zhuǎn)定時(shí)0.005ms
{
TH0=0XFF;
TL0=0Xfe;
P04=0;//電機(jī)1
P05=1;
P06=1; //電機(jī)2
P07=1;
j=1;
}
if(P00==0&&P01==0&&P02==0&&j==1) // 特別 出線時(shí)用
{ TH0=0XFF;
TL0=0Xfe;
P04=0;
P05=1;
P06=1;
P07=1;
i=0;//q=0;w=0;
}
if(P00==1&&P01==1&&P02==1)
{ //全部檢測(cè)到黑線時(shí) 車(chē)停
TH0=0XFF;
TL0=0Xfe;
P04=1;
P05=1;
P06=1;
P07=1;}
/*********************************************/
if(P00==0&&P01==1&&P02==1) //兩個(gè)傳感器測(cè)到 左拐
{
TH0=0XFF;
TL0=0Xfe;
P04=1;
P05=0; // 一個(gè)輪前轉(zhuǎn)一個(gè)輪后轉(zhuǎn) 轉(zhuǎn)90
P06=1;
P07=0;
// q=1;
}
/* if(P00==0&&P01==0&&P02==0&&q==1)
{
TH0=0XFF;
TL0=0Xfe;
P04=1;
P05=0; //
P06=1;
P07=0;
w=0;//i=0;j=0;
} */
if(P00==1&&P01==1&&P02==0) //兩個(gè)傳感器測(cè)到 右拐
{
TH0=0XFF;
TL0=0Xfe; //
P04=0;
P05=1;
P06=0; //一個(gè)輪前轉(zhuǎn)一個(gè)輪后轉(zhuǎn) 轉(zhuǎn)90
P07=1;
//w=1;
} /* if(P00==0&&P01==0&&P02==0&&w==1) //兩個(gè)傳感器測(cè)到 右拐
{
TH0=0XFF;
TL0=0Xfe; //0.008
P04=0;
P05=1;
P06=0;//
P07=1;
q=0;//i=0;j=0;
} */
}
/***************************************/
評(píng)論