标题:
求帮忙改下,这是我写的小车超声波跟随程序,车头有5个接收超声波探头。
[打印本页]
作者:
51小白Ya
时间:
2018-8-8 11:08
标题:
求帮忙改下,这是我写的小车超声波跟随程序,车头有5个接收超声波探头。
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit E1=P2^0; //???峬??????????
sbit E2=P2^1;
sbit E3=P2^2;
sbit E4=P2^3;
sbit E5=P2^4;
sbit mz=P1^5; //??????Mz?????????
sbit IN1=P1^6;
sbit IN2=P1^7;
sbit my=P1^2; //??????My?????????
sbit IN3=P1^3;
sbit IN4=P1^4;
void delayms(uint); //???????????
main()
{
uint i=0; //????
mz=1;
my=1;
while(1) //???????
{
if(E2==1&&E3==1&&E4==1) //???2??3??4????????
{
for(i=0;i<5;i++) //???
{
mz=1;
IN1=1;
IN2=0;
my=1;
IN3=1;
IN4=0;
delayms(100);
}
}
if(E1==1&&E2==1&&E3==1&&E4==1&&E5==1) //???1??2??3??4??5????????
{
for(i=0;i<5;i++) //???
{
mz=1;
IN1=1;
IN2=0;
my=1;
IN3=1;
IN4=0;
delayms(100);
}
}
if(E2==1) //?????2??????
{
for(i=0;i<5;i++)
{
mz=1;
IN1=1;
IN2=0;
my=1;
IN3=1;
IN4=0;
delayms(100);
}
}
if(E3==1) //?????3??????
{
for(i=0;i<5;i++)
{
mz=1;
IN1=1;
IN2=0;
my=1;
IN3=1;
IN4=0;
delayms(100);
}
}
if(E4==1) //?????4??????
{
for(i=0;i<5;i++)
{
mz=1;
IN1=1;
IN2=0;
my=1;
IN3=1;
IN4=0;
delayms(100);
}
}
if(E2==1&&E3==1) //?????2??3??????
{
for(i=0;i<5;i++)
{
mz=1;
IN1=1;
IN2=0;
my=1;
IN3=1;
IN4=0;
delayms(100);
}
}
if(E2==1&&E4==1) //?????2??4??????
{
for(i=0;i<5;i++)
{
mz=1;
IN1=1;
IN2=0;
my=1;
IN3=1;
IN4=0;
delayms(100);
}
}
if(E3==1&&E4==1) //?????3??4??????
{
for(i=0;i<5;i++)
{
mz=1;
IN1=1;
IN2=0;
my=1;
IN3=1;
IN4=0;
delayms(100);
}
}
if(E1==1) //?????1??????
{
for(i=0;i<5;i++)
{
mz=0; //???
my=1;
IN3=1;
IN4=0;
delayms(100);
}
}
if(E1==1&&E2==1) //?????1,2??????
{
for(i=0;i<5;i++)
{
mz=0; //???
my=1;
IN3=1;
IN4=0;
delayms(100);
}
}
if(E1==1&&E2==1&&E3==1) //?????1,2,3??????
{
for(i=0;i<5;i++)
{
mz=0; //???
my=1;
IN3=1;
IN4=0;
delayms(100);
}
}
if(E1==1&&E2==1&&E3==1&&E4==1) //?????1,2,3,4??????
{
for(i=0;i<5;i++)
{
mz=0; //???
my=1;
IN3=1;
IN4=0;
delayms(100);
}
}
if(E5==1) // ?????5??????
{
for(i=0;i<5;i++)
{
mz=1; //???
IN1=1;
IN2=0;
my=0;
delayms(100);
}
}
if(E4==1&&E5==1) //?????4,5??????
{
for(i=0;i<5;i++)
{
mz=1; //???
IN1=1;
IN2=0;
my=0;
delayms(100);
}
}
if(E3==1&&E4==1&&E5==1) //?????3,4,5??????
{
for(i=0;i<5;i++)
{
mz=1; //???
IN1=1;
IN2=0;
my=0;
delayms(100);
}
}
if(E2=1&&E3==1&&E4==1&&E5==1) //?????2,3,4,5??????
{
for(i=0;i<5;i++)
{
mz=1; //???
IN1=1;
IN2=0;
my=0;
delayms(100);
}
}
if(E1==0&&E2==0&&E3==0&&E4==0&&E5==0) //??
{
mz=0;
my=0;
}
}
}
void delayms(uint xms)
{
uint i,j;
for(i=xms;i>0;i--)
for(j=110;j>0;j--);
}
复制代码
手里拿一个超声波发射器,有些不灵敏,有时候小车左转时,右轮应该正转嘛,然后左轮也转一圈,不知道怎么回事
作者:
eddie158
时间:
2018-8-18 21:47
是不是你的逻辑出问题了?超声波接受信号判断逻辑检查检查看看
作者:
cona4142
时间:
2018-8-19 10:55
这么复杂 应该是逻辑出问题
作者:
eddie158
时间:
2018-12-18 13:53
你的跟随小车做的怎么样了
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1