游中国机器人程序8.docx
《游中国机器人程序8.docx》由会员分享,可在线阅读,更多相关《游中国机器人程序8.docx(12页珍藏版)》请在冰豆网上搜索。
游中国机器人程序8
#include"mytype.h"
//黄山(10)-->东方明珠(10)-->南沙太平洋(15)-->香港(15)-->塔里木(50)-->回家(100)总计200用时56秒
voidzroute1()
{
depart();//第一路口
while(!
(q[0]&&q[1]&&q[5]&&q[6]))
{fronttrace();}
forward();
_delay_ms(10);
depart();//第二路口
while(!
(q[0]&&q[1]&&q[5]&&q[6]))
{fronttrace();}
forward();
_delay_ms(15);
depart();//第三路口
while(!
(q[0]&&q[1]&&q[5]&&q[6]))
{
fronttrace();
}
forward();
_delay_ms(15);
depart();//第四路口
while(!
(q[0]&&q[1]&&q[5]&&q[6]))
{
fronttrace();
}
forward();
_delay_ms(15);
stop();
_delay_ms(10);
PORTA=0X3F;
turn_left90();
_delay_ms(34);
stop();
_delay_ms(20);
PORTA=0XFF;
depart();//第五路口
while(!
(q[4]&&q[5]&&q[6])){fronttrace();}
forward();
_delay_ms(15);
stop();
_delay_ms(10);
PORTA=0XCF;
turn_right90();
_delay_ms(34);
stop();
_delay_ms(20);
PORTA=0XFF;
depart_c();//第一个碰撞//黄山10
depart();
while(c[0]&&c[1])
{
depart_c();
fronttrace();
}
PORTA=0X0F;
forward();
_delay_ms(10);
depart_h();//第五个路口碰撞返回
while(!
(h[0]&&h[1]&&h[5]&&h[6]))
{behindtrace();}
forward();
_delay_ms(15);
stop();
_delay_ms(10);
PORTA=0XCF;
turn_right90();
_delay_ms(40);
stop();
_delay_ms(20);
PORTA=0X0F;
depart_h();//第六路口
while(!
(h[0]&&h[1]&&h[5]&&h[6]))
{
behindtrace();
}
forward();
_delay_ms(15);
PORTA=0X0F;
depart_c();//第二个碰撞//东方明珠塔10
depart_h();
while(c[0]&&c[1])
{
depart_c();
behindtrace();
}
PORTA=0XFF;
forward();
_delay_ms(10);
depart();//第六个路口碰撞返回
while(!
(q[0]&&q[1]&&q[5]&&q[6]))
{fronttrace();}
forward();
_delay_ms(15);
stop();
_delay_ms(10);
PORTA=0X3F;
turn_left90();
_delay_ms(40);
stop();
_delay_ms(20);
PORTA=0XFF;
depart();//第七路口直走
while(!
(q[4]&&q[5]&&q[6]))
{fronttrace();}
forward();
_delay_ms(15);
depart_c();//第三个碰撞//南沙太平岛15
depart();
while(c[0]&&c[1])
{
depart_c();
fronttrace();
}
PORTA=0X0F;
forward();
_delay_ms
(2);
depart_h();//第七个路口碰撞返回
while(!
(h[4]&&h[5]&&h[6]))
{behindtrace();}
forward();
_delay_ms(15);
stop();
_delay_ms(10);
PORTA=0X3F;
turn_left90();
_delay_ms(40);
stop();
_delay_ms(20);
PORTA=0X0F;
depart_h();//第八路口
while(!
(h[4]&&h[5]&&h[6])){behindtrace();}
forward();
_delay_ms(15);
stop();
_delay_ms(10);
PORTA=0X3F;
turn_left90();
_delay_ms(34);
stop();
_delay_ms(20);
PORTA=0X0F;
depart_c();//第四个碰撞//香港15
depart_h();
while(c[0]&&c[1])
{
depart_c();
behindtrace();
}
PORTA=0XFF;
forward();
_delay_ms(10);
depart();//第八个路口碰撞返回
while(!
(q[0]&&q[1]&&q[5]&&q[6]))
{fronttrace();}
forward();
_delay_ms(15);
stop();
_delay_ms(10);
PORTA=0X3F;
turn_left90();
_delay_ms(40);
stop();
_delay_ms(20);
PORTA=0XFF;
depart();//第四个路口左转
while(!
(q[4]&&q[4]&&q[6]))
{fronttrace();}
forward();
_delay_ms(15);
stop();
_delay_ms(10);
PORTA=0XCF;
turn_right90();
_delay_ms(40);
stop();
_delay_ms(20);
PORTA=0XFF;
depart();//第八个路口碰撞返回
while(!
(q[0]&&q[1]&&q[2]))
{fronttrace();}
forward();
_delay_ms(15);
stop();
_delay_ms(10);
PORTA=0X3F;
turn_left90();
_delay_ms(40);
stop();
_delay_ms(20);
PORTA=0XFF;
depart_h();
while(!
(h[0]&&h[1]&&h[2]))
{behindtrace();}//第十个路口
forward();
_delay_ms(15);
stop();
_delay_ms(10);
PORTA=0XCF;
turn_right90();
_delay_ms(34);
stop();
_delay_ms(20);
PORTA=0X0F;
depart_c();//第四个碰撞//峨眉山12
depart_h();
while(c[2]&&c[3])
{
depart_c();
behindtrace();
}
PORTA=0XFF;
forward();
_delay_ms(5);
depart();//第八个路口碰撞返回
while(!
(q[0]&&q[1]&&q[5]&&q[6]))
{fronttrace();}
forward();
_delay_ms(15);
stop();
_delay_ms(10);
PORTA=0X3F;
turn_left90();
_delay_ms(40);
stop();
_delay_ms(20);
PORTA=0XFF;
depart();
while(!
(q[5])){fronttrace();}//第一次检测到圆圈
forward();
_delay_ms(10);
depart();
while(!
(q[5])){fronttrace1();}//第二次检测到圆圈
stop();
_delay_ms(30);
PORTA=0XCF;
turn_right90_1();
_delay_ms(20);
stop();
_delay_ms(30);
PORTA=0XFF;
forward();
_delay_ms(15);
depart();//第十一路口
while(!
(q[4]&&q[6]&&q[5])){fronttrace1();}
_delay_ms(30);
stop();
_delay_ms(40);
PORTA=0XCF;
turn_right90();
_delay_ms(40);
stop();
_delay_ms(15);
PORTA=0XFF;
depart_c();//第四个碰撞//塔里木5
depart();
while(c[0]&&c[1])
{
depart_c();
fronttrace1();
}
PORTA=0X0F;
forward();
_delay_ms(10);
depart_h();//第十一个路口碰撞返回
while(!
(h[0]&&h[1]&&h[5]&&h[6]))
{behindtrace1();}
forward1();
_delay_ms(15);
stop();
_delay_ms(10);
PORTA=0X3F;
turn_left90();
_delay_ms(26);
stop();
_delay_ms(20);
PORTA=0X0F;
depart_h();//第九个路口
while(!
(h[0]&&h[1]&&h[2]))
{behindtrace1();}
forward();
_delay_ms(15);
depart_h();//第八个路口
while(!
(h[0]&&h[1]&&h[5]&&h[6]))
{behindtrace();}
forward();
_delay_ms(15);
stop();
_delay_ms(10);
PORTA=0X3F;
turn_left90();
_delay_ms(35);
stop();
_delay_ms(20);
PORTA=0X0F;
depart_h();//第十二个路口
while(!
(h[0]&&h[1]&&h[5]&&h[6]))
{behindtrace();}
forward();
_delay_ms(15);
depart_h();//第二个路口
while(!
(h[0]&&h[1]&&h[5]&&h[6]))
{behindtrace();}
forward();
_delay_ms(15);
depart_h();//第一个路口碰撞返回
while(!
(h[0]&&h[1]&&h[5]&&h[6]))
{behindtrace();}
forward();
_delay_ms(30);
stop();
while
(1);
}