游中国机器人程序1
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include "mytype.h"
//故宫( 6 ) -->东方明珠(10 )--> 黄山(10)-->峨眉山( 12) -->塔里木( 50) -->回家(100)总计188 用时50秒
void route1()
{
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);
stop();
_delay_ms(10);
PORTA=0x3f; //轮子一面正转一面反转
turn_left90();
_delay_ms(32);
stop();
_delay_ms(20);
PORTA=0XFF;
depart(); //第三路口
while(!(q[4] &&q[5] && q[6])||!q[6]||!(q[5]&&q[6]))
{
fronttrace();
}
_delay_ms(16);
stop();
_delay_ms(10);
PORTA=0XCF;
turn_right90();
_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() ; //第一个碰撞//故宫 6 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(34);
stop();
_delay_ms(20);
PORTA=0X0F;
depart_h(); // 第五个路口
while(!(h[0]&&h[1]&& h[2]))
{ behindtrace(); }
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(34);
stop();
_delay_ms(20);
PORTA=0X0F;
depart_c() ; //第二个碰撞//东方明珠10 depart_h();
while(c[2] && c[3])
{
depart_c() ;
behindtrace();
}
PORTA=0XFF;
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[2]))
{ fronttrace(); }
forward();
_delay_ms(15);
stop();
_delay_ms(10);
PORTA=0x3f; //轮子一面正转一面反转
turn_left90();
_delay_ms(32);
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=0X3F;
turn_left90();
_delay_ms(34);
stop();
_delay_ms(20);
PORTA=0X0F;