智能循迹小车程序.docx

上传人:b****7 文档编号:10350365 上传时间:2023-02-10 格式:DOCX 页数:22 大小:16.04KB
下载 相关 举报
智能循迹小车程序.docx_第1页
第1页 / 共22页
智能循迹小车程序.docx_第2页
第2页 / 共22页
智能循迹小车程序.docx_第3页
第3页 / 共22页
智能循迹小车程序.docx_第4页
第4页 / 共22页
智能循迹小车程序.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

智能循迹小车程序.docx

《智能循迹小车程序.docx》由会员分享,可在线阅读,更多相关《智能循迹小车程序.docx(22页珍藏版)》请在冰豆网上搜索。

智能循迹小车程序.docx

智能循迹小车程序

智能循迹小车,小车按中字笔画行驶

/************“中”字笔画轨迹*************/

#include

#include//内部包含延时函数_nop_();

#defineucharunsignedchar

#defineuintunsignedint

unsignedchardj1=0;

unsignedchardj2=0;

uchart=0;

ucharnum1=0,num2=0,num3=0;

sbitHW1=P0^0;//红外对管位定义

sbitHW2=P0^1;

sbitHW3=P0^2;

sbitHW4=P0^3;

sbitENA=P3^2;//PWM输入

sbitENB=P3^3;

sbitIN5=P2^4;//电机

sbitIN6=P2^5;

sbitIN7=P2^6;

sbitIN8=P2^7;

voiddelay(uintx)//延时1ms

{

uinti,j;

for(i=0;i

for(j=0;j<120;j++);

}

voidqianjin()//小车前进

{

IN5=0;

IN6=1;

IN7=0;

IN8=1;

dj1=15;

dj2=15;

}

voidturnleft2()//小车前进向左微调

{

IN5=0;

IN6=1;

IN7=0;

IN8=1;

dj1=7;

dj2=20;

}

voidturnright2()//小车前进向右微调

{

IN5=0;

IN6=1;

IN7=0;

IN8=1;

dj1=20;

dj2=7;

}

voidright()

{

IN5=0;

IN6=1;

IN7=1;

IN8=0;

dj1=20;

dj2=25;

}

voidleft()

{

IN5=1;

IN6=0;

IN7=0;

IN8=1;

dj1=25;

dj2=20;

}

voidstop()//小车后退

{

dj1=0;

dj2=0;

}

voidinit()//初始化

{

TMOD=0x01;

TH0=(65536-500)/256;

TL0=(65536-500)%256;

EA=1;

ET0=1;

TR0=1;

}

voidtimer0()interrupt1using1//定时器0中断

{

TH0=(65536-500)/256;

TL0=(65536-500)%256;

t++;

if(t

elseENA=0;

if(t

elseENB=0;

if(t>=50)

{

t=0;

}

}

voidmain()

{

init();

while

(1)

{

if(num1==0)

{

if(HW1==0&&HW2==1&&HW3==1&&HW4==0)

{

qianjin();

}

if(HW1==0&&HW2==1&&HW3==0&&HW4==0)

{

turnleft2();

}

if(HW1==1&&HW2==1&&HW3==0&&HW4==0)

{

turnleft2();

}

if(HW1==1&&HW2==0&&HW3==0&&HW4==0)

{

turnleft2();

}

if(HW1==0&&HW2==0&&HW3==1&&HW4==0)

{

turnright2();

}

if(HW1==0&&HW2==0&&HW3==1&&HW4==1)

{

turnright2();

}

if(HW1==0&&HW2==0&&HW3==0&&HW4==1)

{

turnright2();

}

if(HW1==0&&HW2==1&&HW3==1&&HW4==1)

{

turnleft2();

}

if(HW1==1&&HW2==1&&HW3==1&&HW4==0)

{

turnright2();

}

if(num2==0&&HW1==0&&HW2==0&&HW3==0&&HW4==0)

{

delay(500);

if(num2==0&&HW1==0&&HW2==0&&HW3==0&&HW4==0)

{

stop();

delay(50);

num1=1;

delay(50);

}

}

}

if(num1==1)

{

if(num2==0&&HW1==0&&HW2==0&&HW3==0&&HW4==0)

{

right();

}

if(HW1==0&&HW2==1&&HW3==1&&HW4==0)

{

num2=1;

delay(50);

qianjin();

}

if(HW1==0&&HW2==1&&HW3==0&&HW4==0)

{

turnleft2();

}

if(HW1==1&&HW2==1&&HW3==0&&HW4==0)

{

turnleft2();

}

if(HW1==1&&HW2==0&&HW3==0&&HW4==0)

{

turnleft2();

}

if(HW1==0&&HW2==0&&HW3==1&&HW4==0)

{

turnright2();

}

if(HW1==0&&HW2==0&&HW3==1&&HW4==1)

{

turnright2();

}

if(HW1==0&&HW2==0&&HW3==0&&HW4==1)

{

turnright2();

}

if(HW1==0&&HW2==1&&HW3==1&&HW4==1)

{

turnleft2();

}

if(HW1==1&&HW2==1&&HW3==1&&HW4==0)

{

turnright2();

}

if(num2==1&&HW1==0&&HW2==0&&HW3==0&&HW4==0)

{

delay(500);

if(num2==1&&HW1==0&&HW2==0&&HW3==0&&HW4==0)

{

stop();

delay(50);

num1=2;

delay(50);

}

}

}

if(num1==2)

{

if(num2==1&&HW1==0&&HW2==0&&HW3==0&&HW4==0)

{

right();

}

if(HW1==0&&HW2==1&&HW3==1&&HW4==0)

{

num2=2;

delay(50);

qianjin();

}

if(HW1==1&&HW2==1&&HW3==0&&HW4==0)

{

turnleft2();

}

if(HW1==0&&HW2==1&&HW3==0&&HW4==0)

{

turnleft2();

}

if(HW1==1&&HW2==0&&HW3==0&&HW4==0)

{

turnleft2();

}

if(HW1==0&&HW2==0&&HW3==1&&HW4==1)

{

turnright2();

}

if(HW1==0&&HW2==0&&HW3==1&&HW4==0)

{

turnright2();

}

if(HW1==0&&HW2==0&&HW3==0&&HW4==1)

{

turnright2();

}

if(num3==0&&HW1==1&&HW2==1&&HW3==1&&HW4==1)

{

num3=1;

delay(10);

stop();

delay(100);

qianjin();

}

if(HW1==0&&HW2==1&&HW3==1&&HW4==1)

{

turnleft2();

}

if(HW1==1&&HW2==1&&HW3==1&&HW4==0)

{

turnright2();

}

if(num2==2&&HW1==0&&HW2==0&&HW3==0&&HW4==0)

{

delay(500);

if(num2==2&&HW1==0&&HW2==0&&HW3==0&&HW4==0)

{

stop();

delay(50);

num1=3;

delay(50);

}

}

}

if(num1==3)

{

if(num2==2&&HW1==0&&HW2==0&&HW3==0&&HW4==0)

{

right();

}

if(HW1==0&&HW2==1&&HW3==1&&HW4==0)

{

num2=3;

delay(50);

qianjin();

}

if(HW1==1&&HW2==1&&HW3==0&&HW4==0)

{

turnleft2();

}

if(HW1==0&&HW2==1&&HW3==0&&HW4==0)

{

turnleft2();

}

if(HW1==1&&HW2==0&&HW3==0&&HW4==0)

{

turnleft2();

}

if(HW1==0&&HW2==0&&HW3==1&&HW4==1)

{

turnright2();

}

if(HW1==0&&HW2==0&&HW3==1&&HW4==0)

{

turnright2();

}

if(HW1==0&&HW2==0&&HW3==0&&HW4==1)

{

turnright2();

}

if(HW1==0&&HW2==1&&HW3==1&&HW4==1)

{

turnleft2();

}

if(HW1==1&&HW2==1&&HW3==1&&HW4==0)

{

turnright2();

}

if(num2==3&&HW1==0&&HW2==0&&HW3==0&&HW4==0)

{

delay(500);

if(num2==3&&HW1==0&&HW2==0&&HW3==0&&HW4==0)

{

stop();

delay(50);

num1=4;

delay(50);

}

}

}

if(num1==4)

{

if(num2==3&&HW1==0&&HW2==0&&HW3==0&&HW4==0)

{

right();

}

if(HW1==0&&HW2==1&&HW3==1&&HW4==0)

{

num2=4;

delay(50);

qianjin();

}

if(HW1==1&&HW2==1&&HW3==0&&HW4==0)

{

turnleft2();

}

if(HW1==0&&HW2==1&&HW3==0&&HW4==0)

{

turnleft2();

}

if(HW1==1&&HW2==0&&HW3==0&&HW4==0)

{

turnleft2();

}

if(HW1==0&&HW2==0&&HW3==1&&HW4==1)

{

turnright2();

}

if(HW1==0&&HW2==0&&HW3==1&&HW4==0)

{

turnright2();

}

if(HW1==0&&HW2==0&&HW3==0&&HW4==1)

{

turnright2();

}

if(num3==1&&HW1==1&&HW2==1&&HW3==1&&HW4==1)

{

num3=2;

delay(10);

stop();

delay(100);

qianjin();

}

if(HW1==0&&HW2==1&&HW3==1&&HW4==1)

{

turnleft2();

}

if(HW1==1&&HW2==1&&HW3==1&&HW4==0)

{

turnright2();

}

if(num2==4&&HW1==0&&HW2==0&&HW3==0&&HW4==0)

{

delay(500);

if(num2==4&&HW1==0&&HW2==0&&HW3==0&&HW4==0)

{

stop();

delay(50);

num1=5;

delay(50);

}

}

}

if(num1==5)

{

if(num2==4&&HW1==0&&HW2==0&&HW3==0&&HW4==0)

{

left();

}

if(HW1==0&&HW2==1&&HW3==1&&HW4==0)

{

num2=5;

delay(50);

qianjin();

}

if(HW1==1&&HW2==1&&HW3==0&&HW4==0)

{

turnleft2();

}

if(HW1==0&&HW2==1&&HW3==0&&HW4==0)

{

turnleft2();

}

if(HW1==1&&HW2==0&&HW3==0&&HW4==0)

{

turnleft2();

}

if(HW1==0&&HW2==0&&HW3==1&&HW4==1)

{

turnright2();

}

if(HW1==0&&HW2==0&&HW3==1&&HW4==0)

{

turnright2();

}

if(HW1==0&&HW2==0&&HW3==0&&HW4==1)

{

turnright2();

}

if(HW1==0&&HW2==1&&HW3==1&&HW4==1)

{

turnleft2();

}

if(HW1==1&&HW2==1&&HW3==1&&HW4==0)

{

turnright2();

}

if(num2==5&&HW1==1&&HW2==1&&HW3==1&&HW4==1)

{

stop();

delay(100);

num1=6;

delay(50);

}

}

if(num1==6)

{

if(num2==5&&HW1==1&&HW2==1&&HW3==1&&HW4==1)

{

left();

}

if(HW1==0&&HW2==1&&HW3==1&&HW4==0)

{

num2=6;

delay(50);

num3=3;

delay(50);

qianjin();

}

if(HW1==1&&HW2==1&&HW3==0&&HW4==0)

{

turnleft2();

}

if(HW1==0&&HW2==1&&HW3==0&&HW4==0)

{

turnleft2();

}

if(HW1==1&&HW2==0&&HW3==0&&HW4==0)

{

turnleft2();

}

if(HW1==0&&HW2==0&&HW3==1&&HW4==1)

{

turnright2();

}

if(HW1==0&&HW2==0&&HW3==1&&HW4==0)

{

turnright2();

}

if(HW1==0&&HW2==0&&HW3==0&&HW4==1)

{

turnright2();

}

if(HW1==0&&HW2==1&&HW3==1&&HW4==1)

{

turnleft2();

}

if(HW1==1&&HW2==1&&HW3==1&&HW4==0)

{

turnright2();

}

if(num3==3&&HW1==1&&HW2==1&&HW3==1&&HW4==1)

{

num3=4;

delay(10);

stop();

delay(100);

qianjin();

}

if(num2==6&&HW1==0&&HW2==0&&HW3==0&&HW4==0)

{

delay(500);

if(num2==6&&HW1==0&&HW2==0&&HW3==0&&HW4==0)

{

stop();

delay(500);

num1=7;

delay(50);

}

}

}

if(num1==7)

{

if(num2==6&&HW1==0&&HW2==0&&HW3==0&&HW4==0)

{

right();

}

if(HW1==0&&HW2==1&&HW3==1&&HW4==0)

{

num2=7;

delay(50);

num3=4;

delay(50);

qianjin();

}

if(HW1==1&&HW2==1&&HW3==0&&HW4==0)

{

turnleft2();

}

if(HW1==0&&HW2==1&&HW3==0&&HW4==0)

{

turnleft2();

}

if(HW1==1&&HW2==0&&HW3==0&&HW4==0)

{

turnleft2();

}

if(HW1==0&&HW2==0&&HW3==1&&HW4==1)

{

turnright2();

}

if(HW1==0&&HW2==0&&HW3==1&&HW4==0)

{

turnright2();

}

if(HW1==0&&HW2==0&&HW3==0&&HW4==1)

{

turnright2();

}

if(HW1==0&&HW2==1&&HW3==1&&HW4==1)

{

turnleft2();

}

if(HW1==1&&HW2==1&&HW3==1&&HW4==0)

{

turnright2();

}

if(num3==4&&HW1==1&&HW2==1&&HW3==1&&HW4==1)

{

num3=5;

delay(10);

stop();

delay(100);

qianjin();

}

if(num3==5&&HW1==1&&HW2==1&&HW3==1&&HW4==1)

{

num3=6;

delay(10);

stop();

delay(100);

qianjin();

}

if(num2==7&&HW1==0&&HW2==0&&HW3==0&&HW4==0)

{

delay(100);

if(num2==7&&HW1==0&&HW2==0&&HW3==0&&HW4==0)

{

stop();

delay(90000);

}

}

}

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1