接收和处理GPS信号的计算机应用程序.docx

上传人:rrsccc 文档编号:9023687 上传时间:2021-01-30 格式:DOCX 页数:3 大小:13.02KB
返回 下载 相关 举报
接收和处理GPS信号的计算机应用程序.docx_第1页
第1页 / 共3页
接收和处理GPS信号的计算机应用程序.docx_第2页
第2页 / 共3页
接收和处理GPS信号的计算机应用程序.docx_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《接收和处理GPS信号的计算机应用程序.docx》由会员分享,可在线阅读,更多相关《接收和处理GPS信号的计算机应用程序.docx(3页珍藏版)》请在三一文库上搜索。

1、接收和处理GPS信号的计算机应用程序摘要:本文利用Visual Basic6.0语言,结合GPS通信技术,设计开发了一个接收和处理GPS通信信号的计算机应用程序。关键词:GPS;VB6.0;接收板;控件1GPSGPS是全球卫星定位系统,在飞机、轮船、汽车等导航和定位等方面都有广泛的应用。在与地理信息系统结合之后,更能显现其神威。GPS接收器五花八门,但归根结底是一个工作原理:GPS接收板通过天线接收卫星发来的信号,然后由计算机对信号进行处理。我们这里讨论计算机与GPS板是分体的,通过串口两者相连。市面上有许多种GPS板,例如:Jupiter、Motorola、古野等等。这些板子都使用NMEA-

2、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:HD

3、OP,水平减弱值;5.1:天线高程;M:天线高程单位是米;-3.2:大地水准起伏面;M:大地水准起伏面单位是米;,:省略基站编号;*63:总和校验数。除了$GPGGA数据之外,还有$GPGSA、$GPGSV等类型的数据,这里就不一一介绍了。在本程序中,GPS板用RS-232连线通过Com2口与计算机相连。2VB6.0中通信控件MSComm介绍实现计算机通信涉及到很多方面的问题,例如设置输入输出缓冲区、不断地查询通信状态等等。MSComm控件封装了上述这些串行通信的底层过程。MSComm控件的主要属性* CommPort属性:设置或返回通信控件对象所对应的串行接口代号。* Settings属性:

4、设置或返回含有波特率(传输速率,单位是bps,即位/秒)、校验位、数据位和停止位的字符串。* PortOpen属性:设置或返回串行端口的状态。* Input属性:从输入缓冲区读出字符并清除缓冲区被读的字符。* InputLen属性:指定由串行端口读入的字符串长度。MSComm控件只有一个事件OnComm。当MSComm控件产生动作,如接收到数据或出现错误时引发。3应用程序界面* 利用水平滚动条选取取样的时间间隔,110秒。在Text2显示确定值。* Text3和Text4分别显示纬度和经度。* Text5显示国际时间。* Text6为使用的卫星数。* Text7显示水平减弱值。* 在最下面的T

5、ext1给出接收到的原始数据。* 放置计时器Timer1和通信控件MSComm1。* 命令按钮Command1、Command2。窗体界面如下图所示:4程序代码由于篇幅所限,这里给出部分主要代码:Private Sub Form_Load()On Error Resume NextForm1.ShowTimer1.Enabled = FalseTimer1.Interval = 1000Text2.Text = 1With MSComm1.InputLen = 0.CommPort = 2参数设置9600:波特率n:无奇偶校验位8:一次传输8位1:一个停止位.Settings = 9600,n

6、,8,1.PortOpen = TrueEnd WithEnd SubPrivate Sub Timer1_Timer()Dim strGPS_data As StringDim strT3 As StringDim strT4 As StringDim klat As Integer, klon As Integer, kgga As IntegerstrGPS_data = MSComm1.Input取得输入缓冲区的数据kgga = InStr(strGPS_data, GGA)If kgga Text1.Text = strGPS_data显示原始的$GPGGA数据klat = InSt

7、r(strGPS_data, N)klon = InStr(strGPS_data, E)If klat 10 ThenstrT3 = Mid(strGPS_data, klat - 10, 2) + 度 + _Mid(strGPS_data, klat - 8, 7) + 分Text3.Text = strT3纬度End IfIf klon 11 ThenstrT4 = Mid(strGPS_data, klon - 11, 3) + 度 + _Mid(strGPS_data, klon - 8, 7) + 分Text4.Text = strT4经度End IfText5.Text = Mi

8、d(strGPS_data, kgga + 4, 2) + 时 + _Mid(strGPS_data, kgga + 6, 2) + 分 + _Mid(strGPS_data, kgga + 8, 2) + 秒时间Text6.Text = Mid(strGPS_data, kgga + 38, 2)使用卫星数Text7.Text = Mid(strGPS_data, kgga + 41, 4)水平减弱值End Sub5 结论本文与硬件的关系密切,对从事自动控制、数据传输等领域研究的开发人员有参考价值。本程序完全依照实际GPS情况进行开发,对GPS信号的接收和处理得到了很好的实现,具有一定的实用价值。参考文献:【1】陈明.Visual?Basic程序设计.中央广播电视大学出版社,2000.【2】金茂忠.NET编程基础.中央广播电视出版社,2004.【3】丁爱萍.Visual?Basic程序设计(第2版).电子工业出版社,2004.【4】李洪吉.Visual Basic高级编程技术,科学出版社,2003.【5】Richard l Smith.Philip M Wolfe.Computers Industry Engeering,2000.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1