GPS串口數據接收研究管理論文
時間:2022-06-25 03:46:00
導語:GPS串口數據接收研究管理論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。
摘要:目前gps(全球定位系統)定位應用市場日趨成熟,正在進入應用的高速發展時期。本文以一款EverMore公司的GM-X205GPS接受模塊為例,介紹了其數據格式,以及應用PIC16F874單片機RS232串口進行數據接收的程序。
關鍵詞:GPS、NMEA格式、PIC16F874、串口數據接收
1、GPS應用簡介
近年來GPS系統,已經在大地測繪、海上漁用、車輛定位監控、建筑、農業等各個領域得到廣泛應用。從九十年代我國引進GPS定位技術開始,經過十多年的市場培育,GPS定位應用進入了發展的最好時機,未來十年基于GPS的應用將會改變我們的生活和工作方式。
目前市場上的大部分GPS接受模塊都是通過RS232串口與MCU進行數據傳輸的。這些數據包括經度、緯度、海拔高度、時間、衛星使用情況等基本信息。開發人員再依據這些基本數據,進行數據處理來完成整套的定位系統軟件。
2、GM-X205模塊數據格式
在進行數據接受編程之前,先介紹一下該模塊的數據格式。它支持NMEA-0183輸出格式。信息如下:
GGA位置測定系統定位資料(GlobalPositioningSystemFixData)
GSV導航衛星資料(GNSSSatellitesinView)
RMC導航衛星特定精簡資料(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
GGA協議開始
2
UTC時間
033744
hhmmss
3
緯度
2446.5241
dddmm.mmmm
4
南/北半球指示
N
N=north;S=south
5
經度
12100.1536
dddmm.mmmm
6
東/西半球指示
E
E=east;W=west
7
定位指示
1
0=未定位
1=定位SPS模式
2=定位DGPS,SPS模式
8
應位衛星數
10
00-12
9
HDOP
0.8
米
10
海拔高度
133.4
米
11
海拔高度單位
M
米
12
WGS84水準面劃分
13
WGS-84水準面劃分單位
14
累計GPS數據微分
本模塊中不可用
15
參考工作站ID
本模塊中不可用
16
校驗位
*1F
上面例子中,我們可讀出位置信息:北緯24度46.5241分,西經121度00.1536分
格林威治時間:3點37分44秒
3、PIC16F874數據接收程序
筆者在系統中把接收到的數據處理后,顯示到圖形液晶屏上。限于篇幅在這里只給出數據接收部分程序,并且只接收經度和時間信息,并且給出格林威治時間轉換為北京時間的轉換函數。其他數據接收程序類似。
;**********************************************************
;THISISAGPSRECEIVERPROGRAM*
;**********************************************************
LISTP=16F874
INCLUDEP16F874.INC
;*******寄存器定義********************
TEMP1EQU0X27
W_TEMPEQU0X54
STATUS_TEMPEQU0X55
LONG1EQU0X40;LONG1---LONG10經度的10位數據
LONG2EQU0X41
LONG3EQU0X42
LONG4EQU0X43
LONG5EQU0X44
LONG6EQU0X45
LONG7EQU0X46
LONG8EQU0X47
LONG9EQU0X48
LONG10EQU0X49
T1EQU0X58;T1---T6時間的6位數據
T2EQU0X59
T3EQU0X60
T4EQU0X61
T5EQU0X62
T6EQU0X63
;********************************************************
ORG00H
NOP
NOP
GOTOMAIN
ORG04H;設定按中端健才開始數據接受
NOP
NOP
GOTOINTERRUPT
;*********判斷頭文件是不是''''$GPGGA’**********
IDMESSAGE
BCFSTATUS,RP0
BREAK0
CALLPAND
MOVWFTEMP1
MOVLW''''$'''';detect$
SUBWFTEMP1,0
BTFSSSTATUS,Z
GOTOBREAK0
CALLPAND
MOVWFTEMP1
MOVLW''''G'''';detectG
SUBWFTEMP1,0
BTFSSSTATUS,Z
GOTOBREAK0
CALLPAND
MOVWFTEMP1
MOVLW''''P'''';detectP
SUBWFTEMP1,0
BTFSSSTATUS,Z
GOTOBREAK0
CALLPAND
MOVWFTEMP1
MOVLW''''G'''';detectG
SUBWFTEMP1,0
BTFSSSTATUS,Z
GOTOBREAK0
CALLPAND
MOVWFTEMP1
MOVLW''''G'''';detectG
SUBWFTEMP1,0
BTFSSSTATUS,Z
GOTOBREAK0
CALLPAND
MOVWFTEMP1
MOVLW''''A'''';detectA
SUBWFTEMP1,0
BTFSSSTATUS,Z
GOTOBREAK0
CALLPAND;跳過逗號
RETURN
;************接收函數******************
RECEIVE
CALLPAND;開始時間數據接收
MOVWFT1
CALLPAND
MOVWFT2
CALLPAND
MOVWFT3
CALLPAND
MOVWFT4
CALLPAND
MOVWFT5
CALLPAND
MOVWFT6;時間數據接收完成
CALLPAND;跳過逗號
CALLPAND;跳過10位緯度數據---開始
CALLPAND
CALLPAND
CALLPAND
CALLPAND
CALLPAND
CALLPAND
CALLPAND
CALLPAND
CALLPAND;跳過10位緯度數據---結束
CALLPAND;跳過逗號
CALLPAND;跳過南/北緯判斷位數據
CALLPAND;跳過逗號
CALLPAND;接受經度信號開始
MOVWFLONG1
CALLPAND
MOVWFLONG2
- 上一篇:市委經濟工作會議上的總結講話
- 下一篇:遙控導體發光二極管廣告牌管理論文