基于51单片机的GPS定位系统,利用虚拟串口结合 VirtualGPS(虚拟GPS软件) ,得到GPS数据,实现在仿真上实现GPS定位信息,同时系统支持温湿度测量、超声波距离测量,led和蜂鸣器报警等功能。
一、系统设计
1、串口解析GPS代码
虚拟GPS发送过来的GPS数据以其固定格式存储,我们通过对这个字符串数据的解析得到经纬度的各个信息,通过如下函数可以解析出。
// GPS纬度提取函数
void removeLatitude(unsigned char temp)
{
uchar i,k=0;
for(i=temp+2;i<temp+13;i++)
uLatitude[k++]=uartBuffer[i];
}
// GPS经度提取函数
void removeLongitude(unsigned char temp)
{
uchar i,k=0;
for(i=temp+2;i<temp+14;i++)
uLongitude[k++]=uartBuffer[i];
}
// GPS速度提取函数
void removeSpeed(unsigned char temp)
{
uchar i,k=0;
for(i=temp+2;i<temp+9;i++)
{
if(uartBuffer[i]==',') break;
uSpeed[k++]=uartBuffer[i