标题:
基于LDC1314的循迹 单片机程序源码
[打印本页]
作者:
依然范特西44
时间:
2018-6-6 15:53
标题:
基于LDC1314的循迹 单片机程序源码
void main( void )
{
P2SEL &=~ BIT7; //蜂鸣器
P2DIR |= BIT7;
P2OUT &=~ BIT7;
InitSys();
InitLDC1314();
Ini_Lcd();
P6SEL=0;P6DIR|=BIT0+BIT1;P6OUT&=~(BIT0+BIT1); //电机旋转方向
_EINT();
int i;
InitPWM(0x03E8); //PWM初始化,采用TB输出2路PWM波
TBCCR1=TBCCR2=0;
for(i=0;i《1500;i++) // 电感传感器自校准
{
D1=LDC1314_Result(1);
D2=LDC1314_Result(2);
D3=LDC1314_Result(3);
}
initTA(); // 定时器A初始化,用于计时
go(); //直行
TIme=mc=sx=0; //开始执行 时间路程清零
while(1)
{
Component_Display(4,0,TIme);//时间
sl=(int)((float)sx*3.0);
Component_Display(4,4,sl); //路程
if(sl》800){while(1);_DINT();TBCCR1=TBCCR2=0;} //到达终点 结束
value1 = LDC1314_Result(1); Component_Display(1,1,value1);//显示通道1
value2 = LDC1314_Result(2); Component_Display(2,1,value2);
value3 = LDC1314_Result(3); Component_Display(3,1,value3);//显示
// 硬币的检测
if ((value1》(2+D1))|| (value2》(2+D2))|| (value3》(2+D3)) || (abs(value2-D2)》20)|| (abs(value1-D1)》20)|| (abs(value3-D3)》20))
P2OUT |=BIT7;
else
P2OUT &=~BIT7;
//循迹
if((abs(value3-D3)《20)&&(D3》value3)) { turn_r(); }
else if((abs(value1-D1)《20)&&(D1》value1)) { turn_l(); }
else go();
}
}
复制代码
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1