找回密码
 立即注册

QQ登录

只需一步,快速开始

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

小车循迹加壁障程序

[复制链接]
跳转到指定楼层
楼主
ID:320359 发表于 2018-5-10 21:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

#include<reg52.h>
/*out1=0;out2=1;out3=0;out4=1;->前进   1.2右 3.4左(此处适用于我自己做的小车,你们需要自己调试)*/
sbit out1=P0^0;
sbit out2=P0^1;
sbit out3=P0^2;
sbit out4=P0^3;
/*l左光电开关r右光电开关*/
sbit l=P1^4;
sbit r=P1^5;
sbit bz=P2^0;
void forward();//前进
void back();//后退
void right();//右转
void left();//左转
void stop();//停
void delay(unsigned int a);        //延时函数
void jsforward();//减速前进
void xunji();//寻迹程序函数

void main()         
{
        while(1)
        {
           if(bz==0)
           {
              stop();
                  delay(5000);
                  while(bz==0)
                  {
                    xunji();
                  }
           }
           if(bz==1)
           xunji();          
        }

}
void xunji()
{
        if(l==0&&r==0)//扫描到白色红外反射回来,检测出低电平0;扫描到黑色红外被吸收不反射,检测出高电平1
        {
                jsforward();       
        }
        else if(l==1&&r==0)
        {
          left();
        }
        else if(l==0&&r==1)
        {
                right();
        }
        else if(l==1&&r==1)
        {
                stop();
        }
}
void forward()//前进
{
        out1=0;
        out2=1;
        out3=0;
        out4=1;
}
void back()//后退
{
        out1=1;
        out2=0;
        out3=1;
        out4=0;
}
void right()//右转
{
   out1=1;
   out2=0;
   out3=0;
   out4=1;       
}
void left()//左转
{
       out1=0;
           out2=1;
           out3=1;
           out4=0;
}
void stop()//停
{       
        out1=1;
   out2=1;
   out3=1;
   out4=1;
       
}
void delay(unsigned int a)        //延时函数
{       
         unsigned char b;
         for(;a>0;a--)
                 for(b=100;b>0;b--);
}
void jsforward()//减速前进
{
        forward();
        delay(1);
        stop();
        delay(2);
}


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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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