首页 新闻 工控搜 论坛 厂商论坛 产品 方案 厂商 人才 文摘 下载 展览
中华工控网首页
  P L C | 变频器与传动 | 传感器 | 现场检测仪表 | 工控软件 | 人机界面 | 运动控制
  D C S | 工业以太网 | 现场总线 | 显示调节仪表 | 数据采集 | 数传测控 | 工业安全
  电 源 | 嵌入式系统 | PC based | 机柜箱体壳体 | 低压电器 | 机器视觉
基于freescale寻迹赛车小车的设计
Phoenixcontact
收藏本文     查看收藏

    很长一段时间没有接触单片机了,刚才浏览工控平台中的单片机论坛,让我想起了学习单片机时中的乐趣。我就把我原来自己动手做的一个小项目(基于freescale寻迹赛车小车的设计)重新整理出来,希望大家喜欢。

    在我们学习时,刚开始都是从接触51单片机开始的,了解它的接口,了解它的定时,中断等性能,然后开始用它来做我们想做的事情。呵呵。其实只要把一种单片机学好了,学习其他单片机都是非常容易的。现在freescale单片机在国内还用的比较少,如果大家有兴趣可以去学习,而且这种单片计算机还是比较稳定,比较好用。而且现在好像有freescale杯赛,很长时间没有去关注了。呵呵

    项目的功能有:寻迹,调速测速,路程显示,按键扫描,躲避障碍。寻迹中用了PID控制算法,调速是通过PWM来调节电机来实现的。PID算法和PWM脉宽调制这方面的资料很多,我不多说了。

整个系统方框图如下:

 

 

软件设计方框图:

 

子程序:

 

扫描子程序:

 

void scaning()

  {

  unsigned char temp,i;

  //int key;

    int n=255;

   for(i=0;i<4;i++)

  {

      temp=key_val[i]&0x0f;

      if(temp!=0x0f)

      {

        Delay_ms(100);

        //LED_delay();

          switch(key_val[i])

           {

           //扫描第一列

               case 0xE7:  Disp_Flag=1; break;

               case 0xD7:  Disp_Flag=0;  break;

               case 0xB7:  Disp_Flag=2;  break;

               case 0x77:  key=n;  break;

            //扫描第二列  

               case 0xEb:  Disp_Flag=1;   break;

               case 0xDb:  Disp_Flag=0;  break;

               case 0xBb:  Disp_Flag=2;  break;

               case 0x7b:  key=n;  break;

           }

        }

   }

 }

PWM调速子程序:

void PWMInit(unsigned int Period)

{   

    unsigned int Temp=Period;

    //不允许溢出中断,不启动计数,分频因子=64,置位TSTOP,TRST

    T1SC = 0b00110110;       

    //[设置PWM周期]

    T1MODH = (Temp>>8);    

    T1MODL = Period;     

    //[初始化设置PWM脉宽为0]

    T1CH0H = 0x00;

    T1CH0L = 0x00;

    //设为PWM模式,不允许输出比较中断,输出低电平,带缓冲

    T1SC0  = 0b00111110;   

    //允许定时器1计数寄存器计数          

    T1SC  &= 0b11011111;     

 

      整个系统运行起来的效果比较良好,哪为兄弟想得到更详细的资料,可以回复本人。

QQ:287756221


 

状 态: 离线

会员简介

会员代号: jieken
联 系 人: jieken
电  话: 028-85268808
传  真:
地  址: 成都市人民南路四段19号威斯顿联邦大厦1908
邮  编: 610041
主  页:
 
 
立即发送询问信息在线联系该技术文摘厂商:
用户名: 密码: 免费注册为中华工控网会员
请留下您的有效联系方式,以方便我们及时与您联络

关于我们 | 联系我们 | 广告服务 | 本站动态 | 友情链接 | 法律声明 | 不良信息举报
工控网客服热线:0755-86369299
版权所有 中华工控网 Copyright©2022 Gkong.com, All Rights Reserved