基于单片机的GPS定位信息显示系统

基于单片机的GPS定位信息显示系统

摘 要

在当今信息时代的发展中,GPS全球定位系统是一个重要的组成部分,其具有精度很高、应用广泛、性能强大的特点,因此在实际生活中GPS全球定位显示系统被广泛运用于各类领域当中。它也是至今为止最好的定位导航系统。
本论文详细介绍了基于微控制器的GPS接收模块,12864液晶显示器等设备的GPS实时显示功能实现,从硬件和软件实现方面给出了详细的设计说明,并结合MCS-51系列微控制器GPS接收模块的硬件特性实现了串行通信。它是一种紧凑型便携式,可独立使用,全天候实时定位和导航的设备。在经过一系列元件拼接并且将硬件和软件调试成功后,系统能够按预想正常运转。

关键词:GPS;MCS-51单片机;GPS接收模块;12864液晶屏

GPS Positioning Information Display System
Based On Single Chip Computer
ABSTRACT
In today’s information age development, GPS Global Positioning System is an important component, which has high precision, wide range of applications, strong performance characteristics, so in real life GPS global positioning display system is widely used in various fields among. It is also the best positioning navigation system so far.
In this paper, the GPS real-time display function of GPS receiver module and 12864 liquid crystal display device based on micro-controller is introduced in detail. The detailed design explanation is given from hardware and software implementation, and combined with MCS-51 series micro controller GPS The hardware characteristics of the receiving module enable serial communication. It is a compact portable, can be used independently, all-weather real-time positioning and navigation equipment.After a series of components splicing and hardware and software debugging success, the system can be expected to normal operation.

Key words: GPS; MCS-51 single chip; GPS receiver module; 12864 LCD screen

目 录

  1. 绪论 3
    1.1课题背景和意义 3
    1.2 论文主要内容 4
  2. GPS定位信息显示系统方案设计 5
    2.1 GPS全球定位系统简介 5
    2.2 GPS信号接收方案的选择 8
    2.3 GPS接收模块的研究 9
    2.4 完整设计方案 10
    3.GPS硬件电路设计 12
    3.1 硬件电路框架结构 12
    3.2 系统硬件电路简介 12
    3.2.1 STC89C52简介 12
    3.2.2 12864LCD模块介绍 17
    3.2.3 SiRF Star II GPS信号接收模块 18
    3.3 系统硬件连接介绍 21
    4.GPS软件设计 23
    4.1软件数据格式 23
    4.1.1 输入语句 24
    4.1.2 输出语句 25
    4.2 软件开发环境—Keil uVision2 26
    4.2.1开发工具 26
    4.2.2 编辑器和调试器 27
    4.2.3 编译步骤 28
    4.3 基于单片机的GPS软件设计思路 31
    5.系统调试和实验结果 33
    5.1 硬件调试部分 33
    5.2 软件调试 34
    5.3 实验结果 34
    6.毕业设计总结 35
    致谢 37
    参考文献 38
    附录一 40
    附录二 44

1. 绪论

1.1课题背景和意义
1978年,GPS卫星成功发射。这是人类史的巨大进步。无线电定位导航的新时期由导航卫星为动态明确点所开创[1]。用户能够共享定位资源,其前提是GPS卫星发送了相关的信号。用户无论身在何方,都可以随时获取自己的定位信息。只要用户拥有GPS接收设备。相对于其他无线电接收装置,GPS具有用途广泛、影响巨大的特点。在其他各类领域中,它也提供了一种高准确度、全时效性的测量信心技术。在当今社会生活中,GPS技术用途及其广泛。

一、陆地应用

陆地之中,其作用无人能比。在各种情况中,尤其是在危险状况下,他都能够提供巨大的帮助。比如:
1、监控车辆行驶状态。
2、紧急引导驾驶应急车辆。
3、勘察地球的资源。
4、测量工程实施的施工样本。

二、海洋应用

远程航海之时,定位及其重要。它对海上人员进行安全保护,如同守护神一般。其效益如下:
1、测定远洋船舶最佳航线。
2、实时监测在航远洋船只。
3、实时调度内河船只。
4、复位测定海洋油气平台。
5、精测海底沉船位置信息。

三、航空应用

在航空方面,它同样功不可没。提供了极其有效的作用。如以下几点:
1、飞机精密着陆。
2、飞机空中加油控制。
3、机载地球物理勘探。
4、飞机编队飞行的安全保护。

四、航天应用

在航天领域中,GPS也必不可少。例如:低轨卫星的即时航道监测;载入航天器的再贵防护探测;对地观测卫星的七维状态参数和三维状态参数测量[2]。

可想而知,在各个领域中,GPS都有着巨大的影响力和作用,但是一台可以接收并且可以调制输出GPS信号的设备是完成上述用途的基本条件,而能够显示实时坐标和UTC标准时间是这种设备的基础作用。本次设计的目标只有一个,那就是制作一个简易的GPS定位装备(其前提是利用单片机来操作)。本系统价格实惠、基础功能完备、构成简易明了、具有一定的使用价值。

1.2 论文主要内容
本次设计将选择适合的微控制器提炼数据。此数据能够被接收模块接收。而且在LCD上,我们能够直观的了解数据表达的含义。当然这个是建立在GPS和微控制器的基本理论之上。以微控制器为组成核心,剖析单片机所提取的信号并进行处理,使用LCD构成显示电路,精确显示所需数据,最后使用Proteus软件仿真测试性能。

2. GPS定位信息显示系统方案设计

2.1 GPS全球定位系统简介
GPS(全球定位系统)始于美国军方的一个项目,最早于1958年开始,1964年其开始投入军事用途。该系统相对简单。最早使用了5到6颗卫星。这些卫星组成了星网。20世纪70年代新一代GPS卫星定位系统被美国军方研制出来。主要目的是为陆海空三个主要领域的情报收集。 此外对三大领域进行全覆盖、全天时的导航服务也是相当重要的目的。在其他方面,例如紧急通讯、核爆动向侦测等军事用途中,GPS也被广泛使用。美国独霸全球战略中,它是必不可少的一部分。

 GPS技术总体来说十分复杂,但是大致能够分为三个部分:

(1)地面控制部分。此部分由三个成分组成:
① 监测站。监测站能够随时获取GPS卫星的定位。而且这些信息可以反馈到主控制站中。
② 主控制站。分析获取的定位信息。筛选信息后,得到完整定位。
③ 天线。传输GPS信号。

(2)空间控制部分。6个轨道平面上,共24颗卫星分布其上,其为GPS信息获取的重要来源。

(3)用户装置部分。这部分主要有两个成分组成,即卫星天线和GPS接收机[3]。
上述三大部分主要关系如下图2.1示。

在这里插入图片描述

图2.1 GPS全球定位系统组成

1978年2月22日,美国军方成功发射了第一颗GPS试验卫星,这是GPS技术走向成熟的标志,1989年2月14号,美国军方成功发射了第一颗GPS正式工作卫星,这意味着GPS技术正式进入生产工作阶段。在之后的16年中,美国军方发射了许多实验卫星,GPS信号应用也得到了许多发展,直到最后工作卫星成功发射,终于在1994年3月,GPS工作区域信号覆盖率达到了98%,24颗Block2卫星组成整个完整的GPS系统。Block2卫星如图2.2所示。
在这里插入图片描述
图2.2 Block2卫星图
全球定位系统特点众多,主要如下:

(1)全天时全天候;

(2)覆盖率极高,全球基本覆盖;

(3)精度高;

(4)功能众多。

(5)省时快捷效率极高。

在离地面20000km的空中,24颗卫星以12h为周期环球旋转,地球上的用户可以随时随地同时接收起码6颗GPS卫星的定位信息。GPS接收机向用户提供各种信息参数的前提是拥有4颗卫星给予的定位信息。
在空间中,卫星位置是已知的。依据三个卫星的坐标。由数学公式能够获得三个方程。控制点XYZ的定位便能够求出来。但是中间存在误差。最主要的为时间差。这个时间差是指接收器与卫星时钟的误差。所以说,其实有四个未知参数。于是我们还要添加一颗卫星的位置,来形成四个方程求解。从而获得相关的参数。
民用GPS精确度只有不到100米,因为各种因素(包括卫星运行轨道误差、大气对流层对信号的影响等。)2000年起,美国政府取消SA政策(前提是对美国国家安全保护没有影响),在全世界领域内GPS民用精度得到了极大的提高,精度由100米提升至20米。美国政府还采取了许多措施(DGPS技术、建立基准站、数据修正等),提高了定位的精确度。有数据证明,在使用DGPS技术后GPS定位准度达到了5米。对于广大用户来说,这是极大的利好消息。
GPS定位有非常多的方式。用户的用途不同,其方式也不尽相同。而且定位标准也完全不一样。假如用户依据观测值这一参数来使用GPS则有两种方案。其一为伪距定位,其二为载波相位定位。如果用户想要利用定位模式这种参数,则有绝对定位法以及相对定位法来完成目的。假设用户想要使用时间参数来定位,则可以通过很多方式来达到要求。一般利用实时定位法与非实时定位法来定位。当然运动状态这一参数也能够作为参考。通常有动态定位法和静态定位法。
当然影响因素也非常多,对定位精准度有干扰。其一为SA卫星信号干扰。因为美国能够控制卫星信号。或许在某些状况下中断信号服务。定位直接无作用。其二为电磁电器干扰。在某些地形下,GPS信号会受到干扰。例如在某些强磁性山谷中,定位会出现偏差。其三为天气干扰。某些恶劣天气状况下,信号的强度会骤减。最多的就是太阳黑子出现的时候。

2.2 GPS信号接收方案的选择
GPS信号接收之后,GPS数据信息才能够在LCD上显示出来,因此这里有两种选择来接收GPS信号。

 第一种是根据GPS接收芯片的设计标准,围绕着这个标准来选择合适的GPS接收芯片。在这个标准之下,能够选择各种合适的元件来组装,得到预期效果。其余部分如接线和天线安装等也不是难事。这个方案优点相当多。首当其冲的是通过在这个设计过程中的操作,学习到最基本的电路设计,为整个设计做铺垫。但是缺点也很明显,一方面是实现难度很高,难以成功,另一方面是采购价格十分昂贵,因为这种芯片一般是生产厂家直销的。

 第二种方案是直接使用成品模块,该方案优点很明显,当今GPS接收模块的生产技术十分完备,使用简单,功能强大,定位完成后,模块就能够输出相关位置信息,而且在商业化进程中,生产技术已经成熟,价格相对便宜,我们可以轻松购买。

 根据上述分析,直接购买成品GPS模块来完成本次设计是更好的选择,于是我选择方案二。

2.3 GPS接收模块的研究
接收机是GPS接收模块最重要的成分,它的组成由几个部分构成:CPU、存储器、并行信号通道、变频器。市面上可购买的模块有许多种型号,功能众多,性能完备。接收模块的天线能够接收卫星信号,在经过许多处理之后,可以跟踪、锁定天线覆盖区域的卫星。在这个模块上,我们能够得到想要的信息。当然这个前提是要通过I/O端口传送数据才行。该模块结构极其简单,但是线路复杂。如
图所示。

                         天线

在这里插入图片描述

                 图2.3 模块内部结构

2.4 完整设计方案
利用单片机作为中央控制器件,来完成GPS设备定位信息显示系统,这是设计所必须达到的。因为市面流传的单片机品种众多,功能各不相同,在经过综合考虑后,本次设计将使用最普遍使用的MCS-51单片机作为核心处理器。通过
SiRF Star II GPS接收模块发送数据,然后使用MCS-51单片机的串行接口实现数据接收,定位信息也能够用软件所挑选出来,最后LCD构成的显示电路可以将单片机并行接口输出的信号显示出来。
完整的系统的硬件由四个部分构成:
(1)控制模块:STC89C52 MCU。它能够能够处理信号。
(2)接收部分:GPS接收机。它是这个部分的核心。主要靠接收模块工作。
(3)电源模块:供给用电。方便系统运转。
(4)显示方面:12864LCD。
单片机系统:51单片机是本次设计的核心,GPS数据的读取和传输都将通过其来完成。SiRF Star II GPS 接收模块发送数据后,51单片机的串行接口能够接受相关数据。这时12864LCD能够显示相关的参数,当然这些参数都经过了筛选。

 外围电路:外围电路构成简单。其一位于LCD中,包含电源和显示的部分。其二位于接收器件当中。卫星信号通过天线传进模块。经过复杂的处理之后,可以完成对卫星的跟踪和定位。

 单片机控制程序:首先要编纂程序。然后复位整个控制系统。利用GPS器件去收集数据并且处理该信号,最后将数据用单片机接口传输到LCD上显示。

3.GPS硬件电路设计

3.1 硬件电路框架结构
根据总体设计方案,本次设计的硬件电路部分将由三方面组成:

(1)信号的接收:主要利用GPS信号接收模块来完成。此模块型号为SiRF Star II 。
(2)系统的控制:整个系统很复杂,依靠微控制器来控制整个系统。此处使用STC89C52 MCU 。
(3)数据的显示:数据通过MCU筛选之后,将信号传送到LCD上。这里使用12864LCD完成本次设计。

总体结构如下图3.1示

  信号            

在这里插入图片描述

图3.1 总结构图

3.2 系统硬件电路简介

3.2.1 STC89C52简介
此型号是由中国深圳宏晶科技有限公司所生产的一种新兴的单片机。STC89C52 是一种8位微控制器。该微控制器功耗相当低。而且性能及其强大。立面采用了CMOS这种芯片。它的功能相当多。最关键的是可编程、可擦除。并且可以闪烁。一个芯片上拥有8位CPU,并且在系统可编程Flash。在众多嵌入式控制应用系统里面,STC89C52给予了解决方案。这些方案往往是效果极佳且灵活度极高的。 STC89C52具有以下标准功能:8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KB EEPROM,两个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。此外,空闲模式下,CPU 停止工作。允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止[4]。

引脚如图3.2

在这里插入图片描述

图3.2 STC89C52引脚图

  (4)输入/输出引脚(32根):
     STC89C52单片机中,总共有4组8位输入/输出口。这4组是P0、P1、P2、P3口。每个口有8根引脚,合计32根。



   STC89C52主要功能如表3.1

表3.1 STC89C52主要功能

在这里插入图片描述

 (1)时钟电路

   单片机中有一个放大器,此放大器高增益反相。它位于该单片机的内部,它也是构成振荡器的重要成分。它的输入端是引脚RXD,输出端是引脚TXD。时钟有两种产生方式,分别为内部方式和外部方式。内部方式如图3.3(a),只要定时元件外接在RXD和TXD引脚上,自激振荡就能够发生。定时元件的结构很简单,只是一个并联谐振回路,一般由石英晶体和电容组成。通常选择1.2~12MHz作为石英晶体的频率。而5~30pF则是电容的数值。电容对频率有影响[5]。

   外部电路如图3.3(b),地线接RXD引脚,外部振荡器接TXD引脚。为了保证脉冲宽度,通常使用方波信号,频率则要低于12MHz,震荡频率则被发生器调控。单片机能够使用该两相时钟。

在这里插入图片描述

(a)内部方式 (b)外部方式

图3.3 时钟电路

 (2)复位电路

   复位是单片机的初始化操作,其作用是将PC初始化成0000H,让单片机从原始状态开始执行程序。当然除了这个作用外,当系统因为某些原因故障时。为了不影响其正常运作,我们也可以按复位按钮让其恢复正常[6]。

   复位操作对许多寄存器也有不同的作用,如下图3.4所示。

在这里插入图片描述

图3.4 寄存器复位状态

 RST引脚是输入端口,他可以接收复位信号。该信号为高电平有效,24个振荡周期是其最基本的持续时间。现在有一个晶振,频率为6MHz,假设其要完成一个复位操作,信号持续时间最少需要4us。
 复位电路组成及其简单,包括芯片内外部。施密特触发器。接收从外部电路传来的复位信号,然后这些信号会被采样(通过片内电路),最终产生可以让内部复位的信号[7]。

3.2.2 12864LCD模块介绍

 (1)概述

  这种显示模块显示度高,8192个汉字和128个字符内置其中,它能够显示各种数据。如汉字与图形。该模块引脚如图3.5。

在这里插入图片描述

                图3.5 12864LCD电路图

12864有20接口引脚,引脚说明如图3.6

在这里插入图片描述

图3.7 12864引脚说明
3.2.3 SiRF Star II GPS信号接收模块
SiRF Star II 是一种功能极其强大且完备的GPS接收模块。这种模块原产于美国,性能强大,用途广泛。而需要的引脚如图3.4。这种模块可以12通道并行获取信息,L1信号(1575.42MHz)亦能被其接收,该信号属于民用频段。该模块定位能力出色。体现在几个方面:1、平均误差不超过10米(前提是无SA干扰)。2、动态速度误差小于0.1米/秒。 3、信号灵敏度极低(-142dBm)。4、重定位时间极其短暂(小于8秒)。
在这里插入图片描述

                    图3.8 SiRF Star II 引脚图

GPS数据输出采用标准格式。那就是NMEA-0183格式。数据采集更新速率2s/次,地图坐标系则采用WGS-84坐标系[9]。   
    这种模块使用了一种简单的微型天线,该天线极其灵敏、精度很高、占用面积小。它封装在模块内部。这也加强了模块的实用性。

模块如图3.9
在这里插入图片描述

图3.9 模块实物图

该模块各参数如下:

在这里插入图片描述

SiRF Star II 性能完备。它适用于各类GPS装备。其芯片功能也极为强大。芯片主要特征如下图3.10
在这里插入图片描述
图3.10 芯片特点

3.3 系统硬件连接介绍
完整设计并不复杂,只需将各种元件相连接便可运转。硬件电路设计如图3.11。
在这里插入图片描述
图3.11 硬件电路图

4.GPS软件设计

4.1软件数据格式
现在,为单片机编写程序大多是用汇编语言与C语言。
为了使系统的硬件得到控制,必须要发明一种机器能够读懂的语言,于是汇编语言就应运而生了。它可以对IO口进行访问,让处理程序得到停止。这种语言具有以下这些优点:
(1)速度快,效率高。
(2)能力强,可以满足非常高的要求。
(3)占用内存少,运用范围广等。
有阴就有样,这种语言同样存在一些不足的地方:
(1)编写一个程序所用的时间太久。
(2)运算麻烦等。
C语言就是将设计的内容分成各个部分去进行分别设计。这个方法就是将任务拆开,形成一些彼此间存在关联的部分,对各部分分别编写。使用C语言有以下几种优点:
(1)使设计更加容易。
(2)编写程序简单。
(3)阅读、检查也简单。
(4)数据的相互传递容易。
此次课题的程序就是用C语言来编写的。我们可以采用上述将内容切割开的方法。这样不仅有利于更好的调试和优化,也能够有利于别人的理解和检查。由于这种方法具有的优势,所以程序的编写采用了这种方法。程序的组成部分有以下几个:
(1)主程序。
(2)定时溢出中断服务程序。
(3)外部中断服务程序。

我使用NMEA-0183来完成此次软件编辑。NMEA全称为National Marine Electronics Association,NMEA-0183即为美国国家海洋电子协会,而NMEA-0183则是其中一种格式,其主要运用于为海洋用途的电子器件。它起源于0180和0812,但最重要的是加入了关于GPS方面的知识。现在我们要使用的是Ver 2.00版本,此版本用途最广,用户众多。这也相当程度上增加了GPS接收模块的相互交换。

该格式利用ASCII字符码来输出语句,包含了许多信息于其中。

4.1.1 输入语句
NMEA-0183输入语句,即为GPS接收模块能够获取的语句。输入语句囊括了许多设置信息,GPS接收机有能力获取这些语句。不出意外情况下初始信息语句是PGRMI。

4.1.2 输出语句
SiRF Star II拥有相当多的输出语句,最常用的为以下12种
SiRF Star II芯片能够获取命令语句,这些语句一般由GPS串口调试软件生成,在这之后芯片能够按照这些信息设置参数。
几种常用的数据格式见附录一。   
4.2 软件开发环境—Keil uVision2
4.2.1开发工具
为了适应市场需求,单片机开发技术需要不断地发展与创新。单片机的发展主要表现在以前我们只用最简单的汇编语言,而现在为了适应市场需求就开始使用更高级的语言。Keil软件就是在市场需求下流行的MCS-51系列单片机的软件。Keil软件得到了广大用户的好评。下面就简单介绍一下Keil软件,Keil得到广大用户支持一个重要因素就是,它给我们用户提供了一个完整的开发方案,这个完整的方案主要包括了C编译器、宏汇编、连接器、库管理等模块。这就需要集成开发环境把这些模块整合到一起。对与我们这些初学51系列单片机的学生来说,掌握Keil这款软件是非常有益于我们接下来的学习的。学会了Keil软件不仅利于我们对C语言的学习,而且还有利于我们对于软件的仿真调试。本软件源自美国Keil Software公司,它采用汇编语言编写,并使用Keil uVision2进行编译、调试。uVision2 IDE可为它们提供单一而灵活的开发环境[10]。

(8) 在线直接调试源程序。错误指令定位[11]
4.2.2 编辑器和调试器
在属性框(attributes column)中可以快速浏览断点设置情况和源程序行的位置,代码覆盖率信息可以让你区分程序中已执行和未执行的部分。

4.2.3 编译步骤
运行keil,可以看到下图4.1
在这里插入图片描述

图4.1 主界面
点击Project。在下拉菜单中选择New Project。创建新工程,如下图4.2。
在这里插入图片描述

图4.2 建立新项目

然后就会出现一个窗口,用来设置工程保存的位置并输入文件名(如下图4.3)。

在这里插入图片描述
图4.3 保存位置

选择“保存”之后,就会变成新的界面(如下图4.4)。找到要使用的单片机型号,然后点击“OK”。

在这里插入图片描述

图4.4 选型号
程序编写好了之后就把他加入工程中(如下图4.5)。打开Project 窗口中的Target 1,就能看到Source Group 1。右击这个选项,在出现的菜单中点击Add Files to Group ‘Source Group 1’。在出现的窗口找到之前存好的文件。这样便完成了添加的工作。
在这里插入图片描述

图4.5 程序添加到工程
完成上面的步骤后,就能编译刚输进去的代码了。在我们创建工程时,不会自动产生HEX文件。下面是生成HEX文件的方法:右击Target 1,在出现的菜单中点击“Options for Target ‘Target 1”。在出现的窗口中打开“Output”进行设置(如下图4.6与4.7),完成后点击“OK”。现在再点击重新编译,就会在工程所在文件夹里生成HEX文件。

在这里插入图片描述

图4.7 HEX文件生成
4.3 基于单片机的GPS软件设计思路
本次设计中,最重要有两点:
1.GPS接收模块和单片机之间的信息交流与传输
2.LCD液晶显示模块显示单片机接收并筛选后的信息

  我使用了模块化的思想来完成这个软件,这样做有几个优点,其一是利于调试软件,其二是利于移植软件。软件设计分为三方面。其一为LCD初始化模块。其二为GPS数据接收模块。最后一个是MCU模块。当我们改变相应的软件模块时,我们就能够在不一样的硬件平台上使用该软件。

程序流程图如图4.8。

在这里插入图片描述
图4.8 软件程序流程图

软件模块分为两个:
1、LCD内初始化模块。
2、GPS数据接收模块。

LCD初始化程序见附录1。
GPS数据接收模块初始化程序及其代码见附录2。

5.系统调试和实验结果

在经过对系统一系列操作(硬件设计、制作、软件编程)以后,我们要对系统进行调试,这样系统才能根据我们的设计想法来运转。

5.1 硬件调试部分

检测出硬件中的故障并且将它们移除掉,这是我们的首要任务。故障原因可能有许多,最常见的是线路连接和设计方面的故障。

(1)检查线路
首先我使用了万用电表检查了每个接口以确保无开路和短路现象。然后为了每个点的检查地线(电源线),我利用5V电源线与其对应相接,这样也可以检查开关打开与否,线路是否正确相连。为了测试芯片管座的连接是否有问题,我将其对应引脚用导线接通,观察检测结果。

(2)单片机检测
单片机插座中,我将仿真插头与之相连并进行调试,检查接口,观察单片机能否正常运转。检测正常后, 在STC89C52中导入(.hex)文件,该信息由Keil软件仿真而成后用编程器所编译。

(3)LCD显示检测
硬件电路管座里加入已经写进程序的单片机,查看LCD的显示内容,检查其是否满足设计要求。

5.2 软件调试

软件调试相对比较简单,需要使用开发工具对其仿真,调试之后可以知道程序是否有错误,错误在哪里并对错误进行纠错处理当然在这个过程中也可以找到硬件方面的故障,这是软件调试最主要的任务。调试软件必须按部就班,一步一步来,对各模块逐一排查。整个软件调试过程分三个步骤。一是要分开调试每个子程序,观察其是否能够达到预期目的。二是查看每一个接口电路,检查其是否正常运转,最后对整个程序进行调试,在整个调试过程中,各模块间是否能够传递合理的信息是重中之重。

(1)对LCD模块的程序进行检测,观测所需的字符能否在LCD上显示。

(2)对GPS模块的程序进行检测,观察LCD的显示情况,了解GPS信号接收的情况如何。

(3)将以上两者结合起来,观测LCD上GPS显示信息。

5.3 实验结果

经过两方面调试后,最终完成了本次设计,GPS显示的结果与我使用GOOGLE地图显示的结果基本一致,存在些许偏差。这是由多方面原因造成的。一是我选用的GPS接收模块版本较低,有些信息无法正确接收。二是由于在实验过程中,许多客观因素对结果达成进行了干扰,如天气原因、谷歌地图选点位置误差、大气电离层影响等,但是些许误差是有效误差,是可以接受的,因此,这是一个完整有效的、满足要求的设计。

6.毕业设计总结

随着社会的不断发展,科技的不断进步,人民的生活也是趋于更加智能化,GPS的应用已经普遍到普通人民生活中去了,并在各个领域都大放异彩,加速推动了人类社会的发展。但由于其硬件本身的成本较高,导致部分用户难以承受,所以为了其更好地发展,解决眼下的困难境况是想着从根本上的造价着手,可以通过对比人们用的比较多的功能,删掉一些不必要的应用功能,保留其基本功能,这样才能被更广大的用户所使用到。
本文主要是介绍GPS工作机制及原理,在进一步的了解中对其工作流程更为熟悉。GPS整个系统是信号处理模块、单片机、外围电路组合而成,信号处理功能通过SiRF StarII实现。然后将该模块与MCS-51单片机相连,最后外接一个显示屏,让操作者可在人机操作界面看到其执行结果,最后介绍软硬件的设计。
本次毕业设计让我获益匪浅,让我们将课本上的知识与实际应用联系在一起,这样既加深了对基础知识的理解,同时再通过考虑实际问题是所出现的问题,也大大提高了我解决问题的能力,遇到一些不了解的问题,会大量的查阅文献,也丰富了我的课余知识,让我对自己所学的内容有了一个更深层面的理解,在实际处理中我学会了该对所学知识的适当取舍,然后对细节的字字推敲,从全局改变我看待问题的方式,是我的能力得到很大提升。
通过独立完成本次的毕业设计,在心理上给我以成就感,也让我加深了对于社会未来发展方向关于本设计的一个观望,让我知道的自己的渺小,所学知识是有多么的不足,正如一句名言所说,知识是个圆圈,圆圈周边接触的是我们不知道的,当我们知道的越多,属于自己的那个知识的圈子会越来越大,但与此同时不知道的也是越来越多,所以在今后的生活中我会不断学习,让自己的头脑更加的充实,我对未充满挑战的生活充满信心。
由于知识及时间上等因素的影响,本文知识介绍了自己多GPS的一点最初步的认识,在实际应用中可能并不能带来什么影响,但我会继续努力学好知识,以后创造出更多有利于社会的作品出来。
最后这次毕业设计不仅提升我的知识层面,而且还从实际经验上对我造成了极佳的影响,可以说对我们的人生也是有很大的影响。
这一次毕业设计历时三个月,在这三个月中,按照预期安排,我按时圆满的完成了本次设计任务。设计初期,我复习了《单片机》、《C语言》、《电路》等各方面知识,查阅了许多关于本次GPS设计方面的资料。在设计中后期,利用我所学的知识 对硬件和软件进行设计,最终成功完成整个系统的设计。在这期间我得到机械学院诸多老师的帮助与指导,在此深表谢意。

致谢

本次设计是在老师的精心教导之下完成的,在整个毕业设计过程中,老师给了我全方面的指导无论是知识层面还是精神层面。老师的性格十分随和但又不失严厉,这种性格让我感觉十分亲切,但是更重要的是为我指明了前进的道路。老师学识渊博,治学态度相当严谨,在科学创新方面更是硕果累累,这些给予我十分重大的影响。由衷感谢老师对我的指导和关怀。在此谨向吴老师致以诚挚的谢意和崇高的敬意。
感谢我的同学和室友们,感谢学校领导、老师们,感谢一直关爱着我的支持着我的家人,感谢你们对我一直以来的帮助与关怀,感谢大学,特别是机械工程与自动化学院这四年来为我提供良好的学习环境,谢谢!

参考文献

[1] 刘基余.GPS卫星导航定位原理与方法[M],北京:科学出版社,2003.
[2] 刘基余,李征航.全球定位系统原理及其应用[M],北京:测绘出版社,1993.

[3] 王惠南.GPS导航原理与应用[M],北京:科学出版社,2003.
[4] 潘永雄.新编单片机原理与应用[M],西安:西安电子科技大学出版社,2003.
[5] 张鹏.单片机原理及应用[M],成都:电子科技大学出版社,2004.
[6] 张立科.单片机典型模块设计实例导航[M],北京:人民邮电出版社,2000.
[7] 余锡存,曹国华.单片机原理及接口技术[M],西安:西安电子科技大学出版社,2010.
[8] 姚敏,郭庆.基于MCS-51系列单片机的GPS独立定位设备的研究[J],计算机与信息技术,2006,2(8):79-82.
[9 ]刘晓,伍小东,姚军光,等.基于单片机采集GPS数据系统的设计[J],青岛科技大学学报,2006,27(2):172-175
[10] Anna M.Murphy,Shinichi Tsutsumi,Perer Gaussen. A Low-Power,Low-Cost Bipolar GPS Receiver Chip[J], IEEE JOURNAL OF SOLID-STATE CIRCUITS. 1997,4 (4):587-591.
[11] 许进,周宁.GPS接收机的单片机通讯接口[J],电子器件,1999,22 (3):23-26.
[12] 索明何,饶运涛,邢海霞,等.基于单片机的液晶显示系统设计[J],科技广场,2008,7 (2):22-24.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/454089.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

HarmonyOS 发送系统通知 基础通知

harmonyos中 提供了 各种不同功能的通知 来满足我们不同的业务需求 本文呢 我们先来看 最基本的通知 它的场景和使用方式 最基本的 是 当应用被切入后台 而应用内部发生了一些变化 就可以用通知的方式 来提醒用户 就比如 我们微信 被切到了后台 而这时 别人发消息过来了 那么…

2014

1,写出计算Ack(m,n)的递归算法 #include<iostream> using namespace std; int A(int m,int n){if(m0){return n1;}else if(m>0&&n0){return A(m-1,1);}else{return A(m-1,A(m,n-1));} }int main(){int m,n;cout<<"please input two number"&l…

【深度学习笔记】7_7 AdaDelta算法

注&#xff1a;本文为《动手学深度学习》开源内容&#xff0c;部分标注了个人理解&#xff0c;仅为个人学习记录&#xff0c;无抄袭搬运意图 7.7 AdaDelta算法 除了RMSProp算法以外&#xff0c;另一个常用优化算法AdaDelta算法也针对AdaGrad算法在迭代后期可能较难找到有用解的…

分享一个国内可用的AIGC网站,PC/手机端通用|免费无限制,支持Claude3 Claude2

背景 AIGC作为一种基于人工智能技术的自然语言处理工具&#xff0c;近期的热度直接沸腾&#x1f30b;。 作为一个AI爱好者&#xff0c;翻遍了各大基于AIGC的网站&#xff0c;终于找到一个免费&#xff01;免登陆&#xff01;手机电脑通用&#xff01;国内可直接对话的AIGC&am…

Aigtek:衡量基准电压源的技术指标有哪些

基准电压源在电子领域中扮演着至关重要的角色&#xff0c;它为各种应用提供了稳定、可靠的电压。为了确保电路的准确性和可靠性&#xff0c;工程师需要关注和评估基准电压源的技术指标。衡量基准电压源的技术指标有很多&#xff0c;下面将详细介绍其中几个重要的指标。 首先是输…

全面解析unityplayer.dll丢失的5种解决方法,轻松搞定dll丢失

在使用Unity开发的游戏或应用过程中&#xff0c;如果发现系统提示“找不到unityplayer.dll”文件&#xff0c;可能会引发一系列的问题与不便。这将直接导致游戏或应用程序无法正常启动运行&#xff0c;因为unityplayer.dll是Unity引擎的核心组件之一&#xff0c;负责处理关键的…

基于Web的论文管理系统设计

目 录 目 录 III 摘 要 V 关键词 V Abstract VI Key Word VI 第一章 绪论 6 1.1系统设计背景 1 1.2系统设计目的与意义 1 1.3国内外现状 2 1.4本文结构 3 第二章 需求分析 3 2.1系统需求分析 4 2.2系统角色设计 4 第三章 系统开发技术 4 3.1 PHP语言简介和特点 5 3.2 Mysql数据…

免费视频背景素材下载

找免费视频素材、背景就上这6个网站&#xff0c;高质量&#xff0c;无版权可商用。 1、菜鸟图库 https://www.sucai999.com/video.html?vNTYwNDUx 菜鸟图库虽然是个设计素材网站&#xff0c;但除了设计类素材之外还有很多视频、音频、办公类等素材&#xff0c;视频素材就有上…

5款可以免费使用的 UI 设计软件

在我们分享五个有用的原型工具之前&#xff0c;完成原型并优化界面。这是 UI 设计师的任务。UI 设计软件对设计师来说非常重要。UI 设计工具的使用是否直接影响最终结果&#xff0c;然后有人会问&#xff1a;UI 界面设计用什么软件&#xff1f;一些 UI 设计师和对 UI 设计感兴趣…

使用Docker管理linux容器

文章目录 一、使用docker管理镜像 二、使用docker管理容器 一、使用docker管理镜像 1、安装操作系统&#xff0c;我安装的是centOS 7 &#xff0c;因为centos7有着非常丰富的软件仓库&#xff0c;方便后续安装与docker相关的软件。 2、初始化设置&#xff0c; 关闭防火墙 关闭…

反爬虫技术:如何保护你的网站数据安全

在数字化时代&#xff0c;数据的价值日益凸显&#xff0c;而爬虫技术则成为了获取这些数据的重要手段之一。然而&#xff0c;对于网站运营者来说&#xff0c;非法爬虫不仅会导致数据泄露&#xff0c;还可能给网站带来巨大的流量压力和安全隐患。因此&#xff0c;本文将探讨如何…

Windows kafka 简单集群搭建

Windows kafka 简单集群搭建 文章目录 Windows kafka 简单集群搭建1.环境说明2.Zookeeper集群搭建2.1 ZooKeeper下载2.2 ZooKeeper安装2.2.1 解压zookeeper-3.4.8.tar.gz2.2.2 进入conf目录下&#xff0c;复制zoo_sample.cfg为zoo.cfg2.2.3 修改zoo.cfg文件2.2.4 生成myid文件2…

《LeetCode热题100》笔记题解思路技巧优化_Part_1

《LeetCode热题100》笔记&题解&思路&技巧&优化_Part_1 &#x1f60d;&#x1f60d;&#x1f60d; 相知&#x1f64c;&#x1f64c;&#x1f64c; 相识&#x1f622;&#x1f622;&#x1f622; 开始刷题哈希&#x1f7e2;1. 两数之和&#x1f7e1;2. 字母异位词…

JavaScript进阶3之参数按值传递、call,apply,bind和new的实现、继承的多种方式

JavaScript基础 参数按值传递按值传递共享传递 call、apply、bind和new的实现this软绑定硬绑定 call的实现第一步第二步第三步 apply的实现bind的实现返回函数的模拟实现传参的模拟实现构造函数效果的模拟实现构造函数效果的优化实现 new的实现初步实现 继承的多种方式&优缺…

能耗数据采集网关在钢铁企业的应用-天拓四方

能耗数据采集网关是一种集成多种传感器和数据通信技术的智能化设备&#xff0c;它能够实现对生产现场各类能耗数据的实时采集、存储和传输。通过网关设备&#xff0c;企业可以构建一个全面、高效的能源管理系统&#xff0c;对生产过程中的能源消耗进行实时监控和精准控制&#…

pcl弧度角度换算:rad2deg,deg2rad

角度弧度换算公式: 代码及结果在:cmath 中cos sin等常用函数的坑(弧度角度换算)-CSDN博客 pcl也有自带的rad2deg,deg2rad: 头文件 #include<pcl/common/angles.h> 代码如下 #include <iostream> #include<pcl/common/angles.h> int main() {vector<…

全球首个 AI 超级工程师:拥有全栈技能,一个指令就能完成整个开发过程

全球首位AI软件工程师Devin是由初创公司Cognition推出的&#xff0c;它被认为是世界上第一个完全自主的AI软件工程师[2][15]。Devin具备强大的编程和软件开发能力&#xff0c;能够在多个方面协助或完全独立地完成软件开发任务[15]。它的核心能力包括自学新语言、开发迭代App、自…

SpringBoot自动配置原理(简单总结)

SpringBoot2和SpringBoot3的自动配置原理大致相同&#xff0c;只是存放我们导入的starter中的配置类的信息的文件由对应starter的jar包下的META-INF/spring.factories文件变成了META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件。 此外…

数据分析之一些Excel函数

数据分析之Excel的使用 SUM()求和SUMIF()单条件求和SUMIFS()多条件求和日期函数YEAR()提取年份MONTH()提取月份DAY()提取日DATE()函数 SUBTOTAL()求和IF()函数IF嵌套 VLOOKUP()搜索取值MATCH()返回行值或列值INDEX()定位取值 SUM()求和 SUM(number1,[number2],…) 对选中的区域…

websocket逆向案例

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、案例地址二、分析流程三、逆向参数四、webSocket 交互位置总结 前言 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;不提供…
最新文章