GPS智能导航程序Word下载.docx
《GPS智能导航程序Word下载.docx》由会员分享,可在线阅读,更多相关《GPS智能导航程序Word下载.docx(13页珍藏版)》请在冰豆网上搜索。
PLL_Init();
//调用锁相环函数初始化系统时钟
PWM_Init();
//初始化PWM
PortInit();
//初始化IO口的输入输出
SCI_Init();
Init_GPS_module();
/*putyourowncodehere*/
EnableInterrupts;
for(;
;
){
if(gps_data_ok_flag==1)//查询GPS数据是否OK
{
DisableInterrupts;
Cal_gas_data_to_disp();
if(gps_mode[0]==65)
PWMDTY0=200;
e++;
k++;
b=(gps_longitude[7]-48)*100+(gps_longitude[8]-48)*10+(gps_longitude[9]-48);
//*******//经度数据
d=(gps_latitude[6]-48)*100+(gps_latitude[7]-48)*10+(gps_latitude[8]-48);
//*******//纬度数据
if(e==1)
b0=b;
d0=d;
}
if(e==2)//num1
{//
b1=b;
//
d1=d;
//****************************************************
//***************************************************
//***********(b0,d0)做起始点************************//
if(e==2)
if(b0>
b1)////num1
{//
f1=b0-b1;
}
else//
f1=b1-b0;
}//
380)//num2
f2=b0-380;
f2=380-b0;
if(d0>
d1)//num3
f3=d0-d1;
else
f3=d1-d0;
20)//num4
f4=d0-20;
else
f4=20-d0;
f5=f1*f4;
f6=f2*f3;
//***********************************************
//*************************************************
//**************第一大区域***********************
20&
&
b0>
380)
if(d1>
d0&
b1>
b0&
f5<
f6)//第1区域向左
PWMDTY45=tun_r[16];
disply(16000);
zi();
f5>
f6)//第1区域向右
PWMDTY45=tun_r[5];
if(d1<
=d0&
b1<
f6)//第3区域向左
PWMDTY45=tun_r[14];
disply(4000);
=b0&
f6)//第3区域向右
PWMDTY45=tun_r[6];
disply(3000);
b0)//第2区域向右
disply(9000);
=b0)//第4区域向左
//**********************************************
//*********************************************
//***************第二大区域*****************8
if(d0<
380)
f6)//第2区域向右
PWMDTY45=tun_r[4];
if(d1<
f6)//第2区域向左
{
if(d1>
f6)//第4区域向右
f6)//第4区域向左
=b0)//第3区域向右
b0)//第1区域向左
}
//**************************************************
//************************第三大区域*************
if(d0<
b0<
f6)//第三区域左转
f6)//第三区域右转
f6)//第一区域左转
f6)//第一区域右转
=b0)//第二区向左
b0)//第四区域向右
//*********************************************************
//**************************第四大区域*********************if(d0>
f6)//第四区域向右
f6)//第四区域向左
f6)//第二区域向左
f6)//第二区域向右
=b0)//第1区域向右
b0)//第三区域向左
//**********************在反方向行驶**********************//
if(f5==f6)
if(b1>
d1>
d0)
d1<
if(b1<
e=0;
//********************************************
反之当以(d1﹑b1)为起始点则把(d0﹑b0)与(d1﹑b1)互换;
当到达目的地(d==20&
b==380)时,
if(18<
d&
d<
22&
370<
b&
b<
390)
while
(1)
PWMDTY0=249;
则车辆停止。