• 大小: 44KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-08
  • 语言: 其他
  • 标签: STC89C52  循迹  小车  

资源简介

#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


评论

共有 条评论