基于单片机的GPS定位系统_第1页
基于单片机的GPS定位系统_第2页
基于单片机的GPS定位系统_第3页
基于单片机的GPS定位系统_第4页
基于单片机的GPS定位系统_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要GPS技术在军事、通讯、气象、勘探、导航、遥感、大地测量、地球动力以及天文等众多学科领域得到极其广泛的应用,推动了科学技术的迅猛发展,也丰富了人类的科学文化生活。现在,GPS的外型设计已经转向便携式发展,逐步踏入寻常百姓的生活中。所以,对GPS的研究具有十分重要的意义。论文主要研究GPS的定位原理与技术,单片机的编程及其应用,液晶屏的功能及其实现方法。制作了一套设计方案,以软、硬件相结合的方式完成整个GPS数据接收和显示的过程。完成了一台液晶显示的手持式GPS定位接收设备,并能依次显示实时时间及所在地的经纬度。该定位系统完成后,定位精度能达到15m,所以该装置在测控领域的应用开发中具有一定的实用价值和借鉴价值。

关键词:GPS;卫星;导航;定位ABSTRACTGPStechnologyanextremelywiderangeofapplicationsinmanyfieldsofmilitary,communications,meteorology,exploration,navigation,remotesensing,geodesy,geodynamic,andastronomy,andpromotetherapiddevelopmentofscienceandtechnology,butalsorichscientificandculturallifeofthehuman.Now,GPS,lightweightdesignhasturnedtoaportabledevelopment,stepbystepintothelivesofordinarypeople.Therefore,theGPShasgreatsignificance.ThesisprincipleofGPSpositioningtechnology,microcontrollerprogramminganditsapplication,thefunctionoftheLCDscreenanditsimplementation.Producedadesign,acombinationofhardwareandsoftwaretocompletetheentireprocessGPSdatareceiveranddisplay.CompletedaLCDhandheldGPSpositioningreceivingdevice,andinordertodisplayreal-timetimeandlocationofthelatitudeandlongitude.Afterthecompletionofthepositioningsystem,thepositioningaccuracycanreach15m,sothatthedevicehassomepracticalvalueinthemonitoringandcontrolapplicationdevelopmentandreferencevalue.KeyWords:GPS;Satellite;Navigation;Orientation目录1GPS概述······················································11.1GPS特点·················································11.2GPS用途·················································11.3全球四大GPS系统·········································11.4中国GPS导航系统的发展···································21.5GPS组成概述·············································21.5.1空间星座部分··········································31.5.2地面监控部分··········································41.5.3用户设备部分··········································41.6GPS原理·················································51.6.1GPS定位方法分类·····································61.6.2静态定位和动态定位···································81.7GPS接收定位数据的原理···································101.8TG35—D410模块介绍·····································112AT89C51单片机··············································132.1主要功能特性·············································132.2管脚说明·················································132.3振荡器特性···············································152.4芯片擦除·················································152.5时钟电路·················································152.6复位电路·················································162.7AT89C51单片机的串口模式································162.7.1串行端口处于模式0··································172.7.2串行端口处于模式1··································172.7.3串行端口处于模式2··································182.7.4串行端口处于模式3··································192.7.5串行端口的波特率规划·································193TG12864E液晶显示器··········································203.1主要的技术参数和性能·····································203.2模块的外部接口···········································203.3模块的主要硬件构成·······································213.4具体指令介绍·············································223.5显示步骤·················································244GPS定位系统的设计过程·······································254.1整体设计·················································254.2电路图的设计·············································254.2.1GPS接收器部分······································254.2.2LCD部分············································264.2.3电压输入部分·········································264.3软件部分·················································274.3.1串口通信程序设计·····································274.3.2LCD显示程序········································294.4GPS数据包解析··········································294.5主体程序架构及完整程序···································315毕业设计总结··················································325.1设计体会················································325.2结论·····················································32参考文献·························································33致谢·····························································34附录一···························································35附录二···························································361GPS概述1.1GPS特点全球定位系统的主要特点:(1)全球、全天候工作。定位精度高。单击定位精度优于10m,采用差分定位,精度可达厘米级和毫米级。应用实践已经证明,GPS相对定位精度在50KM以内可达10-6,100-500KM可达10-7,1000KM可达10-9。在300-1500M工程精密定位中,1小时以上观测的解其平面其平面位置误差小于1mm,与ME-5000电磁波测距仪测定得边长比较,其边长较差最大为0.5mm,校差中误差为0.3mm。(2)功能多,应用广,观测时间短。随着GPS系统的不断完善,软件的不断更新,目前,20KM以内相对静态定位,仅需15-20分钟;快速静态相对定位测量时,当每个流动站与基准站相距在15KM以内时,流动站观测时间只需1-2分钟,然后可随时定位,每站观测只需几秒钟。1.2GPS用途全球定位系统的主要用途:(1)陆地应用,主要包括车辆导航、应急反应、大气物理观测、地球物理资源勘探、工程测量、变形监测、地壳运动监测、市政规划控制等;(2)海洋应用,包括远洋船最佳航程航线测定、船只实时调度与导航、海洋救援、海洋探宝、水文地质测量以及海洋平台定位、海平面升降监测等;(3)航空航天应用,包括飞机导航、航空遥感姿态控制、低轨卫星定轨、导弹制导、航空救援和载人航天器防护探测等。1.3全球四大GPS系统美国GPS:由美国国防部于20世纪70年代初开始设计、研制,于1993年全部建成。1994年,美国宣布在10年内向全世界免费提供GPS使用权,但美国只向外国提供低精度的卫星信号。据信该系统有美国设置的“后门”,一旦发生战争,美国可以关闭对某地区的信息服务。欧盟“伽利略”:1999年,欧洲提出计划,准备发射30颗卫星,组成“伽利略”卫星定位系统。今年该计划正式启动。俄罗斯“格洛纳斯”:尚未部署完毕。始于上世纪70年代,需要至少18颗卫星才能确保覆盖俄罗斯全境;如要提供全球定位服务,则需要24颗卫星。中国“北斗”:2003年我国北斗一号建成并开通运行,不同于GPS,“北斗”的指挥机和终端之间可以双向交流。去年5月12日四川大地震发生后,北京武警指挥中心和四川武警部队运用“北斗”进行了上百次交流。北斗二号系列卫星今年起将进入组网高峰期,预计在2015年形成由三十几颗卫星组成的覆盖全球的系统。1.4中国GPS导航系统的发展中国GPS导航的市场潜力巨大。截至到2005年底,中国拥有车载导航设备的车辆不足10万辆,相对于3000万辆的汽车总数来说,普及率不到1%。而日本的汽车车载导航安装率高达59%,欧美约占25%。2006年便携导航市场应该有近5亿元的规模,而随着市场的高速发展及新品牌的层出不穷,预计2009年中国汽车GPS导航系统终端的销售额将接近100亿元。即将过去的2008年,被人们称为中国的“3G元年”。众所周知,目前在国内通信领域,最火的就是正在试运行的TD-SCDMA——3G标准。作为新一代的通信技术,3G带给人们非常多的期许。3G牌照的全面发放,也成了人们共同关注的焦点。其实在国内的GPS导航领域也在经历着一场蜕变,第三代PND类导航产品的应运而生,已经把人们带进了全新的导航时代。卫星导航应用产业在国民经济中发挥着越来越重要的作用,将成为十一五”发展的亮点。在“十一五”期间,卫星导航在其它领域如航空、海路、铁路、建筑、电信、电力等方面的应用都会有很大的发展空间。卫星导航技术的发展趋势主要表现在三方面:一是卫星导航的多系统并存,使系统可用性得以提高,应用领域将更广阔;二是多元组合导航技术正在得到推广应用,主要有GPS与移动通信基站定位、陀螺、航位推算技术等的组合应用;三是卫星导航与无线通信等其它高技术相结合,如GPS接收机嵌入到蜂窝电话、便携式PC、PDA和手表等通信、安全和消费类电子产品中,从根本上促进了IT技术的整体发展。1.5GPS组成概述全球定位系统(GPS)主要有三大组成都分,即空间星座部分、地面监护部分和用户设备部分。1.5.1空间星座部分(1)卫星星座的构成与现状全球定价系统的空间卫星星座部分,将由24颗卫星组成。其中包括3颗备用卫星。工作卫星分布在6个轨道面内,每个轨道面上分布有4颗卫星。卫星轨道面相对地球赤道面的倾角为55度,各轨道平面相交点的赤经相关60度,在相邻轨道上,卫星的升交距角相差30度。轨道平均高度约为20200km,卫星运行周期为11小时58分。因此,同一观测站上每天出现的卫星分布图形相同,只是每天提前约4分钟。每颗卫昼每天约有5个小时在地平线以上,同时位于地平线以上的卫星数目随时间和地点而异,最少为4颗,最多可达11颗。GPS卫星在空间的上述配置,保障了在地球上任何地点、任何时刻均至少可以同时观测到4颗卫星,加之卫星信号的传播和接收不受天气的影响,因此GPS是一种全球性、全天候的连续实时定位系统。不过也应指出,GPS卫星的上述分布,在个别地区仍可能在某一短时间内(例如数分钟)只能观测到4颗图形结构较差的卫星,而无法达到必要的定位精度。空间部分的3颗备用卫星,将在必要时根据指令代替发生故障的卫星,这对于保障GPS空间部分正常而高效地工作是极其重要的。(2)GPS卫星及其功能GPS卫星的主体呈圆柱形,直径约为1.5m,重约774kg包括(310kg燃料),两侧设有两块双叶太阳能板能自动对日定向,以保证卫星正常工作的用电。每颗卫星装有4高精度原子钟(2台铷钟和2台铯钟),这是卫星的核心设备。它将发射标准频率,为GPS测量提供高精度的时间标准。(3)GPS卫星的基本功能是:①接收和储存由地面监控站发来的导航信息,接受执行监控站的控制指令;②卫星上设有微处理机,进行部分必要的数据处理工作;③通过星载的高精度铯钟和铷钟提供精密的时间标准;④向用户发送导航与定位信息;

⑤在地面监控站的指令下,通过推进器调整卫星的姿态和启用备星。一股来说,在大地测量学和大地重力学中,或者是把人造地球卫星作为一个高空观测目标,通过测定用户接收机与卫星之间的距离或距离差来完成导航与定位任务,或者是把卫星作为一个传感器,通过观测卫星运行轨道的摄动来研究和测定地球重力场的影响和模型。不过,对于后一种应用,通常要求卫星轨道较低,而GPS卫星的轨道高度平均达20200km,对地球重力异常的反应灵敏度较低。所以它主要是作为具有精确位置信息的高空目标,放广泛地用于导航和定位。1.5.2地面监控部分GPS的地面监控部分目前主要由分布在全球的5个地面站所组成,其中包括卫星监测站、主控站和信息注入站。(1)监测站现有5个地面站均具有监测站的功能。监控站是在主控站直接控制下的数据自动采集中心。站内设有双频GPS接收机、高精度原子钟、计算机各一台和若干台环境数据传感器。接收器对GPS卫星进行连续观测,以采集数据和监视卫星的工作状况。原于钟提供时间标准,而环境传感器收集有关当地的气象数据。所有观测资料内计算机进行初步处理并存储和传送到主控站,用以确定卫星的精密轨道。(2)主控站主控站一个,设在科罗拉多(ColoradoSprings)。主控站除协调和管理所有地面监控系统的工作外,其主要任务是:根据本站和其它监测站的所有观测资料推算编制各卫星的星历、卫星钟差和大气层的修正参数等,并把这些数据传递到注入站。提供全球定位系统的时间基准。各监测站和GPS卫星的原子钟应与主控站的原子同步或测出其间的差,并把这些钟差信息编入导航电文送到注入站。调整偏离轨道的卫星,使之沿预定的轨道远行。启用备用卫星以代替失效的工作卫星。(3)注入站注入站现有3个,分别设在印度洋的迭哥加西亚(DiegoGarcia),南大西洋的阿松森岛(Asencion)和南太平洋的卡瓦加兰(Kwajalein)。注入站的主要设备包括一台直径为3.6m的天线、一台C波段发射机和一台计算机。其主要任务是在主控站的控制下,将主控站推算和编制的卫星星历、钟差、导航电文和其它控制指令等注入到相应卫星的存储系统,并监测注入信息的正确性。整个GPS的地面监控部分,除主控站外均无人值守。各站间用现代化的通讯系统联系起来,在原子钟和计算机的驱动和精确控制下,各项工作实现了高度的自动化和标准化。为了提高GPS卫星的定轨精度,当系统建成后将会适当增加监测站的数量并改善其在全球的分布。1.5.3用户设备部分全球定位系统的空间部分和地面监控部分,是用户广泛应用该系统进行导航和定位的基础,而用户只有通过用户设备,才能实现应用GPS导航和定位的目的。用户设备的主要任务是接收GP5卫星发射的信号,以获得必要的导航和定位信息及观测量,并经数据处理顺完成导航和定位工作。根据GPS用户的不同要求,所需的接收设备各异。随着GPS定位技术的迅速发展和应用领域的日益扩大,许多国家都在积极研制、开发适用于不同要求的GPS接收机及相应的数据处理软件。1.6GPS原理GPS导航系统的基本原理是测量出已知位置的卫星到用户接收机之间的距离,然后综合多颗卫星的数据计算出接收机的具体位置。而卫星的位置可以根据星载时钟所记录的时间在卫星星历中查出。GPS导航系统卫星部分的作用就是不断地发射导航电文。当用户接受到导航电文时,提取出卫星时间并将其与自己的时钟做对比便可得知卫星与用户的距离,再利用导航电文中的卫星星历数据推算出卫星发射电文时所处位置,从而用户在大地坐标系中的位置速度等信息便可得知。然而,由于用户接受机使用的时钟与卫星星载时钟不可能总是同步,所以除了用户的三维坐标x、y、z外,还要引进一个Δt即卫星与接收机之间的时间差作为未知数,然后用4个方程将这4个未知数解出来。所以如果想知道接收机所处的位置,至少要能接收到4个卫星的信号。接收器与卫星之间的距离计算:其中:C是光速经过整理得:对得方程组:其中按定位方式,GPS定位分为单点定位和相对定位(差分定位)。单点定位就是根据一台接收机的观测数据来确定接收机位置的方式,它只能采用伪距观测量,可用于车船等的概略导航定位。相对定位(差分定位)是根据两台以上接收机的观测数据来确定观测点之间的相对位置的方法,它既可采用伪距观测量也可采用相位观测量,大地测量或工程测量均应采用相位观测值进行相对定位。GPS接收机可接收到可用于授时的准确至纳秒级的时间信息,用于预报未来几个月内卫星所处概略位置的预报星历。在GPS观测量中包含了卫星和接收机的钟差、大气传播延迟、多路径效应等误差,在定位计算时还要受到卫星广播星历误差的影响,在进行相对定位时大部分公共误差被抵消或削弱,因此定位精度将大大提高,双频接收机可以根据两个频率的观测量抵消大气中电离层误差的主要部分,在精度要求高,接收机间距离较远时(大气有明显差别),应选用双频接收机。1.6.1GPS定位方法分类

利用GPS进行定位的方法有很多种。若按照参考点的位置不同,则定位方法可分为(1)绝对定位。即在协议地球坐标系中,利用一台接收机来测定该点相对于协议地球质心的位置,也叫单点定位。这里可认为参考点与协议地球质心相重合。GPS定位所采用的协议地球坐标系为WGS-84坐标系。因此绝对定位的坐标最初成果为WGS-84坐标。(2)相对定位。即在协议地球坐标系中,利用两台以上的接收机测定观测点至某一地面参考点(已知点)之间的相对位置。也就是测定地面参考点到未知点的坐标增量。按用户接收机在作业中的运动状态不同,则定位方法可分为(1)静态定位。即在定位过程中,将接收机安置在测站点上并固定不动。严格说来,这种静止状态只是相对的,通常指接收机相对与其周围点位没有发生变化。(2)动态定位。即在定位过程中,接收机处于运动状态。GPS绝对定位和相对定位中,又都包含静态和动态两种方式。即动态绝对定位、静态绝对定位、动态相对定位和静态相对定位。若依照测距的原理不同,又可分为测码伪距法定位、测相伪距法定位、差分定位等。1GPS测量的基本观测量由于卫星信号含有多种定位信息,根据不同的要求和方法,可获得不同的观测量:测码伪距观测量(码相位观测量);测相伪距观测量(载波相位观测量);多普勒积分计数伪距差;干涉法测量时间延迟;目前,在GPS定位测量中,广泛采用的观测量为前两种,即码相位观测量和载波相位观测量。2测码伪距测量2.1码相位测量测码伪距测量是通过测量GPS卫星发射的测距码信号到达用户接收机的传播时间,从而计算出接收机至卫星的距离,即式中:——传播时间;——光速2.2测码伪距观测方程及其线性化GPS采用单程测距原理,要准确地测定站星之间的距离,必须使卫星钟与用户接收机钟保持严格同步,同时考虑大气层对卫星信号的影响。3测相伪距测量3.1载波相位测量载波相位测量是通过测量GPS卫星发射的载波信号从GPS卫星发射到GPS接收机的传播路程上的相位变化,从而确定传播距离。因而又称为测相伪距测量。3.2载波信号的传播时间卫星信号的实际传播时间表示为:3.3测相伪距观测方程及其线性化4整周未知数的确定4.1平差待定参数法4.2快速解算法(FARA)4.3动态法5周跳的探测分析与修复周跳就是由于GPS接收机对于卫星信号的失锁,而导致GPS接收机中载波相位观测值中的整周计数所发生的突变。产生周跳的主要原因是卫星信号失锁,例如卫星信号被障碍物遮挡而暂时中断,或受到无线电信号干扰而造成失锁等。这些原因都会使计数器的整周数发生错误,由于载波相位观测量为瞬时观测值,因此不足一周的小数部分总能保持正确。1.6.2静态定位和动态定位

一绝对定位原理GPS绝对定位又叫单点定位,即以GPS卫星和用户接收机之间的距离观测值为基础,并根据卫星星历确定的卫星瞬时坐标,直接确定用户接收机天线在WGS-84坐标系中相对于坐标原点(地球质心)的绝对位置。根据用户接收机天线所处的状态不同,绝对定位又可分为静态绝对定位和动态绝对定位。因为受到卫星轨道误差、钟差以及信号传播误差等因素的影响,静态绝对定位的精度约为米级,而动态绝对定位的精度约为10~40m。因此静态绝对定位主要用于大地测量,而动态绝对定位只能用于一般性的导航定位中。1静态绝对定位原理接收机天线处于静止状态下,确定观测站坐标的方法,称为静态绝对定位。这时,接收机可以连续地在不同历元同步观测不同的卫星,测定卫星至观测站的伪距,获得充分的观测量,通过测后数据处理求得测站的绝对坐标。根据测定的伪距观测量的性质不同分为:1.1测码伪距静态绝对定位1.2测相伪距静态绝对定位2动态绝对定位原理将GPS用户接收机安装在载体上,并处于动态情况下,确定载体的瞬时绝对位置的定位方法,称为动态绝对定位。一般,动态绝对定位只能获得很少或者没有多余观测量的实数解,因而定位精度不是很高,被广泛应用于飞机、船舶、陆地车辆等运动载体的导航。根据观测量的性质分,可以分为测码伪距动态绝对定位和测相伪距动态绝对定位。3绝对定位精度的评价在实际应用中,可以采用不同的几何精度评价模型和相应的精度衰减因子,通常有:(1)平面位置精度衰减因子HDOP相应的平面位置精度为(2)高程精度衰减因子VDOP相应的高程精度为(3)空间位置精度衰减因子PDOP相应的空间位置精度为(4)接收机钟差精度衰减因子TDOP相应的钟差精度为(5)几何精度衰减因子GDOP:描述空间位置误差和时间误差综合影响的精度衰减因子。相应的中误差为二GPS相对定位原理1相对定位原理概述相对定位,是用两台GPS接收机,分别安置在基线的两端,同步观测相同的卫星。种方法可以推广到多台GPS接收机安置在若干条基线的端点,通过同步观测相同的GPS卫星,以确定多条基线向量。相对定位中,需要多个测站中至少一个测站的坐标值作为基准,利用观测出的基线向量,去求解出其它各站点的坐标值。根据定位过程中接收机所处的状态不同,相对定位可分为静态相对定位和动态相对定位(或称差分GPS定位)。2静态相对定位原理设置在基线两端点的接收机相对于周围的参照物固定不动,通过连续观测获得充分的多余观测数据,解算基线向量,称为静态相对定位。静态相对定位,一般均采用测相伪距观测值作为基本观测量。测相伪距静态相对定位是当前GPS定位中精度最高的一种方法2.1观测值的线性组合目前的求差方式有三种:单差、双差、三差,定义如下:=1\*GB3①单差(Single-Difference):不同观测站同步观测同一颗卫星所得观测量之差=2\*GB3②双差(Double-Difference):不同观测站同步观测同组卫星所得的观测量单差之差=3\*GB3③三差(Triple-Difference):不同历元同步观测同组卫星所得的观测量双差之差2.2观测方程2.3静态相对定位观测方程的线性化及平差模型为了求解测站之间的基线向量,首先就应该将观测方程线性化,然后列出相应的误差方程式,应用最小二乘法平差原理求解观测站之间的基线向量。3差分定位原理动态相对定位,是将一台接收机设置在一个固定的观测站(基准站),基准站在协议地球坐标系中的坐标是已知的。另一台接收机安装在运动的载体上,载体在运动过程中,其上的GPS接收机与基准站上的接收机同步观测GPS卫星,以实时确定载体在每个观测历元的瞬时位置。在动态相对定位过程中,由基准站接收机通过数据链发送修正数据,用户站接收该修正数据并对测量结果进行改正处理,以获得精确的定位结果。由于用户接收基准站的修正数据,对用户站观测量进行改正,这种数据处理本质上是求差处理(差分),以达到消除或减少相关误差的影响,提高定位精度,因此GPS动态相对定位通常又称为差分GPS定位。动态相对定位过程中存在着三部分误差:一部分是对每一个用户接收机所公有的,包括卫星钟误差、星历误差、电离层误差、对流层误差等;第二部分为不能由用户测量或由校正模型来计算的传播延迟误差;第三部分为各用户接收机所固有的误差,包括内部噪声、通道延迟、多路径效应等。利用差分技术,第一部分误差完全可以消除,第二部分误差大部分可以消除,其主要取决于基准接收机和用户接收机的距离,第三部分误差则无法消除。3.1单基准站GPS差分根据基准站所发送的修正数据的类型不同,又可分为位置差分,伪距差分,载波相位差分。3.2多基准站差分1.7GPS接收定位数据的原理GPS接收机只要处于工作状态就会源源不断地把接收并计算出的GPS导航定位信息通过串口传送到计算机中。前面的代码只负责从串口接收数据并将其放置于缓存,在没有进一步处理之前缓存中是一长串字节流,这些信息在没有经过分类提取之前是无法加以利用的。因此,必须通过程序将各个字段的信息从缓存字节流中提取出来,将其转化成有实际意义的,可供高层决策使用的定位信息数据。同其他通讯协议类似,对GPS进行信息提取必须首先明确其帧结构,然后才能根据其结构完成对各定位信息的提取。对于本文所使用的GARMINGPS天线板,其发送到计算机的数据主要由帧头、帧尾和帧内数据组成,根据数据帧的不同,帧头也不相同,主要有“$GPGGA”、“$GPGSA”、“$GPGSV”以及“$GPRMC”等。这些帧头标识了后续帧内数据的组成结构,各帧均以回车符和换行符作为帧尾标识一帧的结束。对于通常的情况,我们所关心的定位数据如经纬度、速度、时间等均可以从“$GPRMC”帧中获取得到,该帧的结构及各字段释义如下:$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>*hh<1>当前位置的格林尼治时间,格式为hhmmss<2>状态,A为有效位置,V为非有效接收警告,即当前天线视野上方的卫星个数少于3颗<3>纬度,格式为ddmm.mmmm<4>标明南北半球,N为北半球、S为南半球<5>经度,格式为dddmm.mmmm<6>标明东西半球,E为东半球、W为西半球<7>地面上的速度,范围为0.0到999.9<8>方位角,范围为000.0到359.9度<9>日期,格式为ddmmyy<10>地磁变化,从000.0到180.0度<11>地磁变化方向,为E或W至于其他几种帧格式,除了特殊用途外,平时并不常用,虽然接收机也在源源不断地向主机发送各种数据帧,但在处理时一般先通过对帧头的判断而只对“$GPRMC”帧进行数据的提取处理。如果情况特殊,需要从其他帧获取数据,处理方法与之也是完全类似的。由于帧内各数据段由逗号分割,因此在处理缓存数据时一般是通过搜寻ASCII码“$”来判断是否是帧头,在对帧头的类别进行识别后再通过对所经历逗号个数的计数来判断出当前正在处理的是哪一种定位导航参数,并做出相应的处理。1.8TG35—D410模块介绍下面我们来介绍一下GPS信息接收器的其中一种,也就是本课题将要用到的信息接收模块TG35-D410。它有以下特点:·并行12通道,可同时接收12颗卫星;·定位时间:重捕<2s,热启动为24s,自动搜索10s;·1PPS秒脉冲信号输出,精度指标高达10;

·双串口输出,波特率4800;

·输入电压(DC):3.3~5.0V;·电源/数据口:双排20插针。TG35-D410模块的外形图如图1.5所示:

图1TG35-D410模块的外形图TG35-D410管脚名称与功能如表1所示表1TG35-D410管脚名称与功能2AT89C51单片机AT89C51微处理器是ATMEL公司生产的51系列单片机中的一种,它是低功耗/低电压,高性能的8位单片机,片内含8kbytes的可反复擦写的只读程序存储器(PEROM)和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可提供许多较复杂系统控制应用场合。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。2.1主要功能特性·兼容MCS51指令系统)32个双向I/O口·3个16位可编程定时/计数器中断·2个串行中断·2个外部中断源·2个读写中断口线

·低功耗空闲和掉电模式·4k可反复擦写(>1000次)FlashROM

·256x8bit内部RAM·时钟频率0-24MHz·可编程UART串行通道·共5个中断源·软件设置睡眠和唤醒功能2.2管脚说明VCC:供电电压。GND:接地P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下所示:P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3/INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。/RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。/ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指令期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源

(VPP)。/XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。/XTAL2:来自反向振荡器的输出。2.3振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。2.4芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。2.5时钟电路AT89C51内含一个高增益的反相放大器,只需通过XTAL1,XTAL2外接作为反馈元件的晶体后便成为自激振荡器,晶体呈感性,与C1,C2构成并联谐振电路。一般连接如图2所示:

图2AT89C51外部时钟电路图2.6复位电路当8051的ALE及/PSEN两引脚输出高电平,RST引脚高电平到时,单片机复位。RST/VPD端的高电平直接由上电瞬间产生则为上电复位,若通过按动按钮产生高电平复位称为手动复位。对于51单片机应用系统一般有两种复位方式,包括上电复位和手动复位,在时钟电路工作的后,只要单片机的RST引脚上面出现24个振荡脉冲(2个机器周期)以上的高电平,单片机便实现初始化状态复位,而在设计的过程中,通常使高电平保持在10ms以上。这里采用手动复位方式。当按钮按下的瞬间,接通电路,给电容充电,实现RST端的高电平,使单片机复位,而按钮释放时电容器放电,使高电平的产生时间比较长。其示意图如图3所示。图3按钮复位电路设计示意图2.7AT89C51单片机的串口模式单片机AT89C51的串行端口有4种工作模式,通过编程设计,可以使其工作在任一模式,以满足不同场合的需要。其中,模式0主要用于外接移位寄存器,以扩展单片机的I/O电路;模式1主要用于双机之间或外设电路的通信;模式2、3除有模式1的功能外,还可用作多机通信,以构成多微机系统,模式2、3的区别在于波特率的不同。2.7.1串行端口处于模式0串行端口处于模式0时,数据的发送与接收都是通过RXD引脚,而TXD引脚则负责送出移位脉冲。其数据位由LSB开始发送/接收8个位。①模式0发送数据执行写入SBUF的指令,即激活串行端口的发送动作,写入SBUF信号在S6P2将“1”加载发送移位寄存器的第9位,并激活TXD控制方块开始发送数据。从写入SBUF至SEND引脚变为高电位,约需一个机械周期的时间。在SEND信号动作期间,每个机械周期的S6P2期间,将使发送移位寄存器的内容右移-位,同时由高位左移一个0进来。发送数据依LSB-MSB的顺序,由RXD(P3.0)引脚送出,并在TXD引脚产生同步脉冲。当发送数据的第8位(MSB)到达移位寄存器的最右侧位置时,其左侧除第9位为1外,其余位均填入0。在此情况下,零检测器(ZeroDetector)激活TX控制方块再送出最后“个位后,即令SEND降为低电位,停止发送动作,并设定T1中断标志产生串行端口中断请求。②模式0数据接收当要接收数据时,只要设定SCON寄存器中的REN=1、RI=0,即会激活RX控制方块。约经一个机械周期后的S6P2期间,BX控制方块将数据FEH加载接收移位寄存器中,并使RECEIVE引脚升至高电位。在RECEIVE信号动作期间,数据依LSB-MSB的顺序经RXD(P3.0)引脚输入,并在TXD(P3.1)引脚产生同步脉冲。当数据从右侧移入接收移位寄存器时,先前加载的FE值会往左移出。当其中的数据位0移至寄存器的最左边时,通知RX控制方块再接收最后一位后,将接收移位寄存器的内容加载接收SBUF中。此时会自动今RI=l产生串行端口中断请求,并将RECIVE降为低位停止接收动作。2.7.2串行端口处于模式1在模式1时,串行端口经由TXD引脚负责发送及通过RXD引脚接收10位的数据,其中包括1个起始位、8个数据位和1个停止位。由于发送和接收是由不同引脚负责,故可同时进行发送和接收的动作。起始位(低电位)和停止位(高电位)是串行端口在发送数据时自动加上去的,当在接收状态下,接收到的停止位会自动存入SCON寄存器的RB8位中,而发送及接收波特率可用软件设定计时/计数器1,说明如下。①模式1的发送执行写入SBUF指令后,产生一个WRITETOSBUF的脉冲,此时把数据送入SBUF,并激活TX控制方块。在下一个机械周期时,SEND自动降为0,此时DATA己自动为0,故经由TXD引脚送出一个“0”的位,这就是所谓的起始位。然后数据位开始由TXD引脚依LSB-MSB顺序向右移出,直到8位数据全部送出后,CPU会自动设定中断标志TI=1,产生串行端口中断请求,再自动经由TXD引脚送出一个“1”的位后,SEND升为高电位,DATA引脚为0,停止发送动作,此时TXD引脚维持高电位。②模式1的接收当要接收数据时,需将SCON寄存器的REN位设定为1,每当RXD引脚上检测到负缘转态信号后就会激活串行端口的接收动作。在接到正确的起始位后(低电位),开始依LSB-MSB顺序接收数据位,直到SCON中的RI=0、SM2=0或RI=0且接收到的停止位为l时,才自动把8位数据送入SBUF内。接着把停止位放入RB8中,然后设定接收中断标志RI=l,产生串行端口中断请求。经过-个位时间后,不论上述条件是否成立,RX控制方块均会重新开始检测RXD引脚有无负缘转态信号,以准备接收下一批数据。

2.7.3串行端口处于模式2在模式2时,串行端口经由TXD引脚负责发送及RXD引脚负责接收11位的数据,其中包括一个为0的起始位、8个数据位、1个可设定的第9数据位及一个为1的停止位。由于发送与接收由不同的脚位负责,故可以全双工的方式进行通讯。在此模式下波特率是由软件设定SFR中PCON寄存器的SMOD位决定,起始位和停止位是串行端口在发送时自动加上去的,第9位在发送时是存放在SCON内的TB8位,接收后存放在SC0N内的RB8位。①模式2的数据发送执行写入SBUF指令后,产生一个WRITETOSBUF的脉冲,此时把数据送入SBUF,并激活TX控制方块。在下一机械周期,SEND自动降为0,此时DATA己自动为0,故经由TXD引脚送出一个“0”的位,这就是所谓的起始位。然后数据位开始由侧引脚依LSB-MSB的顺序向右移出,直到8位数据全部送出后,CPU会自动设定中断标志TI=1,产生串行端口中断请求,再自动经TXD引脚送出一个“1”的位后,SEND升为高电位,DATA引脚为0,停止发送动作,此时TXD引脚维持高电位。②模式2的数据接收当要接收数据时,而将SCON寄存器的REN位设定为1,每当RXD引脚上检测到负缘状态信号后就会激活串行端口的接收动作。在接到正确的起始位后(低电位),开始依LSB-MSB的顺序接收数据位,直到SCON中的RI=0、SM2=0或RI=0且接收到的停止位为1时,才自动把8位数据送入SBUF内。接着把停止位放入RB8中,然后设定接收标志RI=1,产生串行端口中断请求。经过一个位时间后,不论上述条件是否成立,RX控制方块均会重新开始检测RXD引脚有无负缘状态信号,以准备接收下一批数据。2.7.4串行端口处于模式3在模式3下操作方式与模式2相同,惟一的差别在于模式3的波特率可以改变,通过设定计时/计数器1而得到不同的波特率。2.7.5串行端口的波特率规划所谓波特率(BaudRate)就是串行通讯(RS232或RS485)中,每秒所能发送的位数(bits/second)。例如波特率=1200bps时,代表每秒钟可发送1200个位数据。MCS-51串行端口在4种模式下各有其不同的波特率,分述如下。①模式0的波特率串行端口工作于模式0时,不需任何计时/计数器,其波特率为固定值。②模式1的波特率串行端口工作于模式1,其波特率将由计时/计数器1来产生,通常令计时/计数器1工作于模式2(自动再加载模式)。在此模式下,计算波特率的公式为:其中SMOD为PCON寄存器中的位7,称为波特率倍增位。若已知波特率默认值为多少,即可求得TH1值。③模式2的波特率串行端口工作于模式2时不需任何计时/计数器,其波特率与SMOD位有关若SMOD=1时若SMOD=0时④模式3的波特率串行端口工作于模式3,其波特率由计时所数器l产生,其方法与前述模式相同。3TG12864E液晶显示器液晶显示器具有显示信息多、体积小、功耗低、超薄等许多显示器件不可无可比拟的优点,越来越受到人们的欢迎。在许多的单片机应用系统中,被广泛用作终端显示,人机接口。LCD可分为段位式LCD、字符式LCD和点阵式LCD,其中段位式LCD和字符式LCD只能用于字符以下的简单显示,不能满足图形及汉字显示的要求。而点阵式LCD不仅可以显示字符、数字,还可以显示各种图形及汉字,并且可以实现屏幕的上下移动、动画功能等功能,用途十分广泛。液晶显示器类型与其控制驱动器是密切相关的,液晶显示器的使用也主要是针对控制器的操作。液晶显示控制器作为显示器与外界的接口,可以接受CPU的各项控制指令以控制LCD的各项功能。LCD产品是世界上最省电的显示产品。在便携式显示器中,LCD是最佳选择。目前还没有找到一个显示产品能代替LCD再计时器,计算器,手机,电子字典,笔记本电脑,PDA,GPS,电子照相机,电子摄像机,便携计算机,便携式只能仪表产品上的应用。随着世界经济科技的发展和个人生活水平的提高,LCD的市场开拓十分宽广。下面我们将介绍其中一种液晶显示屏--TG12864E的功能和应用。TG12864E是一种图形点阵液晶显示器,它主要由行驱动器/列驱动器及128×64全点阵液晶显示器组成。可完成图形显示,也可以8×4个(16×16点阵)汉字。3.1主要的技术参数和性能·电源:VDD:+2.7~+5V;模块内自带-10V负压,用于LCD的驱动电压。·显示内容:128(列)×64(行)点·全屏幕点阵·七种指令·与CPU接口采用8位数据总线并行输入输出和8条控制线·占空比1/64·工作温度:-10℃~+60℃,储存温度:-20℃~+70℃,可选择温宽:-20℃~+70℃3.2模块的外部接口外部接口信号表2所示:表212864外部接口表3.3模块主要硬件构成LCD结构框图如图4所示:图4LCD结构框图3.4具体指令介绍清除显示功能:清除显示屏幕,把DDRAM位址计数器调整为“00H”位址归位功能:把DDRAM位址计数器调整为“00H”,游标回原点,该功能不影响显示DDRAM位址归位功能:把DDRAM位址计数器调整为“00H”,游标回原点,该功能不影响显示DDRAM功能,执行该命令后,所设置的行将显示在屏幕的第一行。显示起始行是由Z地址计数器控制的,该命令自动将A0-A5位地址送入Z地址计数器起始地址可以是0-63范围内任意一行。Z地址计数器具有循环计数功能,用于显示行扫描同步,当扫描完一行后自动加一。显示状态开/关功能:D=1;整体显示ONC=1;游标ONB=1;游标位置ON游标或显示移位控制功能:设定游标的移动与显示的移位控制位:这个指令并不改变DDRAM的内容功能设定功能:DL=1(必须设为1)RE=1;扩充指令集动作RE=0:基本指令集动作设定CGRAM位址功能:设定CGRAM位址到位址计数器(AC)设定DDRAM位址功能:设定DDRAM位址到位址计数器(AC)读取忙碌状态(BF)和位址功能:读取忙碌状态(BF)可以确认内部动作是否完成,同时可以读出位址计数器(AC)的值写资料到RAM功能:写入资料到内部的RAM(DDRAM/CGRAM/TRAM/GDRAM)读出RAM的值功能:从内部RAM读取资料(DDRAM/CGRAM/TRAM/GDRAM)待命模式(12H)功能:进入待命模式,执行其他命令都可终止待命模式卷动位址或IRAM位址选择(13H)功能:SR=1;允许输入卷动位址SR=0;允许输入IRAM位址反白选择(14H)功能:选择4行中的任一行作反白显示,并可决定反白的与否睡眠模式(015H)功能:SL=1;脱离睡眠模式SL=0;进入睡眠模式3.5显示步骤显示资料RAM提供64×2个位元组的空间最多可以控制4行16字(64个字)的中文字型显示当写入显示资料RAM时,可以分别显示CGROM、HCGROM与CGRAM的字型;ST7920A可以显示三种字型,分别是半宽的HCGROM字型、CGRAM字型及中文CGROM字型,三种字型的选择,由在DDRAM中写入的编码选择,在0000H-0006H的编码中将自动的结合下一个位元组,组成两个位元组的编码达成中文字型的编码(A140-D75F),各种字型详细编码如下:显示半宽字型:将8位元资料写入DDRAM中,范围为02H-7FH的编码。显示CGRAM字型:将16位元资料写入DDRAM中,总共有0000H,0002H,0004H,0006H四种编码。显示中文字形:将16位元资料写入DDRAMK,范围为A1A1H-F7FEH的编码。4GPS定位系统的设计过程4.1整体设计本课题设计的GPS定位系统是一个手持式的简易卫星定位系统,由GPS接收器接收到的数据通过RS232串行输入存至单片机的可读存储器RAM中,再经由并口输出到液晶屏显示即可。在此,我需要做一个硬件接口电路,用来连接GPS接收器和液晶显示器,单片机的读写控制都靠汇编语言来完成,使整个工作流程可以顺利进行。主程序在软件开发中显得极为重要。图5为GPS定位系统软件的主程序流程图。开始的时候,设置UART的波特率,对LCD进行初始化,并打开中断。当接收到正确的GPS信息时,将其存入单片机的RAM中,等待LCD空闲的时候把所要显示的数据于LCD上显示。图5主程序流程图4.2电路图的设计在此课题中,选择的工作方式为模式1。电路晶振频率是11.0592MHz,波特率是4800,那么波特率初值为FFFAH。4.2.1GPS接收器部分GPS的串行输入口11脚RXD和串行输出口12脚TXT分别接单片机的第10脚和第11脚,负责GPS接受卫星数据的传送与接收。管脚图如图6所示。图6GPS接收器部分电路图4.2.2LCD部分管脚15脚PSB接口高低电平的选择决定了LCD的串/并型数据接收模式。高电平表示并行模式,低电平表示串行模式。如图7所示。图7LCD外接电路图4.2.3电压输入部分单片机加载的是5V的电压,而我设计的是一个手持式GPS定位系统,为了方便移动,就设计由4节1.5V电池提供电压,那么单片机的输入电压就变成了6V,比单片机的正常输入电压要高,所以应该设计一个限压电路,使单片机的输入电压在5V左右即可。在6V的电压后加上一只二极管能降下0.7V的电压,这样,进入整个电路的电压才符合要求,单片机就能正常工作了。多路开关S4负责发光二极管D3的亮灭,D3用于指示作用,当接口电路开始工作时D3就会变亮。电压Vcc后还并联了C4和C5两个电容,用来过滤掉电压的毛刺干扰,得到更稳定的输入电压,去耦效应越明显就会使得电路的工作更加稳定。图8电压输入部分电路图4.3软件部分对于单片机的编程,该程序又可分为两个部分,即与GPS接收器数据输入的串口通信程序设计和在LCD数据输出的显示部分。4.3.1串口通信程序设计GPS的时间,经度及纬度信号含在NEMA语句的GPRMC子语句中,此子语句提供了格林威治标准时间,其格式为hhmmss,以及格林威治标准日期,格式为ddmmyy。当GPS秒脉冲同步信号1pps上升沿到来时引发的INT0中断,在其中断服务程序中将GPRMC子语句读入,并将时间,经度及纬度信息转换成十进制形式先存入MCU内部RAM中。图4.6为接收GPS信息的程序流程图。图4.7为检测一个字符的子程序。(1)接收GPS信息流程首先设置一个串口中断,串行控制寄存器RI是接收中断标志位,当RI=1时,说明GPS接收到数据。随后逐个字母判断是否为“$GPRMC”,RI置零,等待下一组数据的到来。将“$GPRMC”语句存入缓冲区中,判断子语句<2>是否为“A”,若为“A”,就将所需的子语句输出到LCD;若为“V”,则不显示。图9接收GPS信息流程图(2)检测接收到的字符流程图先开启中断,继续检测RI是否为1,若为1,则将数据存入累加器A,检测数据的第一个字符是否为“$”号,若为“$”,接着再依次检测是否为字母“G”,“P”,“R”,“M”,“C”。图10检测接收到的字符流程图4.3.2LCD显示程序液晶显示器是人机界面的接口,结合TG12864E的特点,在编写液晶显示屏的软件程序时,需要注意的是每条指令是先送入参数(在有参数的情况下),再送入指令代码,因而对于TG12864E的指令写入流程图可用图11所示图11TG12864E流程图4.4GPS数据包解析GPS上电后,每隔一定的时间就会返回一定格式的数据,数据格式为:$信息类型,x,x,x,x,x,x,x,x,x,x,x,x,x每行开头的字符都是‘$’,接着是信息类型,后面是数据,以逗号分隔开。一行完整的数据如下: $GPRMC,080655.00,A,4546.40891,N,12639.65641,E,1.045,328.42,170809,,,A*60信息类型为:GPGSV:可见卫星信息GPGLL:地理定位信息GPRMC:推荐最小定位信息GPVTG:地面速度信息GPGGA:GPS定位信息GPGSA:当前卫星信息这里我们只解析GPRMC和GPGGA的信息GPRMC数据详解:$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<1>UTC时间,hhmmss.sss(时分秒)<2>定位状态,A=有效定位,V=无效定位<3>纬度ddmm.mmmm(度分)格式(前面的0也将被传输)<4>纬度半球N(北半球)或S(南半球)<5>经度dddmm.mmmm(度分)格式(前面的0也将被传输)<6>经度半球E(东经)或W(西经)<7>地面速率(000.0~999.9节,前面的0也将被传输)<8>地面航向(000.0~359.9度,以真北为参考基准,前面的0也将被传输)<9>UTC日期,ddmmyy(日月年)格式<10>磁偏角(000.0~180.0度,前面的0也将被传输)<11>磁偏角方向,E(东)或W(西)<12>模式指示(仅NMEA01833.00版本输出,A=自主定位,D=差分,E=估算,N=数据无效)解析内容:1. 时间,这个是格林威治时间,是世界时间(UTC),我们需要把它转换成北京时间(BTC),BTC和UTC差了8个小时,要在这个时间基础上加8个小时。2. 定位状态,在接收到有效数据前,这个位是‘V’,后面的数据都为空,接到有效数据后,这个位是‘A’,后面才开始有数据。3. 纬度,我们需要把它转换成度分秒的格式,计算方法:如接收到的纬度是:4546.408914546.40891/100=45.4640891可以直接读出45度4546.40891–45*100=46.40891可以直接读出46分46.40891–46=0.40891*60=24.5346读出24秒所以纬度是:45度46分24秒。4. 南北纬,这个位有两种值‘N’(北纬)和‘S’(南纬)5. 经度的计算方法和纬度的计算方法一样6. 东西经,这个位有两种值‘E’(东经)和‘W’(西经)7. 速率,这个速率值是海里/时,单位是节,要把它转换成千米/时,根据:1海里=1.85公里,把得到的速率乘以1.85。8. 航向,指的是偏离正北的角度9. 日期,这个日期是准确的,不需要转换GPGGA数据详解:$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*xx<CR><LF>$GPGGA:起始引导符及语句格式说明(本句为GPS定位数据);<1>UTC时间,格式为hhmmss.sss;<2>纬度,格式为ddmm.mmmm(第一位是零也将传送);<3>纬度半球,N或S(北纬或南纬)<4>经度,格式为dddmm.mmmm(第一位零也将传送);<5>经度半球,E或W(东经或西经)<6>定位质量指示,0=定位无效,1=定位有效;<7>使用卫星数量,从00到12(第一个零也将传送)<8>水平精确度,0.5到99.9<9>天线离海平面的高度,-9999.9到9999.9米M指单位米<10>大地水准面高度,-9999.9到9999.9米M指单位米<11>差分GPS数据期限(RTCMSC-104),最后设立RTCM传送的秒数量<12>差分参考基站标号,从0000到1023(首位0也将传送)。解析内容: 第9,10个字段,海平面高度和大地水准面高度,单位是米4.5主体程序架构组成文件: main.cLCD.cGPS.cdisplay.c头文件:LCD.hGPS.hdisplay.hGPS模块通过串口向单片机发送固定格式的数据,单片机的串口接收到数据后,进行解析,在LCD上显示,定位信息包括:日期时间,经纬度,速度,角度,高度详细程序见附录二5毕业设计总结5.1设计体会为了做好毕业设计,在翻阅了大量的相关资料后,我的视野也有了进一步的拓展,培养了我对电路设计的兴趣,养成了科学严谨的思想。我的题目是GPS定位系统的设计,对于我们这些实践中的新手来说,这是一次考验。怎样让自己的计划更具有序性,而不会忙无一用?这都是我们所要考虑和努力的。这次课程设计我学到很多很多的东西,学会了怎么样去制定计划,怎么样去实现这个计划,并掌握了在执行过程中怎么样去克服心理上的不良情绪。不仅巩固了以前所学过的知识,而且学到了很多在书本上没有学到过的知识,掌握了一种系统的研究方法,可以进行一些简单的编程。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。同时在设计的过程中发现了自己的不足之处,例如对以前所学过的知识理解得不够深刻,掌握得不够牢固,对C语言掌握得不够好等。5.2结论经过测试,本课题所围绕的话题—基于单片机的GPS定位系统基本上实现其预期功能,并显示出良好的效果,基本上完成课题要求的任务。

参考文献[1]赵秀珍.单片微型计算机原理及其应用[M].北京:中国水利水电出版社,2001Zhaoxiuzhen,Singlechipcomputerprincipleanditsapplication[M].Beijing:China'swaterconservancyandhydropowerPress,2001[2]胡如龙,胡彪,邓湘凤.一种基于AT89C51单片机嵌入式系统的温湿度检测控制系统[J].中国科技论文在线Hurulong,Hubiao,Dengxiangfeng.BasedonAT89C51embeddedsystemofthetemperatureandhumiditycontroltestingsystem[J].Chinascienceandtechnologypaperonline[3]张毅刚.MCS-51单片机应用设计[M].哈尔滨:哈尔滨工大学出版社,1990Zhangyigang,MCS-51SCMdesign[M].Harbin:HarbinworkuniversityPress,1990[4]方佩敏.新编传感器原理、电路详解[M].北京:电子工业出版社,2003Fangpeimin,Thenewsensorprinciple,circuitexplanation[M].Beijing:ElectronicsindustryPress,2003[5]李华.MCS-51系列单片机实用接口技术[M].北京:北京航空航天大学出版社,1993Lihua,MCS-51seriespracticaltechnology[M].Beijing:BeijingaerospaceuniversityPress,1993[6]马忠梅.单片机的C语言Windows环境编程宝典[M].北京:北京航空航天大学出版社,2003Mazhongmei,SCMClanguageWindowsenvironmentprogrammingtreasuredian[M].Beijing:BeijingaerospaceuniversityPress,2003[7]李光飞.单片机C程序设计指导[M].北京:北京航空航天大学出版社,2003Liguangfei,SCM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论