标题:
C51单片机用三个QTI传感器循迹宝贝车源程序
[打印本页]
作者:
啥也不懂
时间:
2017-9-1 15:33
标题:
C51单片机用三个QTI传感器循迹宝贝车源程序
用三个传感器循迹,宝贝车
三个QTI信号线从右到左一次接P2_1,P2_2,P2_3
0.png
(47.13 KB, 下载次数: 93)
下载附件
2017-9-1 15:55 上传
单片机源程序如下:
/************************************************
文件 : three QTI Folloe line.c
描述 :QTI寻迹传感器测试程序
编写 : 任晓东
说明 :程序利用三个QTI传感器实现了寻线的功能
************************************************/
#include <AT89X52.h>
#include <stdio.h>
#include<BoeBot.h>
#define uint unsigned int
#define uchar unsigned char
uchar QTIState ;
void Time1_init(void)
{
EA = 1;
//硬件串口使用定时器1,供AT89S52与PC机通信使用
TMOD |= 0x20; //定时器1方式2.8位自动重装模式
SCON = 0x50; //模式1,8位数据
TH1 = 0xFD; //波特率为9600
TL1 = 0xFD;
TR1 = 1; //起动定时器
TI = 1;
}
void Forward(void)//向前行走子程序
{
P1_1=1;
delay_nus(1700);
P1_1=0;
P1_0=1;
delay_nus(1300);
P1_0=0;
delay_nms(20);
}
void Pivot_Left(void)//左转子程序
{
P1_1=1;
delay_nus(1500);
P1_1=0;
P1_0=1;
delay_nus(1350);
P1_0=0;
delay_nms(20);
}
void Pivot_Right(void)//右转子程序
{
P1_1=1;
delay_nus(1650);
P1_1=0;
P1_0=1;
delay_nus(1500);
P1_0=0;
delay_nms(20);
}
void Rotate_right(void)
{
P1_1=1;
delay_nus(1650);
P1_1=0;
P1_0=1;
delay_nus(1650);
P1_0=0;
delay_nms(20);
}
void Rotate_Left(void)
{
P1_1=1;
delay_nus(1350);
P1_1=0;
P1_0=1;
delay_nus(1350);
P1_0=0;
delay_nms(20);
}
void Get_QTI_State(void)
{
QTIState = P2&0x0e ;
}
void Follow_Line(void)
{
Get_QTI_State();
switch(QTIState)
{
case 0x04 : Forward();
break;
case 0x06 : Pivot_Right();
break;
case 0x02 : Rotate_right();
break;
case 0x0c : Pivot_Left();
break;
case 0x08 : Rotate_Left();
break;
default : break;
……………………
…………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码
所有资料51hei提供下载:
three QTI Follow Line.zip
(24.91 KB, 下载次数: 23)
2017-9-1 15:33 上传
点击文件名下载附件
下载积分: 黑币 -5
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1