基于单片机的GPS定位系统设计-毕业论文.docx
基于单片机的GPS定位系统设计摘 要GPS是英文Global Positioning System(全球定位系统)的简称。由于GPS技术所具有的全天候、高精度和自动测量的特点,作为先进的测量手段和新的生产力,已经融入了国民经济建设、国防建设和社会发展的各个应用领域。本次设计由于采用GPS模块(M-87),基于单片机AT89C51来实现GPS定位信息显示系统。所以本设计详细介绍了一种成本很低,操作简单的经济型GPS定位系统的设计方案。本方案基于51单片机,M-87,12864液晶显示屏的等硬件,应用C语言,可以完成GPS的信息提取,可以显示时间、经度、纬度等其他信息,使用基本的键盘控制操作等。这种设计可以精度高、体积小、连续导航。本设计主要是应用于个人驾车外出旅游,出租车定位等领域。关键词:单片机,HOLUX M-87,LCD Design of GPS positioning system based on single-chip computerABSTRACTAs GPS technology with around-the-clock, high accuracy automatic measurement and characteristics as advanced measurement methods and new productive forces, are integrated into the national economic construction and national defense construction and social development in various areas of application.The design due to the use of GPS module (M-87), AT89C51 based on single-chip microcomputer to achieve GPS positioning information display system. So this design details to a low cost, easy affordable GPS positioning system design. This scenario is based on 51 single chip, M-87,12864 LCD screen, hardware, c language, you can complete the GPS information extraction, you can display the time, other information such as longitude, latitude, using basic keyboard control of operations. This design makes high precision and small size, continuous navigation. This design is applied to individual car travel, taxi location and so on.KEY WORDS: SCM, HOLUX M-87,LCD8目录前言1第1章 GPS和相关软件的简介21.1 GPS简介21.1.1 GPS定义21.1.2 GPS定位基本原理21.1.3 GPS特点31.2 HULUX M-87简介41.2.1 HULUX M-87 参数41.2.2 通信处理41.2.3 M-87协议5第2章 硬件电路设计82.1 设计方案的选择82.1.1 方案一82.1.2 方案二82.2 AT89C5192.2.1 AT89C51简介92.2.2 管脚说明102.2.3 AT89C51芯片擦除112.3 单片机与GPS接口电路122.3.1单片机与GPS的接口电路122.3.2 GPS模块管脚说明122.3.3 键盘部分132.4 LCD液晶显示器132.4.1 LCD12864概述132.4.2基本特性142.4.3模块接口说明142.5 电源部分16第3章 系统软件设计183.1系统软件概述183.2软件程序的编写183.2.1 初始化模块193.2.2 数据接收处理模块19第4章 系统调试214.1 硬件调试214.2 软件调试214.3 系统测试结果22结 论24谢 辞25参考文献26附录26外文资料翻译28前言针对中国交通现状而言,我想大家都不言而喻。其实我更想说的是上班不易,下班难,当然我这里说上班不易是你必须提前一个小时左右的时间去赶车或开车,下班时,你到家可能很困难。因为堵车在这个时段是很常见的,特别是那些开私家车的人对这种情况更加烦恼,不知道改怎么做,我想他们想的更多的是还是等政府制定政策,在开几条道路吧!在这之前还是默认接受这样的情况。我想这样的情况我们大可不必这样默认接受,我本次设计就是有这方面的启发。面临如今交通现状,特别是私家车日益增多,对交通便利的压力很大,GPS车载定位监控对于缓解交通拥堵现象还是很有一定的作用,这个定位监控能及时的把自己的位置显示出来,及时找到一条交通不拥堵的道路,让自己的能准时的去工作,准时的到家等等:当然这个设计不仅仅只有这样一些的特点,他们对于自己外出旅行业有很大的帮助,他能准确的识别道路,识别自己的方位等很多方面。本文首先介绍了GPS系统由来及其发展、基本概念、M-87的工作原理通信处理和M-87协议。然后确定最佳的了设计方案 及其对AT89C51、NMEA-0183 通讯协议、液晶显示器进行了详细论述。并且设置了单片机与GPS接口电路、单片机与液晶显示器的电路。通过C语言实现了 GPS 信号的提取、显示及基本的键盘控制操作等。经过实践测试,这种接收机可以达到基本 GPS信息接收以及显示,可以做到方便灵活、优质价廉、精度高、连续导航、抗干扰能力强,并可广泛应用于个人野外旅游探险、出租汽车定位及海上作业等领域。 第1章 GPS和相关软件的简介1.1 GPS简介1.1.1 GPS定义利用GPS定位卫星,在全球范围内实时进行定位、导航的系统,称为全球卫星定位系统,简称GPS。GPS的空间部分是由24颗卫星组成(21颗工作卫星;3颗备用卫星),它位于距地表20200km的上空,均匀分布在6个轨道面上(每个轨道面4颗),轨道倾角为55°。卫星的分布使得在全球任何地方、任何时间都可观测到4颗以上的卫星,并能在卫星中预存导航信息,GPS的卫星因为大气摩擦等问题;随着时间的推移,导航精度会逐渐降低。图1.1 GPS卫星空间分布示意图1.1.2 GPS定位基本原理GPS定位的基本原理是根据高速运动的卫星瞬间位置作为已知的起算数据,采用空间距离后方交会的方法,确定待测点的位置。如图所示,假设t时刻在地面待测点上安置GPS接收机,可以测定GPS信号到达接收机的时间t,再加上接收机所接收到的卫星星历等其它数据。1.1.3 GPS特点(1)全球全天候定位 GPS卫星的数目较多,且分布均匀,保证了地球上任何地方任何时间至少可以同时观测到4颗GPS卫星,确保实现全球全天候连续的导航定位服务(除打雷闪电不宜观测外)。 (2)定位精度高 应用实践已经证明,GPS相对定位精度在50km以内可达10-6m,100-500km可达10-7m,1000km可达10-9m。在300-1500m工程精密定位中,1小时以上观测时解其平面位置误差小于1mm,与ME-5000电磁波测距仪测定的边长比较,其边长较差最大为0.5mm,校差中误差为0.3mm。 实时单点定位(用于导航):P码12m ;C/A码510m。 静态相对定位:50km之内误差为几mm+(12ppm*D);50km以上可达0.10.01ppm。 实时伪距差分(RTD):精度达分米级。 实时相位差分(RTK):精度达12cm。 (3)观测时间短 随着GPS系统的不断完善,软件的不断更新,目前,20km以内相对静态定位,仅需15-20分钟;快速静态相对定位测量时,当每个流动站与基准站相距在15KM以内时,流动站观测时间只需1-2分钟;采取实时动态定位模式时,每站观测仅需几秒钟。 因而使用GPS技术建立控制网,可以大大提高作业效率。 (4)测站间无需通视 GPS测量只要求测站上空开阔,不要求测站之间互相通视,因而不再需要建造觇标。这一优点既可大大减少测量工作的经费和时间(一般造标费用约占总经费的30%50%),同时也使选点工作变得非常灵活,也可省去经典测量中的传算点、过渡点的测量工作。 (5)仪器操作简便 随着GPS接收机的不断改进,GPS测量的自动化程度越来越高,有的已趋于“傻瓜化”。在观测中测量员只需安置仪器,连接电缆线,量取天线高,监视仪器的工作状态,而其它观测工作,如卫星的捕获,跟踪观测和记录等均由仪器自动完成。结束测量时,仅需关闭电源,收好接收机,便完成了野外数据采集任务。 如果在一个测站上需作长时间的连续观测,还可以通过数据通讯方式,将所采集的数据传送到数据处理中心,实现全自动化的数据采集与处理。另外,现在的接收机体积也越来越小,相应的重量也越来越轻,极大地减轻了测量工作者的劳动强度。 (6)可提供全球统一的三维地心坐标 GPS测量可同时精确测定测站平面位置和大地高程。目前GPS水准可满足四等水准测量的精度,另外,GPS定位是在全球统一WGS-84坐标系统中计算的,因此全球不同地点的测量成果是相互关联的。 (7)应用广泛1.2 HULUX M-87简介1.2.1 HULUX M-87 参数(1)GPS芯片是MTK,系统内存是4MB;(2)模块灵敏度:159dBm,卫星通道:32通道,定位精度:<3m; (3)启动时间:冷启动:36秒,热启动:1秒,暖启动:33秒纠错,定位时间:1秒;(4)其他参数:精巧的外形设计,易于内嵌在GPS服务的PDA,PND,行动电话,可携式装置中,快速位置修正,低耗电,可使用RTCM-in,内建WAAS,EGNOS,MSAS解调器,支援NMEA0183 V 3.01数据通讯协定,定位服务的即时导航,适用于汽车导航,船只导航,舰队管理,AVL和定位服务,自动导航,个人导航或旅游装置,追踪装置,系统和地图装置应用。1.2.2 通信处理接收代码只负责从串口接收数据并将其放置于缓存,这些信息必须通过程序分解处理,才能提取出有用的定位信息数据。对GPS进行信息提取必须首先了解信息的数据格式,GPS接收机使用的是NMEA-0183的传输协议,NMEA-0183 的信息格式一般如下所示:$BBBBB,df1,df2,.CRLF所有的信息由$开始,以换行结束,紧跟着$后的5个字符解释了信息的基本类型,多重的信息之间用逗号隔开。不需要了解NMEA-0183通讯协议的全部信息,仅需要从中挑选出所需要的那部分定位数据,最常见的几种类型为:GPGGA(GPS 定位数据)、GPGLL(地址位置和经纬度)、GPZDA(日期和时间)、GPVTG (方位角对地速度)、GPRMC(GPS 推荐的最短数据,有经纬度、日期和时间、天线移动速度)等。对于通常的情况,定位数据如经纬度、速度、时间等均可以从“$GPRMC”帧中获取得到,该帧的结构及各字段释义如下:$GPRMC,1,2,3,4,5,6,7,8,9,10,11,A*66其中各参数的意义如下:$GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,A*50字段0:$GPRMC,语句ID,表明该语句为Recommended Minimum Specific GPS/TRANSIT Data(RMC)推荐最小定位信息字段1:UTC时间,hhmmss.sss格式字段2:状态,A=定位,V=未定位字段3:纬度ddmm.mmmm,度分格式(前导位数不足则补0)字段4:纬度N(北纬)或S(南纬)字段5:经度dddmm.mmmm,度分格式(前导位数不足则补0)字段6:经度E(东经)或W(西经)字段7:速度,节,Knots字段8:方位角,度字段9:UTC日期,DDMMYY格式字段10:磁偏角,(000-180)度(前导位数不足则补0)字段11:磁偏角方向,E=东W=西1.2.3 M-87协议 M-87接口协议是以美国国家海洋电子协会(NMEA-The National Marine Electronics Association)制定的NMEA-0183 2.0版协议为依据的。NMEA-0183数据格式设置为 1个起始位,8个数据位 ,1个停止位,无奇偶校验,波特率默认为4800。NMEA-0183输出数据为ASCII码,常用语句包括 GPGGA、GPGLL、GPGSA、GPRMC等 ,其内容主要有经度、纬度、高度、速度、时间等。根据所需数据的需要,只选用GPGGA、GPGSV、GPRMC语句。1$GPGAA-GPS定位信息例:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,0000*1F它的起始引导符及语句格式说明(只列出了系统关心的一些参数) :字段2:纬度ddmm.mmmm,度分格式(前导位数不足则补0)字段3:纬度N(北纬)或S(南纬)字段4:经度dddmm.mmmm,度分格式(前导位数不足则补0)字段5:经度E(东经)或W(西经)字段6:GPS状态,0=未定位,1=非差分定位,2=差分定位,3=无效PPS,6=正在估算字段7:正在使用的卫星数量(00-12)(前导位数不足则补0)字段9:海拔高度(-9999.9-99999.9)2GPGSV可见卫星信息例:$GPGSV,3,1,10,20,78,331,45,01,59,235,47,22,41,069,13,32,252,45*70它的起始引导符及语句格式说明(只列出了系统关心的一些参数) :字段3:当前可见卫星总数(00-12)(前导位数不足则补0)3$GPRMC-推荐定位信息 例:$GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,A*50 它的起始引导符及语句格式说明(只列出了系统关心的一些参数):字段1:UTC时间,hhmmss.sss格式字段7:速度,节,Knots或Km/h字段8:方位角,度字段12:校验值校验值表示校验和在处理缓存数据时一般是通过搜寻“$GPRMC”来判断是否是一帧数据的帧头,在对帧头的类别进行识别后再通过对逗号个数的计数来判断出当前正在处理的是哪一种参数,并作出相应的处理。如需要从其他类型帧获取数据,处理方法是完全类似。下面对缓存SBUF中的数据进行解帧处理的主要代码,本文只提取时间、经度、纬度,分别保存在unsigned char idata型变量gps_time1、gps_longitude和gps_latitude中。第2章 硬件电路设计2.1 设计方案的选择2.1.1 方案一系统由GPS-OEM板、电平转换电路(MAX232)、控制电路(8051单片机) 、显示部分(SED1335 彩色液晶显示器)组成。但在和单片机进行串行通信时由于电平不同,必须附加电平转换电路(MAX232) 而且价格比较昂贵。单片机采用8051,功能全面,但其内部ROM一般是掩膜ROM,不可更新改写。SED1335彩色液晶显示器其有效显示点阵320×240 ,显示颜色为4色,但根据我们设计要求,单色显示完全可以。故不采用。2.1.2 方案二系统由SMG12864G2-ZK标准中文字符型液晶显示模块(LCM),采用点阵型液晶显示器(LCD),可显示128×64点阵或8个×4行汉字,点尺寸为0.48×0.48(W×H)mm,内置ST7920接口型液晶显示控制器,内带GB2312码简体中文字库(16×16点阵),可与MCU单片机直接连接,具有8位并行及串行的连接方式,广泛应用于各类仪器仪表及电子设备。模块(M-87)、控制电路(AT89C51单片机) 、显示部分(12864液晶显示器)组成。HOLUX M-87是一个高性能,低功耗,小型的并且很容易联合的GPS模块。该芯片每次将跟踪12枚卫星,应用广泛。而且不用附加电平转换电路,可以直接与单片机进行串行通信。单片机采用AT89C51,其功能完全可以满足设计要求,而且相对于8051,其内部ROM是FLASH-ROM,可多次更新改写,价格也便宜。12864字符型液晶模块SMG12864G2-ZK标准中文字符型液晶显示模块(LCM),采用点阵型液晶显示器(LCD),可显示128X64点阵或8个×4行汉字,点尺寸为0.48×0.48(W×H)mm,内置ST7920接口型液晶显示控制器,内带GB2312码简体中文字库(16×16点阵),可与MCU单片机直接连接,具有8位并行及串行的连接方式,广泛应用于各类仪器仪表及电子设备。可以看出方案二更加实用,根据现实生活的需要,设计采用此方案。2.2 AT89C512.2.1 AT89C51简介AT89C51是一种带4K字节FLASH存储器(FPEROM-Flash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器,俗称单片机。AT89C51是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C51主要特性: ·与MCS-51 兼容 ·4K字节可编程FLASH存储器 ·寿命:1000写/擦循环 ·数据保留时间:10年 ·全静态工作:0Hz-24MHz ·三级程序存储器锁定 ·128×8位内部RAM ·32可编程I/O线 ·两个16位定时器/计数器 ·5个中断源 ·可编程串行通道 ·低功耗的闲置和掉电模式 ·片内振荡器和时钟电路 特性概述:AT89C51提供以下标准功能:4k字节Flash闪速存储器,128字节内部RAM,32 个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。2.2.2 管脚说明 图2-1 AT89C51引脚图石英晶体振荡器是高精度和高稳定度的振荡器,被广泛应用于单片机、计算机、遥控器等各类振荡电路中,以及通信系统中用于频率发生器、为数据处理设备产生时钟信号和为特定系统提供基准信号。如图2-2所示。图2-2 石英晶体振荡器在振荡频率上,闭合回路的相移为2n;当开始加电时,电路中唯一的信号是噪声。满足振荡相位条件的频率噪声分量以增大的幅度在回路中传输,增大的速率由附加分量,即小信号,回路益增和晶体网络的带宽决定;幅度继续增大,直到放大器增益因有源器件(自限幅)的非线性而减小或者由于某一自动电平控制而被减小在稳定状态下,闭合回路的增益为1。石英英谐振器按引出电极情况来分有双电极型、三电极型和双对电极型几种。2.2.3 AT89C51芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。 此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 2.3 单片机与GPS接口电路2.3.1单片机与GPS的接口电路如图2-3所示图2-3单片机和GPS接收机的接口电路2.3.2 GPS模块管脚说明表2-1 管脚说明管脚管脚名称功能描述1VCC-5V+3.55.5Vdc电量输入2TXA串行数据输出端口A (CMOS 3V:Voh 2.4V Vol 0.4V Ioh=Iol=2mA)3RXA串行数据输入端A (CMOS 3V: Vih0.7*VCC Vil0.3*VCC)4RXB串行数据输入端B (CMOS 3V: Vih0.7*VCC Vil0.3*VCC)5GND接地6时钟/复位时钟 :1PPS时钟信号输出(Vil0.2V脉冲宽度10ms)。 复位: 复位输入2.4 LCD液晶显示器2.4.1 LCD12864概述带中文字库的128×64是一种具有4位/8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块;其显示分辨率为128×64, 内置8192个16*16点汉字,和128个16*8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。可以显示8×4行16×16点阵的汉字. 也可完成图形显示.低电压低功耗是其又一显著特点。由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁得多,且该模块的价格也略低于相同点阵的图形液晶模块。2.4.2基本特性(1)低电源电压:(VDD:+3.0-+5.5V)。(2)显示分辨率:128×64点。(3)内置汉字字库,提供8192个16×16点阵汉字(简繁体可选)。(4)内置128个16×8点阵字符。(5)2MHZ时钟频率。(6)显示方式:STN、半透、正显。(7)驱动方式:1/32DUTY,1/5BIAS。(8)视角方向:6点。(9)背光方式:侧部高亮白色LED,功耗仅为普通LED的1/5-1/10。(10)通讯方式:串行、并口可选。(11)内置DC-DC转换电路,无需外加负压。(12)无需片选信号,简化软件设计。(13)工作温度:0-+55 ;存储温度:-20-+60。2.4.3模块接口说明表2-2 LCD12864管脚说明管脚号管脚名称电平管脚功能描述1VSS0V电源地2VCC3.0+5V电源正3V0-对比度(亮度)调整4RS(CS)H/LRS=“H”,表示DB7-DB0为显示数据RS=“L”,表示DB7-DB0为显示指令数据5R/W(SID)H/LR/W=“H”,E=“H”,数据被读到DB7-DB0R/W=“L”,E=“HL”, DB7-DB0的数据被写到IR或DR6E(SCLK)H/L使能信号7DB0H/L三态数据线8DB1H/L三态数据线9DB2H/L三态数据线10DB3H/L三态数据线11DB4H/L三态数据线12DB5H/L三态数据线13DB6H/L三态数据线14DB7H/L三态数据线15PSBH/LH:8位或4位并口方式,L:串口方式(见注释1)16NC-空脚17/RESETH/L复位端,低电平有效(见注释2)18VOUT-LCD驱动电压输出端19AVDD背光源正端(+5V)(见注释3)20KVSS背光源负端(见注释3)*注释1:如在实际应用中仅使用串口通讯模式,可将PSB接固定低电平,也可以将模块上的J8和“GND”用焊锡短接。*注释2:模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。*注释3:如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。LCD12864与单片机的接线原理图如图2-4所示:图2-4 LCD12864与单片机的接线原理图2.5 电源部分本电路使用集成稳压芯片7805,它可以把频率为50Hz、有效值为220V的单相交流电压转换为幅值稳定的5V直流电压。其主要原理是把单相交流经过电源变压器、整流电路、滤波电路、稳压电路转换成稳定的直流电压。1为输入,2为接地,3为输出;如图2-5所示:图2-5 MC7805原理图20第3章 系统软件设计3.1系统软件概述图3-1 系统程序流程图图3-1为GPS全球定位系统的主程序流程图。系统软件主要由初始化模块、数据接收处理模块组成。3.2软件程序的编写3.2.1 初始化模块初始化模块完成开机上电后对单片机、液晶显示器和GPS 模块的初始化工作。对单片机设置串口工作模式、设置波特率和中断工作模式;对液晶显示器设置开机画面和显示模式;完成对GPS 模块串口的成功通信。3.2.2 数据接收处理模块数据接收处理模块负责处理从GPS接收到的数据。在单片机串口收到信息后,先判别是否为语句引导头“$”,再接收信息内容,然后根据语句标识区分出信息类别以对收到ASC码进行处理显示。若整个数据接收正确,便对数据进行处理;若接收不正确,则重新进行接收。本设计中,接收时主要提取并存储以下数据内容:当前日期、时间、定位状态、纬度、经度。如图4所示。特别注意的是GPS发送的时间是世界统一时,与我国的时区相差八个小时,所以还要将时间作转换。北京时间应在UTC时间上加上8小时才是准确的北京时,在超出24小时时应作减24小时处理。转换时间要考虑到年月日的变更。数据更新率为每秒一次。系统工作时GPS模块不断得到新的数据,单片机不断刷新RAM,处理完后的数据送液晶显示器显示。数据接收处理程序流程图如下面图3-2所示。图3-2 数据接收处理程序流程图31第4章 系统调试4.1 硬件调试按照电路原理图对器件进行连接,各个管脚要相互对应,在没通电之前,先用万用表检查线路的正确性,并核对元器件的型号、规格是否符合要求。并特别注意电源的正负极以及电源之间是否有短路,并重点检查地址总线,数据总线,控制总线是否存在相互间的短路或其他信号线的短路。通电后检查引脚的电位,仔细测量各点电位是否正常,尤其应注意单片机的插座上各点电位,若有高压,将有可能损坏单片机仿真器。在断电情况下,用仿真插头将所连接电路与单片机仿真器的仿真接口相连,为软件调试做好准备。4.2 软件调试在对GPS接收到的卫星信息进行处理时,碰到较为麻烦的问题是在对接收到的时间信息进行转换上。直接从卫星接收到的时间是UTC时间,北京时间应在UTC时间上加上8小时才是准确的北京时,在超出24小时时应作减24小时处理。 刚开始将对时间转换的算法放在主函数中处理,程序如下: if(g_Ptr = 2) /接收到正确的数据帧 i = g_DisTime0-'0' ;/提取时间的小时位高位并转换码型 j = g_DisTime1 -'0'/提取时间的小时位低位并转换码型 j = i*10 + j+ 8; /在UTC时间上加上8个小时 if (j >= 24) /判断得到的时间是否超过24小时,超出变作减24处理 j - = 24; g_DisTime0 = j/10+'0' /将北京时间高一位作码型变换并赋予高一位显示 g_DisTime1 = j%10 +'0'/将北京时间高二位作码型变换并赋予高二位显示 在调试中出现一个奇怪的问题,在作了以上的处理后时间的小时位数据并不完全正确,高位显示的与北京时间相同,但低位却与UTC时间相同。在做了各种尝试(如在UTC时间上做加9处理、直接给六位时间g_DisTime5赋值等)后总结出这样一个问题,以上的算法处理只对六位数据位的高一位处理有效,低五位的显示始终都是正确UTC时间。经过分析,初步认定上面的程序并没有被完全的执行。因GPS接收模块源源不断的传送数据给单片机处理,在运行过程中定位信息大约每秒钟更新一次,在主函数中对收到的时间进行处理时有可能会出现还没来得及处理完毕时便接收到下一帧数据,故时间的处理就可能会有只对高一位处理完成而没完成处理好低五位时又进入了串行口中断,那么液晶显示的结果就是经过处理的高一位(北京时间)和未经处理的低五位(UTC时间)。考虑到以上原因,将原放在主函数的时间转换处理程序放置在到中断时一收到UTC时间就对其进行转换处理。经过了调试,终于在液晶上显示出来正确的北京时间,证明了以上的分析、推断的正确性。4.3 系统测试结果2012年5月12日上午10点23分钟左右在洛阳理工学院实验楼D楼进行测试,接收天线放置于户外接收信号,启动GPS接收系统,经过测试,液晶显示的结果如下图4-1:图4-1 液晶显示结果结 论本课题是在了解当前GPS导航系统的条件下,自行开发一套GPS定位系统。GPS接收机的开发和研制,主要是了解GPS的原理,熟悉GPS接收机的工作原理及其各部分工作流程。GPS信号处理这一块由M-87实现,通过M-87与MCS-51兼容系列单片机串口相连,配备了所需的外围电路,同时配有液晶显示器,可以显示字符,并详细介绍了该GPS接收机的硬件和软件设计。开发的GPS接收机已经可以正常工作,同时显示的定位精度和定位速度等各方面的指标都满足要求。通过实验模拟仿真,结合本课题的人机界面、参数设置与计算等,能够满足课题要求,可以实现导航功能。通过本课题的完成,我对GPS的原理有了深入的理解,熟练地掌握了GPS接收机的工作原理。同时,我对单片机的应用有了更深入的掌握,提高了单片机外围电路设计和软件设计的经验的能力。这些对我今后的工作的提高都有所帮助。同时,由于水平有限和时间问题,有许多不足。没有进行误差分析,定位数据可能有误差,这有待改进和提高。谢 辞时间转眼即逝,不知不觉我的大学已渐渐的接近尾声,大学的努力与付出,随着本次论文的完成,将要划下完美的句号。在此,首先,我要感谢王煜老师!老师学识渊博、治学严谨、耐心细致。在毕业设计期间,无论是在资料的查找、原理的讲解,还是在做人处世的风格上,都让我受益匪浅,得到的启示是难以详尽。在这里我要向老师表示最忠心最诚挚地感谢!我有很多基础理论知识掌握不牢,一面帮我查缺补漏,一面发挥我的特长,让我的课题能够顺利有序地进行到满足要求。其次,我还要感谢我们课题组的曲尚辉,梁玲敏,张益梁同学,在共同的学习中,我们互帮互助,愉快地完成了毕业设计!此外,还要感谢以前的代课老师,他们在各方面都给了我不少帮助,愿他们工作愉快,身体健康,万事如意!参考文献1刘基余. GPS卫星导航定位原理与方法M. 北京: 北京科学出版社,20032洪大永. GPS全球定位系统技术及应用M. 福建: 厦门大学出版社,19983张守信. GPS卫星测量定位理论与应用M. 长沙: 国防科技大学出版社,19964郑晓霞. 基于AT89S51单片机实验开发系统设计D. 内蒙古大学 20095尹继尧,徐平,杨天青,吴培稚. 对GPS接收机测试评估的探讨J. 地震地磁观测与研究. 2005(06)6施维忠. 接收全球定位系统信号的系统和方法 P. 中国专利:CN1459638,2003-12-03.李华. MCS51系列单片机实用接口技术. 北京: 北京航空航天大学,19937徐绍铨等编著.GPS测量原理及应用M. 武汉测绘科技大学出版社, 19988贾赞杰,朱昱,史线龙,高云飞. 基于GPS的时钟同步模型选择与实验分析J. 测绘科学. 2011(03) 9长谷川浩二;若森美贵雄;金纲治男. 全球定位系统定位方法和全球定位系统接收装置 P. 中国专利:CN1299976,2001-06-20.10吴迅. 使用单片机的简易GPS经纬度信息显示系统J. 电子世界. 2009年,第1期,P464811Ling Huang. GPS Information Processing System Based on Single Chip Microcomputer. Modern Electronics TechniqueC. 200712张海龙. 基于单片机的GPS定位显示系统J. 网络与信息. 2009年,第4期,P4713何立民. 从Cygnal 80C51F看8位单片机发展之路. 单片机与嵌入式系统应用,2002年,第5期,P5814Bradford W Parkinson,James J Spilker Jr.Global Positioning System: Theory and Applications Volume. . 199615S.-C. Han,J. H. Kwon,C. Jekeli. Accurate absolute GPS positioning through satellite clock error estimationJ ,2001附录 软件程序#include"reg51.h"#include "stdio.h"#include "intrin