资源描述:
《gps串口数据接收程序实例》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、GPS串口数据接收程序实例 摘 要:目前GPS(全球定位系统)定位应用市场日趋成熟,正在进入应用的高速发展时期。本文以一款EverMore公司的GM-X205GPS接受模块为例,介绍了其数据格式,以及应用PIC16F874单片机RS232串口进行数据接收的程序。 关键词:GPS、NMEA格式、PIC16F874、串口数据接收 1、 GPS应用简介近年来GPS系统,已经在大地测绘、海上渔用、车辆定位监控、建筑、农业等各个领域得到广泛应用。从九十年代我国引进GPS定位技术开始,经过十多年的市场培育,GPS定位应用进入了发展的最好时机,未来十年基于GPS
2、的应用将会改变我们的生活和工作方式。目前市场上的大部分GPS接受模块都是通过RS232串口与MCU进行数据传输的。这些数据包括经度、纬度、海拔高度、时间、卫星使用情况等基本信息。开发人员再依据这些基本数据,进行数据处理来完成整套的定位系统软件。2、 GM-X205模块数据格式在进行数据接受编程之前,先介绍一下该模块的数据格式。它支持NMEA-0183输出格式。信息如下: GGA位置测定系统定位资料(GlobalPositioningSystemFixData) GSV导航卫星资料(GNSSSatellitesinView) RMC导航卫星特定精简资
3、料(RecommendedMinimumSpecificGNSSData) VTG方向及速度等相关资料(CourseOverGroundandGroundSpeed) 由于文章篇幅问题,笔者在这里只以接收GGA数据为例,格式如下: $GPGGA,hhmmss,dddmm.mmmm,a,dddmm.mmmm,a,x,xx,x.x,x.x,M,,M,x.x,xxxx*CS 例:$GPGGA,033744,2446.5241,N,12100.1536,E,1,10,0.8,133.4,M,,,,*1F说明见表:区域名称例单位说明1信息ID$GPGGA
4、 GGA协议开始2UTC时间033744 hhmmss3纬度2446.5241 dddmm.mmmm4南/北半球指示N N=north;S=south5经度12100.1536 dddmm.mmmm6东/西半球指示E E=east;W=west7定位指示1 0=未定位1=定位SPS模式2=定位DGPS,SPS模式8应位卫星数10 00-129HDOP(水平精度)0.8米 10海拔高度133.4米 11海拔高度单位M米 12WGS84水准面划分 13WGS-84水准面划分单位 14累计GPS数据微分 本模块中不可用15参考工作站ID 本模块中不可用1
5、6校验位*1F 上面例子中,我们可读出位置信息:北纬24度46.5241分,西经121度00.1536分 格林威治时间:3点37分44秒3、 PIC16F874数据接收程序笔者在系统中把接收到的数据处理后,显示到图形液晶屏上。限于篇幅在这里只给出数据接收部分程序,并且只接收经度和时间信息,并且给出格林威治时间转换为北京时间的转换函数。其他数据接收程序类似。;**********************************************************; THISI
6、SAGPSRECEIVERPROGRAM *;********************************************************** LISTP=16F874 INCLUDEP16F874.INC ;*******寄存器定义********************TEMP1 EQU 0X27W_TEMP EQU 0X54 STATUS_TEMP EQU0X55LONG1 EQU 0X40 ;LONG1
7、---LONG10经度的10位数据LONG2 EQU 0X41LONG3 EQU 0X42LONG4 EQU 0X43LONG5 EQU 0X44LONG6 EQU 0X45LONG7 EQU 0X46LONG8 EQU 0X47LONG9 EQU 0X48LONG10 EQU 0X49T1 EQU 0X58 ;T1---T6时间的6位数据T2 EQU 0X59T3 EQU 0X60T4 EQU
8、 0X61T5 EQU