找回密码
 立即注册

QQ登录

只需一步,快速开始

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

智能小车.c 程序

[复制链接]
跳转到指定楼层
楼主
ID:162851 发表于 2017-2-3 10:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
      一个简单的智能小车.c 程序,2只后轮和一只万向轮,5只红外反射式传感器,其中左右方向用2只,距离近,中远各一只,电机驱动电路 L293D     只用方向控制程序,或者前进停止后退程序时均正常,一旦将方向控制程序+前进停止后退程序时 ,方向控制不能正常工作      敬请哪位老师看看问题出在哪里     谢谢!
      智能小车.c 程序


#include <reg52.h>
sbit PF1=P1^0;         //左方向 红外传感器  
sbit PF2=P1^1;          //右方向红外传感器
sbit PJ1=P1^2;         //近距离 15cm 红外传感器
sbit PJ2=P1^3;         //中距离 30cm 红外传感器
sbit PJ3=P1^5;         //远距离 50cm 红外传感器
sbit PA1=P0^0;           //电机驱动电路 L293D  左轮
sbit PA2=P0^1;
sbit PA=P0^4;
sbit PB1=P0^2;          //电机驱动电路 L293D  左轮
sbit PB2=P0^3;            
sbit PB=P0^5;
void main(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;  
           }
      }
}



   

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

使用道具 举报

沙发
ID:79544 发表于 2017-2-8 21:56 | 只看该作者
你的红外模块是碰到障碍物为低电平还是高电平
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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