基于51单片机的GPS全球定位系统_精品文档Word文档格式.doc
- 文档编号:14119275
- 上传时间:2022-10-18
- 格式:DOC
- 页数:5
- 大小:83KB
基于51单片机的GPS全球定位系统_精品文档Word文档格式.doc
《基于51单片机的GPS全球定位系统_精品文档Word文档格式.doc》由会员分享,可在线阅读,更多相关《基于51单片机的GPS全球定位系统_精品文档Word文档格式.doc(5页珍藏版)》请在冰豆网上搜索。
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(西经)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 GPS 全球定位系统 精品 文档