资源简介
#include "main.h"
void delay(u8 time)
{
u8 m,n;
for(n=0;n<time;n++)
for(m=0;m<2;m++){}
}
void checkDistance()
{
//若能探测到后车存在则全速运行,否则慢速运行等待后车
slowORfast = (distance) ? 1 : 0;
}
u8 borderlineScan()
{
u8 aa = 0;
if(!line1)/*((!line1) || (!line5))*/ aa = 1; //左边检测
else if((!line2) || (!line6)) aa = 2; //右边检测
else if((!line3) || (!line4)) aa = 3;//中间检测
if(aa) led = 0;
else led = 1;
return aa;
}
、、、、、、、、、、、、、、、、、

代码片段和文件信息
#include “driver.h“
static void ZhiXian(u8 kuaiman);
static void ZuoZhuan();
static void YouZhuan();
static void ZuoDaZhuan();
static void ChaoChe();
DRIVER car = {
0
0
0
20
35
150
ZhiXian
YouZhuan
ZuoZhuan
ZuoDaZhuan
ChaoChe
};
void ZhiXian(u8 kuaiman)
{
if(kuaiman)//快速
{
F2=0;
F4=0;
F3=1;
F1=1;
while(1)
{
if (car.N==180)
{
F3=0;
F1=0;
}
if (car.N==200)break;
car.N++;
}
car.N=0;
}
else//慢速
{
F2=0;
F4=0;
F3=1;
F1=1;
while(1)
{
if (car.N==car.Z)
{
F3=0;
F1=0;
}
if (car.N==200)break;
car.N++;
}
car.N=0;
}
}
void ZuoZhuan()
{
F1=1;
F2=0;
F4=0;
for(car.i = 0;car.i < 80;car.i ++)
{
F3=1;
while(1)
{
if (car.N==car.X)
F3=0;
if (car.N==100)break;
car.N++;
}
car.N=0;
}
}
void YouZhuan()
{
F3=1;
F4=0;
F2=0;
for(car.i = 0;car.i < 80;car.i ++)
{
F1=1;
while(1)
{
if (car.N==car.X)
F1=0;
if (car.N==100)break;
car.N++;
}
car.N=0;
}
}
void ZuoDaZhuan()
{
//for(car.i = 0;car.i < 2;car.i ++)
{
for(car.j = 0;car.j < 80;car.j ++)
{
ZhiXian(1);
}
}
F1=1;
F2=0;
F4=0;
for(car.i = 0;car.i < 470;car.i ++)
{
F3=1;
while(1)
{
if (car.N==car.Y)
F3=0;
if (car.N==100)break;
car.N++;
}
car.N=0;
}
}
void ZuoXiaoZhuan()
{
F1=1;
F2=0;
F4=0;
for(car.i = 0;car.i < 300;car.i ++)
{
F3=1;
while(1)
{
if (car.N == 50)
F3=0;
if (car.N==120)break;
car.N++;
}
car.N=0;
}
}
void YouXiaoZhuan()
{
F3=1;
F4=0;
F2=0;
for(car.i = 0;car.i < 300;car.i ++)
{
F1=1;
while(1)
{
if (car.N==50)
F1=0;
if (car.N==120)break;
car.N++;
}
car.N=0;
}
}
void ChaoChe()
{
u8 yanzi;
//此处忽略超车区虚线标志(在主函数中已经关闭边界扫描定时器)
ZuoXiaoZhuan();//介于左方向大转和右边越界左转幅度之间
YouXiaoZhuan();//方向修正
TR1 = 1;//开启边界扫描,防止在超车时冲出超车带
for(yanzi = 0;yanzi < 90000;yanzi ++)
ZhiXian(1);//全速超车
TR1 = 0;//出超车带,再次忽略虚线
YouXiaoZhuan();//出超车区
ZuoXiaoZhuan();//方向回正
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 14430 2011-10-30 20:58 cars\cars
文件 3308 2011-10-30 20:58 cars\cars.hex
文件 55 2011-10-30 20:58 cars\cars.lnp
文件 20087 2011-10-30 20:58 cars\cars.M51
文件 177 2011-11-02 10:18 cars\cars.plg
文件 74700 2011-10-30 21:00 cars\cars.uvgui.Administrator
文件 74700 2011-10-30 20:58 cars\cars.uvgui_Administrator.bak
文件 57936 2011-11-02 10:20 cars\cars.uvopt
文件 13928 2011-10-31 16:05 cars\cars.uvproj
文件 57939 2011-10-31 16:05 cars\cars_uvopt.bak
文件 13958 2011-10-30 20:58 cars\cars_uvproj.bak
文件 2334 2011-09-06 10:05 cars\driver.c
文件 496 2011-09-03 17:18 cars\driver.h
文件 8043 2011-10-30 20:58 cars\driver.LST
文件 8257 2011-10-30 20:58 cars\driver.OBJ
文件 3391 2011-11-15 13:08 cars\main.c
文件 738 2011-09-06 10:03 cars\main.h
文件 9117 2011-10-30 20:58 cars\main.LST
文件 9148 2011-10-30 20:58 cars\main.OBJ
目录 0 2011-11-15 13:07 cars
----------- --------- ---------- ----- ----
372742 20
相关资源
- 51 单片机 红外避障小车 大集合136
- 基于MSP430G2553的蓝牙控制小车
- 红外循迹小车VHDL程序
- 全国电子设计大赛自动寻迹小车论文
- EESkill NRF24L01 无线模块用户手册
- 最简单的平衡小车
- 智能小车循迹加避障电路图
- STM32循迹小车
- 基于PLC的自动运料小车的控制
- 小车自动往返控制电路图
- 基于PIC单片机的智能循迹小车设计
- 基于STC89C52的瓦斯检测及红外控制系统
- s形无碳小车三维装配图
- 遗传算法越野小车unity5.5
- 毕业设计智能小车
- 基于K60的线性CCD摄像头的自主循迹平
- 5路循迹模块详细资料
- 灭火小车程序
- 五路循迹智能小车
- labview程序无线控制的小车
- 平衡小车之家全套资料
- 循迹小车51程序(超声波 颜色识别 舵
- 运料小车PLC编程
- 自动入库小车设计
- 平衡小车之家资料.zip
- 平衡小车之家原版资料
- 基于STM32F103C8T6的循迹避障小车完成
- 51单片机智能小车花式,寻迹,红外,
- RC522读写MI卡程序,STC89C52RC调试通过,
- 五路寻迹模块+寻迹传感器+循迹模块
评论
共有 条评论