欢迎光临112期刊网!
网站首页 > 论文范文 > 计算机论文 > 通讯论文 > 接收和处理GPS信号的计算机应用程序

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

日期:2023-01-24 阅读量:0 所属栏目:通讯论文


摘 要:本文利用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  程序代码

  由于篇幅所限,这里给出部分主要代码: 

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.

本文链接:http://www.qk112.com/lwfw/jsjlw/txlw/261157.html

论文中心更多

发表指导
期刊知识
职称指导
论文百科
写作指导
论文指导
论文格式 论文题目 论文开题 参考文献 论文致谢 论文前言
教育论文
美术教育 小学教育 学前教育 高等教育 职业教育 体育教育 英语教育 数学教育 初等教育 音乐教育 幼儿园教育 中教教育 教育理论 教育管理 中等教育 教育教学 成人教育 艺术教育 影视教育 特殊教育 心理学教育 师范教育 语文教育 研究生论文 化学教育 图书馆论文 文教资料 其他教育
医学论文
医学护理 医学检验 药学论文 畜牧兽医 中医学 临床医学 外科学 内科学 生物制药 基础医学 预防卫生 肿瘤论文 儿科学论文 妇产科 遗传学 其他医学
经济论文
国际贸易 市场营销 财政金融 农业经济 工业经济 财务审计 产业经济 交通运输 房地产经济 微观经济学 政治经济学 宏观经济学 西方经济学 其他经济 发展战略论文 国际经济 行业经济 证券投资论文 保险经济论文
法学论文
民法 国际法 刑法 行政法 经济法 宪法 司法制度 法学理论 其他法学
计算机论文
计算机网络 软件技术 计算机应用 信息安全 信息管理 智能科技 应用电子技术 通讯论文
会计论文
预算会计 财务会计 成本会计 会计电算化 管理会计 国际会计 会计理论 会计控制 审计会计
文学论文
中国哲学 艺术理论 心理学 伦理学 新闻 美学 逻辑学 音乐舞蹈 喜剧表演 广告学 电视电影 哲学理论 世界哲学 文史论文 美术论文
管理论文
行政管理论文 工商管理论文 市场营销论文 企业管理论文 成本管理论文 人力资源论文 项目管理论文 旅游管理论文 电子商务管理论文 公共管理论文 质量管理论文 物流管理论文 经济管理论文 财务管理论文 管理学论文 秘书文秘 档案管理
社科论文
三农问题 环境保护 伦理道德 城镇建设 人口生育 资本主义 科技论文 社会论文 工程论文 环境科学