我在公车被蹭水后当晚就来了月经,在公车上露着奶被男人玩,公车上的人妻沦陷完整版,(NP、高H、纯肉)公车,公车娇喘抽搐喷潮H文苏小暖,公车全黄H全肉短篇公车之狼

技術熱線: 4007-888-234

技術支持

基于PIC16F874單片機的GPS串口數(shù)據(jù)接收程序實例

更新時間: 2019-03-23

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

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

    關鍵詞:GPS、NMEA格式、PIC16F874、串口數(shù)據(jù)接收

    1、 GPS應用簡介

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

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

    2、 GM-X205模塊數(shù)據(jù)格式

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

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

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

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

    VTG 方向及速度等相關資料(Course Over Ground and Ground Speed)

    由于文章篇幅問題,筆者在這里只以接收GGA數(shù)據(jù)為例,格式如下:

    $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

說明見表:

區(qū)域

名稱

單位

說明

1

信息ID

$GPGGA


GGA協(xié)議開始

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

應位衛(wèi)星數(shù)

10


00-12

9

HDOP

0.8


10

海拔高度

133.4


11

海拔高度單位

M


12

WGS84水準面劃分




13

WGS-84水準面劃分單位




14

累計GPS數(shù)據(jù)微分



本模塊中不可用

15

參考工作站ID



本模塊中不可用

16

校驗位

*1F



上面例子中,我們可讀出位置信息:北緯24度46.5241分,西經121度00.1536分

格林威治時間:3點37分44秒

3、 PIC16F874數(shù)據(jù)接收程序

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

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

;         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位數(shù)據(jù)

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位數(shù)據(jù)

T2        EQU    0X59

T3        EQU    0X60

T4        EQU    0X61

T5        EQU    0X62

T6        EQU    0X63

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

       ORG  00H

       NOP

       NOP

       GOTO MAIN

       ORG  04H          ;設定按中端健才開始數(shù)據(jù)接受

       NOP

       NOP

       GOTO INTERRUPT

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

IDMESSAGE

        BCF     STATUS,RP0

BREAK0 

     CALL      PAND

        MOVWF     TEMP1

        MOVLW     '

404
返回首頁 |  返回上一頁
安阳县| 梅河口市| 涟水县| 秦安县| 剑河县| 黄浦区| 钦州市| 江达县| 郴州市| 大兴区| 石渠县| 兴业县| 南通市| 城口县| 吉木乃县| 华蓥市| 阿克苏市| 湛江市| 梧州市| 府谷县| 和平区| 革吉县| 青龙| 库车县| 肇庆市| 大冶市| 太康县| 呼玛县| 遵化市| 红原县| 巩义市| 石首市| 迁安市| 平武县| 高密市| 陵川县| 中方县| 遂昌县| 乌兰浩特市| 织金县| 平定县|