标题:
三路红外循迹程序
[打印本页]
作者:
adamlai
时间:
2016-5-20 21:24
标题:
三路红外循迹程序
已验证可用
循迹.zip
(18.79 KB, 下载次数: 35)
2016-5-20 21:19 上传
点击文件名下载附件
c程序
下载积分: 黑币 -5
#include<reg52.h>
sbit P00=P0^0; //循迹口
sbit P01=P0^1;
sbit P02=P0^2;
sbit P04=P1^2; //电机1 左轮
sbit P05=P1^3;
sbit P06=P1^4; //电机2 右轮
sbit P07=P1^5;
unsigned int i=0,j=0,q=0,w=0;
void main()
{
while(1)
{
P04=1;P05=1;P06=1; P07=1;
TMOD=0X01;
EA=1;
ET0=1;
if(P00==0&&P01==1&&P02==0)// 小车直走
{
TH0=0XFF;
TL0=0Xfe;
TR0=1;
}
if(P00==0&&P01==0&&P02==1) //小车右转
{
TH0=0XFF;
TL0=0Xfe;
TR0=1;
}
if(P00==1&&P01==0&&P02==0) //小车左转
{
TH0=0XFF;
TL0=0Xfe;
TR0=1;
}
if(P00==1&&P01==1&&P02==1) //全部检测到黑线时 车停
{
TH0=0XFF;
TL0=0Xfe;
TR0=1; }
if(P00==0&&P01==1&&P02==1) //两个传感器测到 左拐
{TH0=0XFF;
TL0=0Xfe;
TR0=1; }
if(P00==1&&P01==1&&P02==0) //两个传感器测到 左拐
{TH0=0XFF;
TL0=0Xfe;
TR0=1; }
}
}
xiong() interrupt 1
{
if(P00==0&&P01==1&&P02==0) //小车直线快走
{
TH0=0XFF;
TL0=0XFe;
P04=0; //电机1 左轮
P05=1;
P06=1; //电机2 右转
P07=0;
}
if(P00==0&&P01==0&&P02==1) //小车右转
{
TH0=0XFF;
TL0=0XB0;
P04=1; //电机1 左轮
P05=1;
P06=1; //电机2
P07=0;
i=1;
}
if(P00==0&&P01==0&&P02==0&&i==1) // 特别 出线时用
{TH0=0XFF;
TL0=0XF0;
P04=1;
P05=1;
P06=1;
P07=0;
j=0; q=0;w=0;
}
if(P00==1&&P01==0&&P02==0) //小车左转
{
TH0=0XFF;
TL0=0XB0;
P04=0; //电机1
P05=1;
P06=1; //电机2
P07=1;
j=1;
}
if(P00==0&&P01==0&&P02==0&&j==1) // 特别 出线时用
{ TH0=0XFF;
TL0=0XF0;
P04=0;
P05=1;
P06=1;
P07=1;
i=0;q=0;w=0;
}
if(P00==1&&P01==1&&P02==1)//全部检测到黑线时 车停
{
TH0=0XFF;
TL0=0Xfe;
P04=1;
P05=1;
P06=1;
P07=1;}
if(P00==0&&P01==1&&P02==1) //两个传感器测到 左拐
{
TH0=0XFF;
TL0=0XB0;
P04=1;
P05=0; // 一个轮前转 一个轮后转 转90
P06=1;
P07=0;
q=1;
}
if(P00==0&&P01==0&&P02==0&&q==1)
{
TH0=0XFF;
TL0=0Xfe;
P04=1;
P05=0;
P06=1;
P07=0;
w=0;i=0;j=0;
}
if(P00==1&&P01==1&&P02==0) //两个传感器测到 右拐
{
TH0=0XFF;
TL0=0XB0;
P04=0;
P05=1;
P06=0; // 一个轮前转一个轮后转 转90
P07=1;
w=1;
}
if(P00==0&&P01==0&&P02==0&&w==1) //两个传感器测到 右拐
{
TH0=0XFF;
TL0=0XB0;
P04=0;
P05=1;
P06=0;
P07=1;
q=0;i=0;j=0;
}
}
复制代码
作者:
机器猫66666666
时间:
2016-11-2 19:21
误判多么
作者:
LINPEI
时间:
2016-12-10 18:40
准确吗 判断
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1