单片机 > 单片机程序设计 > 详情

基于单片机和GPS的时钟信息显示系统

发布时间:2020-06-24 发布时间:
|

GPS(global positioning system)全球定位系统是利用美国24颗GPS地球卫星所发射的信息而进行定位、导航、授时等服务的系统。自1993年GPS系统向世界免费开放以来,得到了世界各地各行业的广泛应用。GPS系统广泛地应用在导航、大地测量、精确授时、车辆定位及防盗等领域。本文介绍使用日本古野公司的 GPS-OEM接收板GN-77N及AT89C52单片机实现时钟信息接收和显示的设计方法。

1 系统的硬件接口

GN-77N是日本古野公司推出的GPS-OEM接收板,该接收板为并行8通道接收机,可同时跟踪8颗卫星,具有高精度授时、定位速度快、超低功耗、超小体积、插针式安装、超强的抗电磁干扰能力等强大功能,在各种各样的应用过程中为用户提供最佳的解决办法。

1.1 GN-77N的引脚功能

该接收板的引脚功能及说明如表1所示。

表1 GN-77N接收板的引脚功能及说明

接口编号

信号名称

功   能

说明

1

RD1

串行输入1

NMEA-0183格式

2

TD1

串行输出1

NMEA-0183格式

3

GND

 

4

VCC

主供电电源输入

5V±5%

5

VBAK

备份电源输入

2.5~5.5V

6

1PPS

1秒脉冲输出

 

7

VANT

天线供电

5V±5%

8

RD2

串行输入2

RTCM-104

9

TD2

串行输出2

RTCM-104

1.2 AT89C52单片机和GPS的时钟信息显示系统硬件电路

系统采用AT89C52单片机,12MHZ晶振,串口方式1接收GPS信息,P1口和P2口及74LS138作为6位七段共阳LED显示接口,可以轮流显示实时时间及其它GPS信息数据。系统硬件电路连接图如图1所示。

                        


2 系统的软件接口

2.1 GN-77N模块数据格式

本设计中GN-77N的通信波特率设为4800,1个起始位,8个数据位,1个停止位,无奇偶校验。使用串口1的NMEA-0183格式输出。 NMEA-0183是美国海洋电子协会为海用电子设备制定的标准格式,数据代码为ASCII码字符,其中GPGGA语句中传送的格式为:

$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*hh 其中

$GPGGA为起始引导符及语句格式说明(本句为GPS定位数据),<1> 为UTC时间,时时分分秒秒格式。

例如:$GPGGA,104530,3105.3535,N,12207.1258,E,1,03,13.8,46.5,M,12.3,M,,*4A传送的信息,意思为UTC时间为10时45分30秒,位置在北纬31度5.3535分,东经122度7.1258分,普通GPS定位方式,接收到3颗卫星,水平精度13.8米,天线离海平面高度46.5米,所在地离地平面高度12.3米,校验和为4AH。

2.2时钟信息显示系统的软件设计

系统程序包括主程序、数据接收子程序、时间转换子程序和显示子程序。设接收到的时间信息放在显示缓冲区中,显示缓冲区的地址为60H,61H,…,65H,依次存放时时分分秒秒。程序如下:

ORG 0000H

LJMP MAIN

ORG 0030H

MAIN:   MOV PSW,#00H

MOV PCON,#80H ;波特率翻倍2400×2=4800BPS

MOV SCON,#50H ;设置成串口1方式

MOV TMOD,#20H ;T1工作在模式2上

MOV TH1,#0F4H ;设置初值,按2400BPS

MOV TL1,#0F4H ;设置初值,按2400BPS

SETB TR1 ;启动定时器T1

CLR ES

CLR TI

CLR RI

LOOP:   JNB RI,$

LCALL INT

LJMP LOOP

INT:    LCALL INT1

LCALL RECEIVE

LCALL SETDATA

LCALL DISP

RET

INT1:   LCALL SS ;判断$GPGGA

XRL A,#24H

JZ INT2

LJMP INT1

INT2:   LCALL SS

XRL A,#47H

JZ INT3

LJMP INT1

INT3:   LCALL SS

XRL A,#50H

JZ INT4

LJMP INT1

INT4:   LCALL SS

XRL A,#47H

JZ INT5

LJMP INT1

INT5:   LCALL SS

XRL A,#47H

JZ INT6

LJMP INT1

INT6:   LCALL SS

XRL A,#41H

JZ INT7

LJMP INT1

INT7:   LCALL SS

RET

RECEIVE: LCALL SS ;时间接收,时分秒

MOV 60H,A

LCALL SS

MOV 61H,A

LCALL SS

MOV 62H,A

LCALL SS

MOV 63H,A

LCALL SS

MOV 64H,A

LCALL SS

MOV 65H,A

        RET

SS:     JBC RI,SS1

LJMP SS

SS1:    MOV A,SBUF

RET

SETDATA:  MOV A,60H  ; 时间转换子程序

……

SETH:     MOV A,60H

……

ADD A,#8 ;把UTC时间转换成北京时间

MOV B,A ;如果时间大于24则减24

SUBB A,#24

JC SETH1

LJMP SETH2

SETH1:    MOV A,B

SETH2:    MOV B,#10

DIV AB

ADD A,#30H ;把处理后的字符转换成ASCII码

……

RET

DISP:    MOV R0,#60H ;显示子程序

……

RET

 

3 结束语

由于计算机技术、网络技术、通信技术、GPS定位技术等相关技术的发展以及GPS技术所具有的全天候、高精度和自动测量的特点,作为先进的测量手段和新的生产力,已经融入了国民经济建设、国防建设和社会发展的各个应用领域。因此开展对GPS系统的研究和应用,将极大地提高生产力,并产生巨大的经济效益。本文介绍的基于单片机和GPS的时钟信息显示系统可以获得精确的时间和定位信息,为人们的日常生活提供便利,避免了因时钟不准确而带来的不便。同时,也为GPS系统的应用开拓了一个较好的用途,具广泛的现实意义。

本论文的创新点在于:时间信号的准确与否,直接关系到人们的日常生活、工业生产和社会发展。本文介绍的基于单片机和GPS的时钟信息显示系统,不仅能够从GPS导航系统获取精确时间信息,而且具有硬件电路简单、成本低廉、编程方便、性能稳定的特点,具有一定的使用价值。另外,对于纬度、经度及其它 GPS信息数据的接收与处理,只需在软件部分增加响应的子程序即可实现。

参考文献:

[1]王惠南,GPS导航原理与应用.北京:科学出版社,2003

[2]何立民,单片机应用系统设计.北京:北京航空航天大学出版社.1993

[3]李光飞,GPS定位信息的单片机控制显示系统,《微计算机信息》(测控自动化)2004年第20卷第11期

[4]李铎,应用GPS接受板研制高精度系统时钟,《微型计算机信息》1999年第15卷第4期

[5]刘晓等,基于单片机采集GPS数据系统的设计,青岛科技大学学报,2006.02

关键字:GPS  OEM  NMEA格式  单片机

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
ARM JTAG 调试原理