基于51单片机的GPS全球定位系统Word文档格式.doc

上传人:wj 文档编号:4611854 上传时间:2023-05-03 格式:DOC 页数:5 大小:83KB
下载 相关 举报
基于51单片机的GPS全球定位系统Word文档格式.doc_第1页
第1页 / 共5页
基于51单片机的GPS全球定位系统Word文档格式.doc_第2页
第2页 / 共5页
基于51单片机的GPS全球定位系统Word文档格式.doc_第3页
第3页 / 共5页
基于51单片机的GPS全球定位系统Word文档格式.doc_第4页
第4页 / 共5页
基于51单片机的GPS全球定位系统Word文档格式.doc_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于51单片机的GPS全球定位系统Word文档格式.doc

《基于51单片机的GPS全球定位系统Word文档格式.doc》由会员分享,可在线阅读,更多相关《基于51单片机的GPS全球定位系统Word文档格式.doc(5页珍藏版)》请在冰点文库上搜索。

基于51单片机的GPS全球定位系统Word文档格式.doc

GPS的使用现在已经非常普及,大到航空航海系统,小到个人移动设备,都有着它的身影。

随着GPS的民用化与成本的降低,已经走入了人们的日常生活中,很多手机、PDA等手持设备都配备了GPS功能。

简单的说,GPS就功能就是在地球经纬座标系下对被测对象的方位进行测定,同时可以提供较高精度与实时的测定数据。

对于基于单片机的便携式设备,如果要获取持有者的位置信息,则GPS是最好的解决方案。

图1

1.系统的硬件设计

系统的总体设计如图1所示。

单片机AT89C51串口TXD、RXD分别与M-87的RXA、TXA进行连接,用于对M-87进行设置后,采集M-87的GPS定位和时间信息;

单片机AT89C51的XTAL1、XTAL2采用内部时钟电路,与11.0592MHz的石英晶体和电容连接;

单片机的复位电路采用加电自动复位电路;

P1口与OLED显示模块的数据位DB0-DB7连接,P2.1与引脚RS连接,选择数据或指令寄存器;

P2.2与引脚R/W连接,选择读或写;

P2.3与引脚E连接,使能OLED显示模块;

P2.4与引脚CS1连接,选择左半屏显示或不显示;

P2.5与引脚CS2连接,选择右半屏显示或不显示;

P2.6与引脚RSTB连接,用于对OLED进行复位。

2.系统的软件设计

GPS串口数据解码程序

bitReceivingF=0;

bitEndF=0;

bitRMCF=0;

bitGGAF=0;

bitVTGF=0;

bitGSAF=0;

ucharxdataGPS_wd[12];

 

 

//纬度

ucharxdataGPS_jd[13];

//经度

ucharSegment;

//逗号计数

ucharBytes_counter;

ucharCommand;

voidGPRMC(uchar);

voidGPGGA(uchar);

voidGPVTG(uchar);

voidGPGSA(uchar);

voidgps(uchar);

voidgps(uchartmp)

{

//com_send_byte(tmp);

if(tmp=='

$'

)//起始标志

Command=0;

ReceivingF=1;

Bytes_counter=0;

Segment=0;

//清空语句段计数器

return;

}

if(ReceivingF)

'

++Segment;

//清空段字节计数器

*'

)//收到结束标志

ReceivingF=0;

EndF=1;

if(Segment==0)

if(Bytes_counter==3)//段0,语句类型判断

switch(tmp)

case'

G'

:

Command=1;

//语句类型$GPGGA

GGAF=1;

break;

M'

Command=2;

//语句类型$GPRMC

RMCF=1;

T'

Command=3;

//语句类型$GPVTG

VTGF=1;

S'

default:

//非有效数据类型,终止当前数据接收

if(Bytes_counter==4)

if(Command==0&

&

tmp=='

A'

Command=4;

//语句类型$GPGSA

GSAF=1;

}

else

{

switch(Command)

case1:

GPGGA(tmp);

case2:

GPRMC(tmp);

case3:

GPVTG(tmp);

case4:

GPGSA(tmp);

++Bytes_counter;

NewByteF=0;

voidGPGGA(uchartmp)

switch(Segment)

if(Bytes_counter==3) 

//$GPGGA段1处理纬度ddmm.mmmm(度分)格式

GPS_wd[Bytes_counter]='

.'

;

//接收第二个字节后插入'

++Bytes_counter;

GPS_wd[11]='

\0'

if(Bytes_counter==0)

GPS_wd[Bytes_counter]=tmp;

GPS_wd[0]=tmp;

//$GPGGA第2段处理纬度半球N(北半球)或S(南半球)

if(Bytes_counter==4) 

//$GPGGA段3处理经度dddmm.mmmm(度分)格式

GPS_jd[Bytes_counter]='

//接收第3个字节后插入'

GPS_jd[12]='

GPS_jd[Bytes_counter]=tmp;

GPS_jd[0]=tmp;

//$GPGGA第4段处理经度半球E(东经)或W(西经)

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2