迅维网

查看: 872|回复: 0
打印 上一主题 下一主题

一个简单的智能小车.c 程序

[复制链接]
跳转到指定楼层
1#
发表于 2017-2-5 09:58:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式 来自: 山东青岛 来自 山东青岛

马上注册,获取阅读精华内容及下载权限

您需要 登录 才可以下载或查看,没有帐号?注册

x
一个简单的智能小车.c 程序,2只后轮和一只万向轮,5只红外反射式传感器,其中左右方向用2只,距离近,中远各一只,只用方向控制程序,或者前进停止后退程序时均正常,一旦将方向控制程序+前进停止后退程序时 ,方向控制不能正常工作
      敬请哪位老师看看问题出在哪里     谢谢!
      智能小车.c 程序

#include<reg52.h>

sbitPF1=P1^0;         //左方向 红外传感器
sbitPF2=P1^1;         //右方向 红外传感器

sbitPJ1=P1^2;        //近距离 15cm 红外传感器
sbitPJ2=P1^3;        //中距离 30cm 红外传感器
sbitPJ3=P1^5;        //远距离 50cm 红外传感器

sbitPA1=P0^0;           //电机驱动电路 L293D  左轮
sbitPA2=P0^1;
sbitPA=P0^4;
sbitPB1=P0^2;          //电机驱动电路 L293D  左轮
sbitPB2=P0^3;           
sbitPB=P0^5;

voidmain(void)   //主程序
{
    P1=0x00;     //程序初始化
    P1=0xFF;     //P1口置1

  while(1)    //循环
{
    if(PJ2==1&&PJ2==1&&PJ3==0)// 距离判断  前进
    {
    PA1=1;       //前进
    PA2=0;
    PA=1;
    PB1=1;
    PB2=0;
    PB=1;
    }
     elseif(PJ2==1&&PJ2==0&&PJ3==0&&PF1==1&&PF2==0) // 距离+方向判断 左拐
    {
    PA1=1;       //左拐
    PA2=0;
    PA=1;
    PB1=1;
    PB2=0;
    PB=0;
    }
    elseif(PJ2==1&&PJ2==0&&PJ3==0&&PF1==0&&PF2==1)// 距离+方向判断  右拐
    {
    PA1=1;       //右拐
    PA2=0;
    PA=0;
    PB1=1;
    PB2=0;
    PB=1;
    }
       elseif(PJ1==1&&PJ2==1&&PJ3==1) // 距离判断  无信号停止
    {
    PA1=1;       //无信号 停止
    PA2=0;
    PA=0;
    PB1=1;
    PB2=0;
    PB=0;
    }
    elseif(PJ1==0&&PJ2==0&&PJ3==0) // 距离判断 后退
    {
    PA1=0;       //后退
    PA2=1;
    PA=1;
    PB1=0;
    PB2=1;
    PB=1;
    }
  }
}




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

本版积分规则

快速回复 返回顶部 返回列表
附近
店铺
微信扫码查看附近店铺
维修
报价
扫码查看手机版报价
信号元
件查询
点位图 AI维修
助手



芯片搜索

快速回复