找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1438|回复: 0
打印 上一主题 下一主题
收起左侧

基于LDC1314的循迹程序源码

[复制链接]
跳转到指定楼层
楼主
ID:250660 发表于 2018-7-19 19:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
基于LDC1314的循迹
  1. void main( void )

  2.   {

  3.   P2SEL &=~ BIT7; //蜂鸣器

  4.   P2DIR |= BIT7;

  5.   P2OUT &=~ BIT7;

  6.   InitSys();

  7.   InitLDC1314();

  8.   Ini_Lcd();

  9.   P6SEL=0;P6DIR|=BIT0+BIT1;P6OUT&=~(BIT0+BIT1); //电机旋转方向

  10.   _EINT();

  11.   int i;

  12.   InitPWM(0x03E8); //PWM初始化,采用TB输出2路PWM波

  13.   TBCCR1=TBCCR2=0;

  14.   for(i=0;i《1500;i++) // 电感传感器自校准

  15.   {

  16.   D1=LDC1314_Result(1);

  17.   D2=LDC1314_Result(2);

  18.   D3=LDC1314_Result(3);

  19.   }

  20.   initTA(); // 定时器A初始化,用于计时

  21.   go(); //直行

  22.   TIme=mc=sx=0; //开始执行 时间路程清零

  23.   while(1)

  24.   {

  25.   Component_Display(4,0,TIme);//时间

  26.   sl=(int)((float)sx*3.0);

  27.   Component_Display(4,4,sl); //路程

  28.   if(sl》800){while(1);_DINT();TBCCR1=TBCCR2=0;} //到达终点 结束

  29.   value1 = LDC1314_Result(1); Component_Display(1,1,value1);//显示通道1

  30.   value2 = LDC1314_Result(2); Component_Display(2,1,value2);

  31.   value3 = LDC1314_Result(3); Component_Display(3,1,value3);//显示

  32.   // 硬币的检测

  33.   if ((value1》(2+D1))|| (value2》(2+D2))|| (value3》(2+D3)) || (abs(value2-D2)》20)|| (abs(value1-D1)》20)|| (abs(value3-D3)》20))

  34.   P2OUT |=BIT7;

  35.   else

  36.   P2OUT &=~BIT7;

  37.   //循迹

  38.   if((abs(value3-D3)《20)&&(D3》value3)) { turn_r(); }

  39.   else if((abs(value1-D1)《20)&&(D1》value1)) { turn_l(); }

  40.   else go();

  41.   }

  42.   }


复制代码


基于LDC1314的循迹 单片机程序源码.docx

11.92 KB, 下载次数: 12, 下载积分: 黑币 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表