天堂草原最受欢迎的角色,天堂动漫,天堂在线,色天堂下载,天堂中文在线资源,亚洲男人天堂

技術熱線: 4007-888-234
設計開發

專注差異化嵌入式產品解決方案 給智能產品定制注入靈魂給予生命

開發工具

提供開發工具、應用測試 完善的開發代碼案例庫分享

技術支持

從全面的產品導入到強大技術支援服務 全程貼心伴隨服務,創造無限潛能!

新品推廣

提供新的芯片及解決方案,提升客戶產品競爭力

新聞中心

提供最新的單片機資訊,行業消息以及公司新聞動態

基于PIC16F874單片機的GPS串口數據接收程序實例

更新時間: 2019-03-23
閱讀量:1611

十年專注單片機方案開發的方案公司英銳恩,分享基于PIC16F874單片機的GPS串口數據接收程序實例。英銳恩現提供服務產品涉及主控芯片:8位單片機、16位單片機、32位單片機及各類運算放大器等。

摘 要:目前GPS(全球定位系統)定位應用市場日趨成熟,正在進入應用的高速發展時期。本文以一款EverMore公司的GM-X205GPS接受模塊為例,介紹了其數據格式,以及應用PIC16F874單片機RS232串口進行數據接收的程序。

    關鍵詞:GPS、NMEA格式、PIC16F874、串口數據接收

    1、 GPS應用簡介

    近年來GPS系統,已經在大地測繪、海上漁用、車輛定位監控、建筑、農業等各個領域得到廣泛應用。從九十年代我國引進GPS定位技術開始,經過十多年的市場培育,GPS定位應用進入了發展的最好時機,未來十年基于GPS的應用將會改變我們的生活和工作方式。

    目前市場上的大部分GPS接受模塊都是通過RS232串口與MCU進行數據傳輸的。這些數據包括經度、緯度、海拔高度、時間、衛星使用情況等基本信息。開發人員再依據這些基本數據,進行數據處理來完成整套的定位系統軟件。

    2、 GM-X205模塊數據格式

    在進行數據接受編程之前,先介紹一下該模塊的數據格式。它支持NMEA-0183輸出格式。信息如下:

    GGA位置測定系統定位資料(Global Positioning System Fix Data)

    GSV 導航衛星資料(GNSS Satellites in View)

   RMC導航衛星特定精簡資料(Recommended Minimum Specific GNSS Data)

    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

$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數據接收程序

筆者在系統中把接收到的數據處理后,顯示到圖形液晶屏上。限于篇幅在這里只給出數據接收部分程序,并且只接收經度和時間信息,并且給出格林威治時間轉換為北京時間的轉換函數。其他數據接收程序類似。

;**********************************************************

;         THIS IS A GPS RECEIVER PROGRAM                  *

;**********************************************************

         LIST P=16F874

         INCLUDE P16F874.INC       

;*******寄存器定義 ********************

TEMP1     EQU    0X27

W_TEMP    EQU    0X54          

STATUS_TEMP  EQU 0X55

LONG1     EQU    0X40          ;LONG1--- LONG10經度的10位數據

LONG2     EQU    0X41

LONG3     EQU    0X42

LONG4     EQU    0X43

LONG5     EQU    0X44

LONG6     EQU    0X45

LONG7     EQU    0X46

LONG8     EQU    0X47

LONG9     EQU    0X48

LONG10    EQU    0X49

T1        EQU    0X58           ;T1---T6時間的6位數據

T2        EQU    0X59

T3        EQU    0X60

T4        EQU    0X61

T5        EQU    0X62

T6        EQU    0X63

;********************************************************

       ORG  00H

       NOP

       NOP

       GOTO MAIN

       ORG  04H          ;設定按中端健才開始數據接受

       NOP

       NOP

       GOTO INTERRUPT

;*********判斷頭文件是不是'$GPGGA’**********

IDMESSAGE

        BCF     STATUS,RP0

BREAK0 

     CALL      PAND

        MOVWF     TEMP1

        MOVLW     '

联系我们: 武安市| 陆丰市| 连州市| 潼南县| 出国| 扶沟县| 女性| 天台县| 德令哈市| 定州市| 隆德县| 福贡县| 治多县| 旬邑县| 桂平市| 敖汉旗| 宁津县| 江阴市| 故城县| 丰都县| 德江县| 黔南| 新野县| 清苑县| 故城县| 阿瓦提县| 望奎县| 萍乡市| 根河市| 永仁县| 贡山| 牡丹江市| 佛教| 城固县| 乐平市| 瓮安县| 甘肃省| 霞浦县| 越西县| 荥阳市| 尚志市|