1、 学校代码: 学 号: Hefei University毕 业 论 文 ( 设 计 )BACHELOR DISSERTATION论文题目: 基于单片机的 GPS 定位信息显示系统设计 学位类别:_ _ _工 学 学 士_ _年级专业(班级):_ _作者姓名:_ _ _ _ _ _导师姓名:_ _ _ _ _ _完成时间:_ _ _ 年 月 日_ _ _ _ I基于单片机的 GPS 定位信息显示系统设计中 文 摘 要GPS 全球定位系统在实际生活中被广泛应用,是当今信息时代发展中的重要组成部分。因其具有性能好、精度高、应用广的特点,使其成为了迄今为止最好的定位导航系统。本论文详细介绍了一种基于单
2、片机、GPS 接收模块、12864 液晶显示模块等器件的 GPS 实时显示功能的实现。分别从硬件设计和软件设计等方面对其作了详细的阐述,并且结合硬件的特点研究了 MCS51 系列单片机如何与 GPS 接收模块实现串行通信,该系统是根据 GPS 模块数据输出基本原理设计而成的。它是一台体积小巧、携带方便、可以独立使用的全天候实时的定位导航设备。关键词: GPS;单片机;GPS 接收模块;12864 液晶屏 IIMicrocontroller-based GPS Positioning Information Display System Design ABSTRACTGPS Global Pos
3、itioning System is widely used in real life, is an important part in the development of todays information age. Because of its good performance, high accuracy, wide application, making it by far the best navigation and positioning system. This thesis is described in detail based on microcontroller G
4、PS receiver module, 12,864 LCD displays and other devices GPS real-time display function implementation. From hardware and software implementation gave a detailed exposition of the design, and combined with the hardware features of the MCS-51 series microcontroller GPS receiver module to achieve ser
5、ial communication, the system design is based on the basic principle of the GPS module data output . It is a compact, portable, and can be used independently, all-weather real-time positioning and navigation equipment. KEY WORD:GPS; microcontroller;GPS receiver module; 12864 LCDIII目 录第一章 绪论 11.1 课题背
6、景及意义 .11.2 论文主要内容 .2第二章 GPS 定位信息显示系统方案设计 .32.1 GPS 全球定位系统简介 32.2 GPS 信号接收方案选择 52.3 GPS 接收模块的研究 52.4 总体方案的设计 .6第三章 基于单片机的 GPS 硬件电路设计 83.1 基于单片机的 GPS 硬件电路总体结构 83.2 基于单片机的 GPS 定位信息显示系统设计硬件电路简介 83.2.1 STC89C52 简介 83.2.2 SiRF Star II GPS 信号接收模块 123.2.3 12864 液晶显示模块介绍 133.3 基于单片机的 GPS 硬件连接介绍 15第四章 基于单片机的
7、GPS 软件设计 .174.1 NMEA-0183 数据格式 174.1.1 输入语句 174.1.2 输出语句 184.2 基于单片机的 GPS 定位系统软件开发环境Keil uVision2 204.2.1 8051 开发工具 204.2.2 uVision2 集成开发环境 .204.2.3 编辑器和调试器 214.2.4 测试程序 224.2.5 Keil C 编译步骤 234.3 基于单片机的 GPS 软件设计思路 254.4 模块软件设计 .264.4.1 液晶模块初始化模块 264.4.2 GPS 数据接收模块 .28第五章 系统调试与实验结果 .305.1 硬件调试 .305.2
8、 软件调试 .305.3 实验结果 .315.4 实验结果分析 .32第六章 总结 .33致谢 34参考文献 35附录 361第一章 绪论1.1 课题背景及意义1978 年 2 月 22 日第一颗 GPS 试验卫星的入轨运行,开创了以导航卫星为动态已知点的无线电导航定位的新时代。GPS 卫星所发送的导航定位信号,是一种可供无数用户共享的空间信息资源 1。陆地、海洋和空间的广大用户,只要持有一种能够接收、跟踪、变换和测量 GPS 信号的接收机,就可以全天时、全天候和全球性的测量运动载体的七维状态参数和三维状态参数。其用途之广,影响之大,是其他无线电接收装置都望尘莫及的。不仅如此,GPS 卫星的入
9、轨运行,还为大地测量学、地球动力学、地球物理学、天体力学、载人航天学、全球海洋学和全球气象学提供了一种高精度、全天时、全天候的测量新技术。纵观现状,GPS 技术有如下用途。GPS 技术的陆地应用GPS 技术在陆地上的开发应用可以体现在许多方面,如:各种车辆的行驶状态监控;旅游者或旅游车的景点导游;应急车辆的快速引导行驶;高精度时间比对和频率控制;大气物理观测;地球物理资源勘探;工程建设的施工放样测量;大型建筑和煤气田的沉降检测;板内运动状态和地壳形变测量;陆地以及海洋大地测量基准的测定;工程、区域、国家等各种类型大地测量控制网的测量和建设等。GPS 技术的海洋应用GPS 技术在海洋方面有着极其
10、重要的作用,比如:远洋船舶的最佳航线测定;远洋船队在途中航行的实时调度和监测;内河船只的实时调度和自主导航测量;海洋救援的搜索和定点测量;远洋渔船的结队航行和作业调度;海洋油气平台的就位和复位测定;海底沉船位置的精确探测;海底管道铺设测量;海岸地球物理勘探;水文测量;海底大地测量控制网的布测;海底地形的精细测量;船运货物失窃报警;净化海洋;海洋纠纷或海损事故的定点测定;港口交通管制;海洋灾难检测等。GPS 技术的航空应用GPS 技术在航空方面的应用主要体现在:民航飞机的在途自主导航;飞机精密着陆;飞机空中加油控制;飞机编队飞行的安全保护;航空援救的搜索和定点测量;机载地球物理勘探;飞机探测灾区
11、大小和标定测量;摄影和遥感飞机的七维状态参数和三维姿态参数测量等。GPS 技术的航天应用GPS 技术在航天方面同样也有着很重要的作用:低轨道通讯卫星群的实时轨道测2量;卫星入轨和卫星回收的实时点位测量;载入航天器的在轨防护探测;星载 GPS 的遮掩天体大小和大气参数测量;对地观测卫星的七维状态参数和三维状态参数测量 2。由此可见,GPS 技术已经延伸到各个领域的方方面面,但是要完成以上所述的各种用途,最基本的就是要具备能够接收 GPS 信号并且能够调制输出的设备,而这种设备最基本的功能就是能够显示当时所处地点的经纬度以及 UTC 标准时间。现在世面上已经有许多基于 GPS 接收模块所开发的产品
12、,如 GPS 手持机、车载 GPS 导航仪等等,虽然其功能强大,但价格相对而言比较昂贵,而且对于普通应用没有必要。所以基于这种情况下,本次设计针对普通用户使用 GPS 的切实需要,设计并制作基于单片机的GPS 定位信息显示系统。1.2 论文主要内容本次设计的主要任务是在 GPS 和单片机的理论知识基础上,选择合适的单片机提取 GPS 接收模块接收的数据并且由液晶显示模块显示接收的数据。在此次设计过程中,主要熟悉所选用的 GPS 接收模块的性能指标,学习 NMEA 封包并懂得如何使用 NMEA 输出命令,结合单片机的相关知识能实现对 GPS 接收到的卫星信息进行提取,并在液晶显示器上选择性的显示
13、需要的数据。3第二章 GPS 定位信息显示系统方案设计2.1 GPS 全球定位系统简介 全球定位系统(GPS)是本世纪 70 年代由美国陆海空三军联合研制的新一代空间卫星导航定位系统。其主要目的是为陆、海、空三大领域提供实时、全天候和全球性的导航服务,并用于情报收集、核爆监测和应急通讯等一些军事目的,是美国独霸全球战略的重要组成部分。全球定位系统由三部分构成:(1) 地面控制部分,由主控站(负责管理、协调整个地面控制系统的工作)、地面天线(在主控站的控制下,向卫星注入寻电文)、监测站(数据自动收集中心)和通讯辅助系统(数据传输)组成。(2) 空间部分,由 24 颗卫星组成,分布在 6 个轨道平
14、面上。(3) 用户装置部分,主要由 GPS 接收机和卫星天线组成 3。这三部分的相互关系如图 2.1 所示。图 2.1 GPS 全球定位系统组成1978 年 2 月 22 日,第一颗 GPS 试验卫星的发射成功,标志着工程研制阶段的开始。1989 年 2 月 14 日,第一颗 GPS 工作卫星的发射成功,宣告 GPS 系统进入了生产作业阶段。GPS 系统经过 16 年的发射试验卫星,到开发 GPS 信号应用,进而发射工作卫星,终于在 1994 年 3 月建成了信号覆盖率达到了 98的 GPS 工作星座,它由 24颗 Block2 卫星卫星组成。Block2 卫星如图 2.2 所示。4图 2.2
15、 Block2 卫星图全球定位系统有很多特点,其主要特点如下:(1) 全天候;(2) 全球覆盖;(3) 三维定速定时高精度;(4) 快速省时高效率;(5) 应用广泛多功能。24 颗 GPS 卫星在离地面 2 万公里的高空上,以 12 小时的周期环绕地球运行,使得在任意时刻,在地面上的任意一点都可以同时接收到 6 颗以上 GPS 卫星的定位信息。只要有 4 颗卫星的定位信息,GPS 接收机就能向用户提供三维坐标、时间及移动速度等信息参数。由于卫星的位置精确可知,在 GPS 观测中,我们可得到卫星到接收设备的距离,根据三维坐标中的距离公式,利用 3 颗卫星,就可以组成 3 个方程式,解出观测点的位
16、置(X,Y,Z)。考虑到卫星的时钟与接收机时钟之间的误差,实际上有 4 个未知数,X、Y、Z 和钟差,因而需要引入第 4 颗卫星,形成 4 个方程式进行求解,从而得到观测点的经纬度和高程。 由于卫星运行轨道、卫星时钟存在误差,大气对流层、电离层对信号的影响,以及人为的 SA 保护政策,使得民用 GPS 的定位精度只有 100 米。美国政府宣布从 2000年起,在保证美国国家安全不受威胁的前提下,取消 SA 政策,GPS 民用信号精度在5全球范围内得到改善,利用 C/A 码进行单点定位的精度由 100 米提高到 20 米。为了达到更高的定位精度,往往还采用了差分 GPS(DGPS)技术,建立基准
17、站(差分台)进行GPS 观测,利用已知的基准站精确坐标,与观测值进行比较,从而得出一修正数,并对外发布。接收机收到该修正数后,与自身的观测值进行比较,消去大部分误差,得到一个比较准确的位置。实验表明,利用差分 GPS,定位精度可提高到 5 米。2.2 GPS 信号接收方案选择要实现在液晶显示器上显示出接收到的 GPS 数据信息,首先要实现 GPS 信号的接收。在接收 GPS 信号方案上可以有两种选择。第一种方案是选择 GPS 接收芯片然后再根据芯片设计标准,设计外围电路和安装天线等,选择这个方案的优点是可以掌握到 GPS 接收部分的电路设计技术,但是这个方案的缺点也是显而易见的,首先实现的难度
18、较大,不容易成功,其次由于 GPS 接收芯片一般都是厂商直接供货,单独采购价格会很高。第二种方案是选择成品的 GPS 接收模块,采用这个方案的优点是由于现阶段 GPS接收模块的制造技术已经相当成熟,性能稳定并且使用非常方便,定位成功后直接就可以通过模块输出 GPS 相关信息。并且在经过大规模的商业化生产后价格已经能被我们所接受,这样的模块在市面上也能够容易的购买到。从上面的分析可以知道,选择 GPS 接收模块就能够很好的作为本次设计接收 GPS定位信息的解决方案,因此我选择第二种方案来完成本次设计。2.3 GPS 接收模块的研究GPS 接收模块是接收机的关键部分,而且型号很多,功能各异,一般组
19、成结构主要由低噪声下变频器、并行信号通道、CPU、储存器等组成。GPS 接收模块通过它的接收天线获取卫星信号,经过变频、放大、滤波、相关、混频等一系列处理,可以实现对天线视界内卫星的跟踪、锁定和测量。在获取了卫星的位置信息和测算出卫星信号传播时间之后,即可计算出天线位置。用户通过输入输出接口,与 GPS 接收模块进行信息交换,实现功能。GPS 接收模块内部结构如图 2.3所示。6图 2.3 GPS 接收模块内部结构2.4 总体方案的设计本次设计要求通过单片机控制 GPS 器件实现定位信息显示功能。在这里使用常见的 MCS-51 型单片机作为处理器,利用 MCS-51 单片机的串行接口接收 Si
20、RF Star II GPS 信号接收模块输出的数据信号,并通过软件方法筛选出其中有用的定位数据,最后通过单片机的并行接口输出至液晶显示模块显示的方案。该 GPS 定位信息显示系统硬件部分主要由以下几个部分组成: (1) 接收部分:以 SiRF Star II GPS 接收模块为核心的 GPS 接收机; (2) 控制电路:由 51 单片机作为微处理器控制 GPS 信号; (3) 显示部分: 12864LCD 液晶显示模块; (4) 电源电路部分 :用以提供系统工作时所必须的电。 单片机系统:本次设计使用 51 单片机作为微处理器,控制 GPS 数据的读取和传输过程。利用其串行接口接收 SiRF
21、 Star II GPS 接收模块输出的 NMEA-0183 语句数据,并将接收到的数据经过筛选和处理后发送到 12864 液晶显示器显示。 外围电路:外围电路一部分是由 GPS 接收器件及其辅助电路组成,一部分是 LCD液晶显示模块的电源电路和显示电路。SiRF Star II GPS 接收模块主要由变频器、信号通道、存储器、中央处理器和输入输出接口构成。它接收天线获取的卫星信号,经过变频、放大、滤波、相关、混频等一系列处理,可以实现对天线视界内卫星的跟踪、锁定和测量定位。 单片机控制程序:编写程序,实现单片机控制系统的初始化,控制 GPS 器件完成7数据的采集,进行相应的信号处理,并通过单
22、片机接口输出至液晶显示模块显示必要的数据。由此可知:GPS 接收模块将接收到的 GPS 卫星导航电文调制解码,转换为标准格式后,送给单片机,当单片机接收到 GPS 发送过来的导航电文后,经过片内程序的识别筛选,将筛选出来的导航电文送到显示模块,并且最后通过液晶显示器按照要求显示出来。8第三章 基于单片机的 GPS 硬件电路设计3.1 基于单片机的 GPS 硬件电路总体结构根据总体设计方案,该基于单片机的 GPS 硬件电路设计主要由 GPS 信号接收部分(SiRF Star II GPS 信号接收模块) 、控制芯片(STC89C52 单片机) 、显示部分(12864LCD 液晶显示模块)这几部分
23、构成。其大体结构框图如图 3.1 所示。图 3.1 基于单片机的 GPS 硬件总体结构框图3.2 基于单片机的 GPS 定位信息显示系统设计硬件电路简介3.2.1 STC89C52 简介STC89C52 是一个低电压,高性能 CMOS 8 位单片机,采用 40 引脚双列直插封装方式。该器件采用 ATMEL 高密度非易失存储器制造技术制造,与工业标准的 MCS-51指令集和输出管脚相兼容 4。STC89C52 引脚如图 3.2 所示:9图 3.2 STC89C52 引脚图其引脚说明如下:(1) 主电源引脚(2 根):VCC(Pin40):电源输入,接5V 电源;GND(Pin20):接地线。(2
24、) 外接晶振引脚(2 根):XTAL1(Pin19):片内振荡电路的输入端;XTAL2(Pin18):片内振荡电路的输出端。(3) 控制引脚(4 根):RST (Pin9):复位引脚,引脚上出现 2 个机器周期的高电平将使单片机复位;ALE/PROG(Pin30):地址锁存允许信号;PSEN(Pin29):外部存储器读选通信号;EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。(4) 可编程输入/输出引脚(32 根):10STC89C52 单片机有 4 组 8 位的可编程 I/O 口,分别为 P0、P1 、P2、P3 口,
25、每个口有 8 根引脚,共 32 根。P0 口(Pin39Pin32):8 位双向 I/O 口线,名称为 P0.0P0.7;P1 口(Pin1Pin8):8 位准双向 I/O 口线,名称为 P1.0P1.7;P2 口(Pin21Pin28):8 位准双向 I/O 口线,名称为 P2.0P2.7;P3 口(Pin10Pin17):8 位准双向 I/O 口线,名称为 P3.0P3.7。STC89C52 主要功能如表 3.1 所示。表 3.1 STC89C52 主要功能主要功能特性兼容 MCS51 指令系统 8K 可反复擦写 Flash ROM32 个双向 I/O 口 256x8bit 内部 RAM3
26、 个 16 位可编程定时/计数器中断 时钟频率 0-24MHz2 个串行中断 可编程 UART 串行通道2 个外部中断源 共 6 个中断源2 个读写中断口线 3 级加密位低功耗空闲和掉电模式 软件设置睡眠和唤醒功能(1) 时钟电路STC89C52 内部有一个用于构成振荡器的高增益反相放大器,引脚 RXD 和 TXD分别是此放大器的输入端和输出端。时钟可以由内部方式产生或外部方式产生。内部方式的时钟电路如图 3.3(a) 所示,在 RXD 和 TXD 引脚上外接定时元件,内部振荡器就产生自激振荡。定时元件通常采用石英晶体和电容组成的并联谐振回路。晶体振荡频率可以在 1.212MHz 之间选择,电
27、容值在 5 30pF 之间选择,电容值的大小可对频率起微调的作用 5。外部方式的时钟电路如图 3.3(b)所示,RXD 接地,TXD 接外部振荡器。对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于 12MHz 的方波信号。片内时钟发生器把振荡频率两分频,产生一个两相时钟 P1 和 P2,供单片机使用。11(a)内部方式时钟电路 (b)外部方式时钟电路图 3.3 时钟电路(2) 复位复位是单片机的初始化操作。其主要功能是把 PC 初始化为 0000H,使单片机从0000H 单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,
28、也需按复位键重新启动 6。除 PC 之外,复位操作还对其他一些寄存器有影响,它们的复位状态如表 3.2 所示。表 3.2 一些寄存器的复位状态寄存器 复位状态 寄存器 复位状态PC 0000H TCON 00HACC 00H TL0 00HPSW 00H TH0 00HSP 07H TL1 00HDPTR 0000H TH1 00HP0-P3 FFH SCON 00HIP XX000000B SBUF 不定IE 0X000000B PCON 0XXX0000BTMOD 00HRST 引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续 24 个振荡周期( 即二个机器周期)以上。若使用
29、颇率为 6MHz 的晶振,则复位信号持续时间应超过 4us 才能完成复位操作。整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的 S5P2 时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号 7。123.2.2 SiRF Star II GPS 信号接收模块该设计中 GPS 信号接收模块所选用的是 SiRF Star II GPS 接收模块,该模块是由美国瑟孚科技有限公司所生产。主要使用到的引脚如图 3.4 所示。该模块具有 12 通道并行接收能力,所接收的 GPS 信号属于民用频段的 L1 信号(1575.4
30、2MHz ) ,在没有 SA干扰的情况下平均定位误差为 10 米,动态速度误差为 0.1 米/秒,信号灵敏度达到142dBm,冷启动定位时间为 42 秒,热启动时间为 38 秒,重新定位时间仅仅需要 8秒。图 3.4 SiRF Star II 引脚图GPS 数据输出格式为标准的 NMEA0183 标准,采集地理信息的更新速率为每两秒一次,地图坐标系为 WGS84 坐标系 8。该模块天线采用的是体积小、可靠性高、灵敏度高的微带天线,该天线封装在模块内部,更进一步的提高了整个模块的可靠性。该模块实物图如图 3.5 所示。13图 3.5 GPS 接收模块它的工作电压为 2.7V3.3V,工作电流仅为
31、 75mA,它由 GSP2e 数字 IC、GRF2i射频 IC 和 GSW2 模块化软件组成。GSP2e 主要集成了一个增强型 GPS 内核、一个 50MHz 的 ARM7 CPU、独立的内部总线和外部总线、1Mb EDO DRAM、高精度实时时钟、GPS 接收机外部设备和 2 个UART。GRF2i 主要由片内压控振荡器和基准振荡器、集成中频滤波器(IF)、集成 LNA 和数字接口等组成。GSW2 模块化软件很容易集成到现有系统中,并提供功能强大的开发环境。SiRF Star II 除增加了中央处理器和卫星信号追踪引擎, SiRF Star II 在芯片组中集成了兆位存储器(DRAM) ,
32、这个是其它同类产品的八倍。这使其不仅可执行各项 GPS 功能,还能为用户应用提供额外存储。将 IF 滤波器集成到射频芯片内而无需新增外部滤波器, 从而进一步降低了元件的数目并增加了可靠性。该芯片的主要特征如表 3.3 所示。表 3.3 SiRF Star II 主要特征SiRF Star II 特点 功 能 用 处信号捕捉 从有遮挡地区走出时快速重捕卫星信号在遮挡环境下提供更多的定位结果信号跟踪 跟踪弱信号比正常信号信噪比低 20dB改善信号可利用性,在信号衰减严重的地方也可定位单卫星定位 在短暂的仅能收到一颗卫星的情况下定位在信号阻塞的地区也可定位,适于车载 GPS多级消除误差 减小 GPS
33、 反射径带来的误差使 GPS 定位准确度提高到5m差分 GPS 周期(大约 30 分钟)更新星历和修正时间功率几乎变成了以前的20%,增加使用时间功率分配 1s 内有 800ms 的时间接收机不工作,仅仅有 200ms的时间用于重捕、跟踪、定位工作在不想频繁给出定位结果的情况下,节省功耗143.2.3 12864 液晶显示模块介绍(1) 液晶显示模块概述 12864 液晶显示模块,可显示汉字及图形,内置 8192 个中文汉字(16X16 点阵) 、128 个字符(8X16 点阵)及 64X256 点阵显示 RAM(GDRAM) 。12864 液晶显示模块引脚如图 3.6 所示。图 3.6 12
34、864 液晶显示电路图主要技术参数和显示特性: 电源:VDD 3.3V5V( 内置升压电路,无需负压 ); 显示内容:128 列 64 行; 显示颜色:黄绿; 显示角度:6:00 钟直视;LCD 类型:STN; 与 MCU 接口:8 位或 4 位并行/3 位串行;配置 LED 背光; 多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等;逻辑工作电压(VDD):4.55.5V; 电源地(GND):0V; 15工作温度(Ta):060( 常温) / -2075(宽温) 9。(2) 12864 有 20 接口引脚,引脚说明如表 3.4 所示。表 3.4 12864 引脚说明引脚序号 名称 说明
35、1 CS1# U1 片选。2 CS2# U2 片选。3 VSS 电源地。4 VDD 电源输入(+5V)。5 VO 液晶显示对比度调节。6 DI 数据输入。7 R/W 读写选择。R/W=1,读状态;R/W=0 ,写状态。8 E 读写使能。9-16 D0-D7 数据总线。17 RST 液晶模组复位。RST#=L ,复位。18 VEE 液晶驱动电源。19 VLED+ LED 电源正( 5.0V)。20 VLED- LED 电源地。3.3 基于单片机的 GPS 硬件连接介绍整个硬件设计要求GPS接收模块输出的信号通过单片机STC89C52、GPS信号接收模块、12864液晶显示模块、电源相连接实现系统
36、功能。硬件电路设计如图3.7所示。16图3.7 GPS硬件电路图17第四章 基于单片机的 GPS 软件设计4.1 NMEA-0183 数据格式NMEA0183 是美国国家海洋电子协会(National Marine Electronics Association)为海用电子设备制定的标准格式。它是在过去海用电子设备的标准格式 0180 和 0182的基础上,增加了 GPS 接收机输出的内容而完成的。目前广泛采用的是 Ver 2.00 版本。现在除少数早期的 GPS 接收机外,几乎所有的 GPS 接收机均采用了这一格式。此协议是为了在不同的 GPS 导航设备中建立统一的 RTCM 标准。这种格式
37、的广泛使用使得GPS 接收模块的通用化和互换性大大提高。这种格式所输出的语句采用的是 ASCII 字符码,包含了纬度、经度、速度、日期、时间、航向、以及卫星信号情况等信息。其 串 行 通 信 默 认 参 数 为 : 波 特 率=4800bps, 数 据 位 =8bit, 开 始 位 =1bit, 停 止 位 =1bit, 无 奇 偶 校 验 。帧 格 式 形 如 : $aaccc,ddd,ddd,ddd*hh (1) “$”: 帧 命 令 起 始 位 ; (2) aaccc: 地 址 域 , 前 两 位 为 识 别 符 , 后 三 位 为 语 句 名 ; (3) dddddd: 数 据 ; (
38、4) “*”: 校 验 和 前 缀 ; (5) hh:校 验 和 ( check sum) , $与 *之 间 所 有 字 符 ASCII 码 的 校 验 和 ( 各 字 节 做异 或 运 算 , 得 到 校 验 和 后 , 再 转 换 16 进 制 格 式 的 ASCII 字 符 。 ) (6) :CR( Carriage Return) + LF( Line Feed) 帧 结 束 , 回 车 和 换行 。4.1.1 输入语句NMEA-0183 输 入 语 句 是 指 GPS 接 收 模 块 可 以 接 收 的 语 句 。 输 入 语 句 包 括 初 始位 置 , 时 间 , 秒 脉 冲
39、状 态 , 差 分 模 式 , NMEA 输 出 间 隔 等 设 置 信 息 。 这 些 语 句 是GPS 接 收 机 可 以 接 受 的 语 句 。 一 般 情 况 下 初 始 化 信 息 语 句 为 PGRMI。 GPRMI, , , , , , , *hh18纬 度 ddmm.mmmm( 度 分 ) 格 式 ( 前 面 的 0 也 将 被 传 输 ) ; 纬 度 半 球 N( 北 半 球 ) 或 S( 南 半 球 ) ; 经 度 dddmm.mmmm( 度 分 ) 格 式 ( 前 面 的 0 也 将 被 传 输 ) ; 经 度 半 球 E( 东 经 ) 或 W( 西 经 ) ; UTC
40、日 期 , ddmmyy( 日 月 年 ) 格 式 ; UTC 时 间 , hhmmss( 时 分 秒 ) 格 式 ; 接 收 机 命 令 , A=自 动 定 位 , R=机 器 重 新 启 动 。4.1.2 输出语句SiRF Star II 的 输 出 语 句 有 十 余 种 ,其 主 要 语 句 有 GPALM( 历 书 数 据 ) 、GPGGA(GPS 标 准 数 据 ,定 位 数 据 )、 GPGSV( 卫 星 状 态 ) 、GPGSA、 GPRMC、 GPVTG、 PGRME、 PGRMF、 PGRMT、 PGRMV( GARMIN定 义 的 语 句 ,3D 速 度 信 息 ) 、
41、LCGLL、 LCVTG( NMEA 标 准 语 句 ) 等 。 可 通 过GPS 串 口 调 试 软 件 发 送 相 应 的 命 令 语 句 给 SiRF Star II 芯片, 此 后 芯 片 会 根 据 命 令语 句 设 置 参 数 。几种常用的数据格式如下:(1) GPS 标准数据(G PGGA) , 其 结 构 为 :$GPGGA,*UTC 时 间 , 格 式 为 hhmmss.sss;纬 度 , 格 式 为 ddmm.mmmm( 前 导 位 数 不 足 则 补 0) ;纬 度 半 球 , N 或 S( 北 纬 或 南 纬 ) ;经 度 , 格 式 为 dddmm.mmmm( 前 导
42、 位 数 不 足 则 补 0) ;经 度 半 球 , E 或 W( 东 经 或 西 经 ) ;定 位 质 量 指 示 , 0=定 位 无 效 , 1=定 位 有 效 ;使 用 卫 星 数 量 , 从 00 到 12( 前 导 位 数 不 足 则 补 0) ;19水 平 精 确 度 , 0.5 到 99.9;天 线 离 海 平 面 的 高 度 , -9999.9 到 9999.9 米 ;高 度 单 位 , M 表 示 单 位 米 ;大 地 椭 球 面 相 对 海 平 面 的 高 度 , -999.9 到 9999.9 米 ;高 度 单 位 , M 表 示 单 位 米 ; 差 分 GPS 数 据
43、期 限 ( RTCM SC-104) , 最 后 设 立 RTCM 传 送 的 秒 数 量 ;差 分 参 考 基 站 标 号 , 从 0000 到 1023( 前 导 位 数 不 足 则 补 0) ; 校 验 和 。( 2) 可 视 卫 星 状 态 输 出 语 句 ( GPGSV) , 其 结 构 为 :$GPGSV,.,* 总 的 GSV 语 句 电 文 数 ; 当 前 GSV 语 句 号 ; 可 视 卫 星 总 数 , 00 至 12; 卫 星 编 号 , 01 至 32; 卫 星 仰 角 , 00 至 90 度 ; 卫 星 方 位 角 , 000 至 359 度 ,实 际 值 ; 信 噪
44、 比 ( C/No) , 00 至 99dB; 无 表 未 接 收 到 讯 号 ; 校 验 和 。(3) 推荐最小 GPS/TRANSIT 数据(GPRMC ) ,其结构为:$GPRMC,,*hh其中“GP”为交谈识别符;“RMC ”为语句识别符;“hh”为校验和,其代表了“$”与“*”之间所有字符的按位异或值(不包括这两个字符) 。$GPRMC 语句数据区的内容为:定位点的协调世界时间(UTC) ,hhmmss(时分秒)格式;定位状态,A有效定位,V无效定位;20定位点纬度,ddmm.mmmm(度分)格式;纬度半球,N(北半球)或 S(南半球) ;定位点经度,dddmm.mmmm(度分)格式
45、;经度半球,E(东经)或 W(西经) ;地面速率,000.0999.9 节;地面航向,000.0359.9 度;UTC 日期,ddmmyy(日月年)格式;磁偏角,000.0180 度;磁偏角方向,E(东)或 W(西) ;工作模式:A=自主, D=差分,E=评估,N= 数据无效 10。4.2 基于单片机的 GPS 定位系统软件开发环境Keil uVision24.2.1 8051 开发工具Keil uVision2 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开发系统,使用接近于传统 C 语言的语法来开发,与汇编相比,C 语言在功能上、结构性、可读性、可维护
46、性上有明显的优势,它还能嵌入汇编,您可以在关键的位置嵌入。KeilC51 标准 C 编译器为 8051 微控制器的软件开发提供了 C 语言环境,同时保留了汇编代码高效,快速的特点。C51 编译器功能的不断增强,使我们可以更加贴近 CPU 本身及其他的衍生品。C51 已被完全集成到 uVision2 的集成开发环境中,这个集成开发环境包括:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision2 IDE 可为它们提供单一而灵活的开发环境 11。Keil uVision2与同类开发环境具有以下优点:(1) 真正的集成调试环境 ,集成了编缉器、编译器、调试器;(2) 众多强大软硬件调试手段
47、,包括逻辑分析仪、跟踪器、逻辑笔、波形发生器、影子存储器、记时器、程序时效分析、 数据时效分析、硬件测试仪、事件触发器;(3) 所有类型的单片机集成在一个调试环境下,支持汇编、C、PL/M源程序混合调试;(4) 支持软件模拟,支持项目管理;21(5) 支持点屏功能 ,直接点击屏幕就可以观察变量的值,方便快捷;(6) 功能强大的观察窗口 ,支持所有的数据类型;(7) 树状结构显示,一目了然;(8) 在线直接修改、编译、调试源程序,错误指令定位 12。4.2.2 uVision2 集成开发环境(1) 项目管理工程(project)是由源文件、开发工具选项以及编程说明三部分组成的。一个单一的uVis
48、ion2工程能够产生一个或多个目标程序。产生目标程序的源文件构成“组”。开发工具选项可以对应目标,组或单个文件。uVision2包含一个器件数据库(device database),可以自动设置汇编器、编译器、连接定位器及调试器选项,来满足用户充分利用特定 微控制器的要求。此数据库包含:片上存储器和外围设备的信息,扩展数据指针(extra data pointer )或者加速器(mathaccelerator)的特性。 uVision2可以为片外存储器产生必要的连接选项:确定起始地址和规模 13。 (2) 集成功能uVision2 的强大功能有助于用户按期完工。 集成源极浏览器利用符号数据库使
49、用户可以快速浏览源文件。用详细的符号信息来优化用户变数存储器;文件寻找功能:在特定文件中执行全局文件搜索; 工具菜单:允许在 V2 集成开发环境下启动用户功能; 可配置 SVCS 接口:提供对版本控制系统的入口; PC LINT 接口:对应用程序代码进行深层语法分析; Infineon 的 EasyCase 接口:集成块集代码产生; Infineon的DAVE 功能:协助用户的 CPU和外部程序。DAVE工程可被直接输入uVision2。4.2.3 编辑器和调试器(1) 源代码编辑器 22uVision2 编辑器包含了所有用户熟悉的特性。彩色语法显像和文件辩识都对 C 源代码进行和优化。可以在编辑器内调