gps信号接收app,gps信号的生成和捕获

中国论文网 发表于2024-04-13 02:10:31 归属于电子论文 本文已影响557 我要投稿 手机版

       今天中国论文网小编为大家分享毕业论文、职称论文、论文查重、论文范文、硕博论文库、论文写作格式等内容.                    

摘 要:本文利用Visual Basic6.0语言,结合GPS通信技术,设计开发了一个接收和处理GPS通信信号的计算机应用程序。

关键词:GPS;VB6.0;接收板;控件

1 GPS  GPS是全球卫星定位系统,在飞机、轮船、汽车等导航和定位等方面都有广泛的应用。在与地理信息系统结合之后,更能显现其神威。  GPS接收器五花八门,但归根结底是一个工作原理:GPS接收板通过天线接收卫星发来的信号,然后由计算机对信号进行处理。我们这里讨论计算机与GPS板是分体的,通过串口两者相连。  市面上有许多种GPS板,例如:Jupiter、Motorola、古野等等。这些板子都使用NMEA-0183格式作为输出。虽然都是NMEA-0183格式,但不同板子间可能略有差异。我们这里以Jupiter板为例。下面列出Jupiter板最常用的$GPGGA数据的格式:  $GPGGA,162411,3826.1238,N,11726.3869,E,1,06,0.87,5.1,M,-3.2,M,,*63  $:开始符;GP:鉴定码;GGA:格式码;162411:国际时间,16-时,24-分,11-秒;3826.1238:38是纬度,26.1238是纬分;N:北纬;11726.3869:117是经度,26.3869是经分;E:东经;1:质量因子,1=GPS,2=DGPS;06:使用的卫星数;0.87:HDOP,水平减弱值;5.1:天线高程;M:天线高程单位是米;-3.2:大地水准起伏面;M:大地水准起伏面单位是米;,:省略基站编号;*63:总和校验数。  除了$GPGGA数据之外,还有$GPGSA、$GPGSV等类型的数据,这里就不一一介绍了。  在本程序中,GPS板用RS-232连线通过Com2口与计算机相连。2 VB6.0中通信控件MSComm介绍  实现计算机通信涉及到很多方面的问题,例如设置输入输出缓冲区、不断地查询通信状态等等。MSComm控件封装了上述这些串行通信的底层过程。  MSComm控件的主要属性* CommPort属性:设置或返回通信控件对象所对应的串行接口代号。* Settings属性:设置或返回含有波特率(传输速率,单位是bps,即位/秒)、校验位、数据位和停止位的字符串。* PortOpen属性:设置或返回串行端口的状态。* Input属性:从输入缓冲区读出字符并清除缓冲区被读的字符。* InputLen属性:指定由串行端口读入的字符串长度。MSComm控件只有一个事件OnComm。当MSComm控件产生动作,如接收到数据或出现错误时引发。  3 应用程序界面* 利用水平滚动条选取取样的时间间隔,1~10秒。在Text2显示确定值。* Text3和Text4分别显示纬度和经度。* Text5显示国际时间。* Text6为使用的卫星数。* Text7显示水平减弱值。* 在最下面的Text1给出接收到的原始数据。* 放置计时器Timer1和通信控件MSComm1。* 命令按钮Command1、Command2。窗体界面如下图所示:

4 程序代码 由于篇幅所限,这里给出部分主要代码:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

Private Sub Form_Load()

On Error Resume Next

d = False

al = 1000

= "1"

With MSComm1

.InputLen = 0

.CommPort = 2

'参数设置

'9600:波特率

'n:无奇偶校验位

'8:一次传输8位

'1:一个停止位

.Settings = "9600,n,8,1"

.PortOpen = True

End With

End Sub

Private Sub Timer1_Timer()

Dim strGPS_data As String

Dim strT3 As String

Dim strT4 As String

Dim klat As Integer, klon As Integer, kgga As Integer

strGPS_data = '取得输入缓冲区的数据

kgga = InStr(strGPS_data, "GGA")

If kgga < 3 Then Exit Sub '若不是$GPGGA数据则跳过

= strGPS_data '显示原始的$GPGGA数据

klat = InStr(strGPS_data, "N")

klon = InStr(strGPS_data, "E")

If klat > 10 Then

strT3 = Mid(strGPS_data, klat - 10, 2) + "度" + _

Mid(strGPS_data, klat - 8, 7) + "分"

= strT3 '纬度

End If

If klon > 11 Then

strT4 = Mid(strGPS_data, klon - 11, 3) + "度" + _

Mid(strGPS_data, klon - 8, 7) + "分"

= strT4 '经度

End If

= Mid(strGPS_data, kgga + 4, 2) + "时" + _

Mid(strGPS_data, kgga + 6, 2) + "分" + _

Mid(strGPS_data, kgga + 8, 2) + "秒" '时间

= Mid(strGPS_data, kgga + 38, 2) '使用卫星数

= Mid(strGPS_data, kgga + 41, 4) '水平减弱值

End Sub

5 结论  本文与硬件的关系密切,对从事自动控制、数据传输等领域研究的开发人员有参考价值。本程序完全依照实际GPS情况进行开发,对GPS信号的接收和处理得到了很好的实现,具有一定的实用价值。参考文献:.Computers Industry Engeering,2000.

  中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。

返回电子论文列表
展开剩余(