GPS串口数据接收程序实例_第1页
GPS串口数据接收程序实例_第2页
GPS串口数据接收程序实例_第3页
GPS串口数据接收程序实例_第4页
GPS串口数据接收程序实例_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、GPS串口数据接收程序实例作者:天大天财股份有限公司 巩志民文章来源:单片机及嵌入式系统应用摘 要:目前GPS(全球定位系统)定位应用市场日趋成熟,正在进入应用的高速发展时期。本文以一款EverMore公司的GM-X205GPS接受模块为例,介绍了其数据格式,以及应用PIC16F874单片机RS232串口进行数据接收的程序。1、GPS应用简介近年来GPS系统,已经在大地测绘、海上渔用、车辆定位监控、建筑、农业等各个领域得到广泛应用。从九十年代我国引进GPS定位技术开始,经过十多年的市场培育,GPS定位应用进入了发展的最好时机,未来十年基于GPS的应用将会改变我们的生活和工作方式。目前市场上的大

2、部分 GPS接受模块都是通过 RS232串口与MCU进行数据传输的。这些数据包括经度、纬度、海拔高度、时间、卫星使用情况等基本信息。开发人员再依据这些基本数据,进行数据处理来完成整套的定位系统软件。2、GM-X205模块数据格式在进行数据接受编程之前,先介绍一下该模块的数据格式。它支持NMEA-0183输出格式。信息如下:GGA 位置测定系统定位资料( Global Positioning System Fix Data)GSV 导航卫星资料(GNSS Satellites in View)RMC 导航卫星特定精简资料( Recommended Minimum Specific GNSS Da

3、ta)VTG 方向及速度等相关资料(Course Over Ground and Ground Speed由于文章篇幅问题,笔者在这里只以接收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$GPGGAGGA协议开始2UTC时间033744hhmmss3纬度2446.5241dddmm.mmmm4南/北半球指示NN=nort

4、h ; S=south5经度12100.1536dddmm.mmmm6东/西半球指示EE=east ; W=west7定位指示10=未疋位仁定位SPS模式2=定位DGPS, SPS模式8应位卫星数1000-129HDOP0.8米10海拔高度133.4米11海拔高度单位M米12WGS84水准面划分13WGS-84水准面划分单位14累计GPS数据微分本模块中不可用15参考工作站ID本模块中不可用16校验位*1F间:3点37分44秒上面 例子 中, 我们 可读 岀位 置信息:北纬24度46.5241 分, 西 经121 度00.1536分林威 治时3、PIC16F874数据接收程序笔者在系统中把接收

5、到的数据处理后,显示到图形液晶屏上。限于篇幅在这里只给岀数据接收部分程序,并且只接收经度和时 间信息,并且给岀格林威治时间转换为北京时间的转换函数。其他数据接收程序类似。 *THIS IS A GPS RECEIVER PROGRAM *LIST P=16F874INCLUDE P16F874NC *寄存器定义*TEMP1EQU 0X27W_TEMP EQU 0X54STATUS_TEMP EQU 0X55LONG1 EQU 0X40;LONG1- LONG10经度的10位数据LONG2 EQU 0X41LONG3EQU0X42LONG4EQU0X43LONG5EQU0X44LONG6EQU0

6、X45LONG7EQU0X46LONG8EQU0X47LONG9EQU0X48LONG10EQU0X49T1EQU0X58;T1-T6 时间的 6 位数据T2EQU0X59T3EQU0X60T4EQU0X61T5EQU0X62T6EQU0X63.*ORG00HNOPNOPGOTO MAINORG04H;设定按中端健才开始数据接受NOPNOPGOTO INTERRUPT.*J判断头文件是不是 $GPGGA *IDMESSAGEBCFSTATUS,RP0BREAK0CALLPANDMOVWF TEMP1MOVLW $ ;detect $SUBWF TEMP1,0BTFSSSTATUS,ZGOTO

7、BREAK0CALLPANDMOVWFTEMP1MOVLWG ;detect GSUBWFTEMP1,0BTFSSSTATUS,ZGOTO BREAK0CALLPANDMOVWFTEMP1MOVLWP ;detect PSUBWFTEMP1,0BTFSSSTATUS,ZGOTO BREAK0CALLPANDMOVWFTEMP1MOVLWG ;detect GSUBWFTEMP1,0BTFSSSTATUS,ZGOTO BREAK0CALLPANDMOVWFTEMP1MOVLWG ;detect GSUBWFTEMP1,0BTFSSSTATUS,ZGOTO BREAK0CALLPANDMOVWFT

8、EMP1MOVLWA ;detect ASUBWFTEMP1,0BTFSSSTATUS,ZGOTO BREAK0CALLPAND;跳过逗号RETURN.*JRECEIVE接收函数*CALLPAND;开始时间数据接收MOVWFT1CALLPANDMOVWFT2CALLPANDMOVWFT3CALLPANDMOVWFT4CALLPANDMOVWFT5CALLPANDMOVWFT6;时间数据接收完成CALLPAND;跳过逗号CALLPAND;跳过 10 位纬度数据 -开始CALL PANDCALL PANDCALLPANDCALLPANDCALLPANDCALLPANDCALLPANDCALLPAN

9、DCALLPAND;跳过 10 位纬度数据 -结束CALLPAND;跳过逗号CALLPAND;跳过南 /北纬判断位数据CALLPAND;跳过逗号CALLPAND;接受经度信号开始MOVWFLONG1CALLPANDMOVWFLONG2CALLPANDMOVWFLONG3CALLPANDMOVWFLONG4CALLPANDMOVWFLONG5CALLPANDMOVWFLONG6CALLPANDMOVWFLONG7CALLPANDMOVWFLONG8CALLPANDMOVWFLONG9CALLPANDMOVWFLONG10; 接受经度信号结束RETURN.*J串口寄存器中是否数据 *PANDBCF

10、 STATUS,RP0CC BTFSS PIR1,5GOTO CCBCF INTCON,7;SET GIE=0 屏蔽所有中端MOVFRCREG,0RETURN.*J中断函数 *INTERRUPTBCF STATUS,RP0BCF RCSTA,1BSF STATUS,RP0BCF TXSTA,2BCF TXSTA,4MOVLW 0X0CMOVWF SPBRGBCF STATUS,RP0MOVLW B10010000MOVWF RCSTABSF STATUS,RP0BSF OPTION_REG,6MOVWF W_TEMPSWAPF STATUS,WBCF STATUS,RP0MOVWF STATU

11、S_TEMPBCF STATUS,RP0CALL IDMESSAGECALL RECEIVEBCF STATUS,RP0CLRF RCSTACALL CONVERTOUT BCF STATUS,RP0SWAPF STATUS_TEMP,WMOVWF STATUSSWAPF W_TEMP,FSWAPF W_TEMP,W;清除溢出错误位;BRGH=0 Low speed;Set Asynchronous mode;设置波特率为 4800;串口接收相关设置; RB0/INT 引脚上升沿中断;清除串口设置;调用时间转换函数;跳出中断部分,恢复寄存器BSF INTCON,7 ;SET GIE=1 允许所

12、有中端NOPRETFIECONVERTMOVLWA0SUBWFT2,1SUBWFT1,1MOVLWD10MOVWFTEMP1LOOP1 MOVF TEMP1,0MOVFTEMP1,1BTFSS STATUS,ZGOTOADD10MOVLWD8ADDWFT2,1MOVLWD24SUBWFT2,1BTFSCSTATUS,CGOTOCON1ADDWFT2,1GOTOCON1CON1 MOVLW D20MOVWFTEMP1SUBWFT2,0BTFSS STATUS,CGOTOCON2MOVWFT2MOVLW0X02MOVWFT1GOTOHALT1CON2 MOVLW D10MOVWFTEMP1SUBWFT2,0BTFSS STATUS,CGOTO CON3MOVWF T2MOVLW0X01MOVWFT1GOTOHALT1CON3 MOVLW 0X00MOVWFT1HA

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论