基于单片机的GPS定位系统设计.docx
- 文档编号:7448934
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:46
- 大小:604.20KB
基于单片机的GPS定位系统设计.docx
《基于单片机的GPS定位系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的GPS定位系统设计.docx(46页珍藏版)》请在冰豆网上搜索。
基于单片机的GPS定位系统设计
基于单片机的GPS定位系统设计
摘要
GPS是全球定位系统英文名词GlobalPositioningSystem的缩写。
该系统是美国布设的第二代卫星无线电导航系统。
它能为用户提供全球性、全天候、连续、实时、高精度的三维坐标、三向速度和时间信息.其目的是在全球范围内对地面和空中目标进行准确定位和监测。
现在,GPS接收机作为一种先进的导航和定位仪器,已在军事及民用领域得到广泛的应用。
本设计是基于AT89C51单片机来实现的简易GPS定位信息显示系统。
本控制系统主要完成接受数据、时间显示、经度显示、纬度显示等常规功能。
此方案基于单片机、GPS模块和12864液晶显示屏等硬件,并应用C语言实现了GPS信号的提取、显示及基本的键盘控制操作等。
经过实践测试,这种接收机可以达到基本GPS信息的接收以及显示,可以做到体积小、精度高、连续导航,并可广泛应用于个人野外旅游探险、出租汽车定位及海上作业等领域。
关键词:
GPS定位系统,单片机,液晶显示屏
DesignofGPSReceiverBasedon51singlechipcOmputer
ABSTRACT
GPSistheabbreviationoftheEnglishtermGlobalPositioningSystemglobalpositioningsystem.ThesystemistheUnitedStateslaidthesecondgenerationsatelliteradionavigationsystem.Itcanprovideuserswithcontinuous,real-time,global,round—the-clock,highprecisionthreedimensionalcoordinates,threevelocityandtimeinformation.Aimedattargetsonthegroundandintheairaroundtheworldanaccuratepositioningandmonitoring.Now,asanadvancedGPSreceivernavigationandpositioningequipment,hasawiderangeofapplicationsinmilitaryandcivilianareas.
ThisdesignbasedontheAT89C51microcontrollerisusedtoimplementasimpleGPSpositioninginformationdisplaysystem。
Thiscontrolsystemismainlydonetoacceptthedata,timedisplay,latitude,longitude,andotherroutinefunctions。
Thisprogramisbasedonsingle—chip,GPSmoduleand12864LCDdisplay,hardware,clanguageimplementationandapplicationoftheGPSsignalextraction,displayandkeyboardcontrolofbasicoperations.Practicetests,thisreceivercanreceiveanddisplaythebasicGPSinformation。
smallsize,highaccuracy,continuousnavigationcanbedone,andcanbewidelyappliedtoindividualsinthewildtouradventure,hirecarpositioningandoperationsatsea,andotherareas.
KEYWORDS:
GPSpositioningsystem,microcontroller,LCDdisplay
目 录
前 言
GPS卫星导航全球定位系统问世以来,在导航、定位领域发展势头迅猛,引起世界各界人士的关注。
具备高精度、全天候、全球覆盖、高效率、多功能、操作简便等特点。
广泛应用于地面车辆跟踪和城市智能交通管理方面。
车载GPS系统配合电子地图,适时掌握自己的方位与目的地,对锁定目标进行跟踪、监控,从而达到防御、求援之目的.满足对机动车辆的指挥、调度、管理、监控、导航、通讯等需求。
改变了人们的工作方式,提高了工作效率,带来了巨大的社会效益和经济效益.随着人们对运输载体的监控、跟踪以及智能化管理要求的提高,GPS在中国即将进入爆发性发展阶段,蕴藏着巨大的发展空间。
GPS系统包括三大部分:
空间部分—-GPS卫星星座;地面控制部分——地面监控系统;用户设备部分-—GPS信号接收机。
GPS系统通过使用来自多个卫星的信号来确定地面或近地面任何位置的移动接收机的位置.我国的卫星定位技术综合了GPS卫星导航全球定位,GSM全球数字蜂窝移动通信,GIS地理信息,计算机网络技术全方位的技术应用。
利用GPS卫星信号接收机,跟踪这些卫星的运行,对所接收到的GPS信号进行变换、放大和处理,测量传播时间,解译导航电文。
接收机24h不间断地接收卫星发送的数据参数,算出接收的三维位置、三维方向以及运动速度和时间信息。
全球定位系统GPS是近年来开发的最具有开创意义的高新技术之一,其全球性、全能性、全天候性的导航定位、定时、测速优势必然会在诸多领域中得到越来越广泛的应用。
在发达国家,GPS技术已经开始应用于交通运输和道路工程之中。
目前,GPS技术在我国道路工程和交通管理中的应用还刚刚起步,相信随着我国经济的发展,高等级公路的快速修建和GPS技术应用研究的逐步深入,其在道路工程中的应用也会更加广泛和深入,并发挥更大的作用。
自20世纪90年代GPS系统向全世界免费开放以来,GPS系统已广泛应用在导航、大地测量、精确授时、线路巡检及车辆防盗等领域。
接收机是获得GPS系统服务的关键设备,目前已有从手持式到台式数百种型号的接收机可供用户选择。
通用接收机功能齐全,除了信号接收单元外,往往还配置有显示单元和人机对话设备。
这一方面为用户提供了极大的方便,但GPS定位接收机价格比较昂贵而且使用灵活性低,难以满足特定条件下的应用需求,造成了资金浪费。
因此,众多用户期望按照自己的使用环境和性能要求设计和使用个性化的GPS定位接收机。
本文首先介绍了GPS系统由来及其发展、基本概念、GPS接收机的工作原理及接收机定位流程。
然后对单片机及其串口通信、M-87及其NMEA—0183语句的数据格、液晶显示器进行了详细论述,并且设置了所需的外围电路。
接着详细地介绍了该GPS接收机的软件设计过程。
通过C语言实现了GPS信号的提取、显示等。
经过实践测试,这种接收机可以达到基本GPS信息接收以及显示,可以做到方便灵活、优质价廉、精度高、连续导航、抗干扰能力强,并可广泛应用于个人野外旅游探险、出租汽车定位及海上作业等领域.
第1章GPS系统简介
1。
1GPS的由来及发展
导航卫星定时测距全球定位系统(NavigationSatelliteTimingandRangingGlobalPositionSystemGPS)是美国第二代卫星导航系统。
它在1973年底由美国陆海空三军等单位协调分工提出的能取代旧式的导航设备,为军用舰船、飞机车辆等用户提供全球全天候、连续实时服务的高精度三维导航系统。
系统由空间部分、地面监控部分和地面接收机部分组成。
定位服务包括精密定位服务(PPS)和标准定位服务(SPS)。
PPS授权的精密定位系统用户需要密码设备和特殊的接收机。
SPS对于普通民用用户,供全世界用户免费、无限制地使用。
由于GPS具有全球覆盖以及精度高、定位速度快、实时性好、抗干扰能力强等特点,近年来在国内外得到广泛的应用,在各个领域发挥了极大的作用,已成为信息时代不可缺少的一部分.各种GPS民用产品的开发,已是经济和社会发展的必然要求,其前景将会非常广阔和光明,尤其是在我国,通过这些年来对它认识不断加深,我国的GPS开发应用也一定会以科技力量推动经济和社会发展的一颗巨星,对我国的经济和社会的发展产生重大的影响。
1.2GPS定位系统的基本原理
每颗GPS卫星时刻发布其位置和时间数据信号,用户接收机可以测量每颗卫星信号到接收机的时间延迟,根据信号传输的速度可以计算出接收机到不同卫星的距离。
同时收集至少4颗卫星的数据时,通过变频、放大、滤波等一系列处理过程,实现对GPS卫星信号的跟踪、锁定和测量,从而产生计算位置的数据信息(包括:
纬度、经度、高度、速度、日期、时间、航向、卫星状况等),经由I/O口输出串行数据.
1。
3GPS模块定位流程
(1)搜索可用卫星,接收卫星信号,与卫星信号同步,提取导航电文信息.
(2)从导航电文中获取计算位置所需的信息,这些信息应该包括时钟信息和星历等数据。
(3)计算卫星的准确位置,这包括计算卫星的高度和方位角,从而进行必要的对流层校正。
(4)计算伪距,并进行电离层校正等。
(5)重复上述过程,对所有可用卫星进行相应的计算。
(6)进行其他必要的校正,例如根据卫星信号到达GPS接收机的时间,校正地球旋转所造成的卫星位置的偏差.
(7)根据定位原理,计算出GPS接收机的初始位置,并将其转换成所需的坐标格式进行显示或输出.
(8)加入闰秒和UTC(标准世界时)时间补偿计算当前精确的时间.
(9)分析可用卫星的信息,计算最好的DOP(DilutionofPrecision),进行选星,并计算和修正GPS接收机的位置,给出GPS接收机的三维坐标和准确的时间信息。
1。
4本设计的主要工作
本文的主要目的是在GPS和单片机的理论知识上,选用Atmel公司的AT89C51提取GPS模块的接收数据并由12864液晶显示接收数据。
在此设计过程中,主要熟悉Holux—M-87GPS模块各性能指标,学习NMEA封包并懂得使用NMEA输出命令,结合单片机串行通信知识,实现对GPS接收到的卫星信息进行提取,并在12864液晶显示平台上选择性的显示数据。
第2章系统硬件设计
课题要求研制的GPS接收机要具有接收、处理、显示信息的功能.硬件上必须有相应的接收处理部分、显示部分和配置输入部分,同时需要处理器实现各部分功能的联合。
由于单片机集成度高,系统结构简单,价格低廉,同时技术成熟,处理器部分使用单片机实现.
本课题设计的硬件系统主要由:
单片机、GPS模块、显示部分等组成.如图2-1所示:
图2—1系统框图
2.1单片机
硬件核心控制任务是由单片机来完成的,单片机的采用使硬件电路设计大大简化,并且性能更加可靠。
目前,可采用的微处理器有很多种,如:
MCS-51、Me6sol、280、eopsoo等8位单片机,虽然16位单片机在1982年已经问世,但其发展并不像人们想象的那样快,尽管在某些性能指标方面超过了8位单片机,但从性价比及开发周期等综合效益上却不如8位单片机,因此应用并不普及。
在本次设计中,采用MCS-51系列单片机,虽然信号处理和计算的功能相对差些,但其结构简单、体积小、性价比高、可靠性高、功耗小及应用范围广,适合于小型化作业。
因此,选择AT89C51单片机作为微控制器.它具有全双工异步通信口,可与M—87接口进行数据读取、处理和输出.GPS信号接收和处理部分与单片机进行串口通信时,由于都采用了TTL电平,故两者之间不需进行电平转换就可直接通信.
2.1.1AT89C51单片机的结构原理
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压、高性能CMOS8位微处理器,俗称单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效精简微控制器。
AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价格低廉的方案,其引脚排列如图2-2所示:
图2—2AT89C51引脚图
引脚XTAL1和XTAL2分别为反向放大器的输入和输出.该反向放大器可以配置为片内振荡器,石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度.
2.1.2AT89C51单片机的主要特性
(1)与MCS—51兼容。
(2)4K字节可编程闪烁存储器。
(3)寿命:
1000写/擦循环.
(4)数据保留时间:
10年。
(5)全静态工作:
0Hz—24MHz。
(6)三级程序存储器锁定。
(7)128×8位内部RAM。
(8)32可编程I/O线。
(9)两个16位定时器/计数器。
(10)5个中断源。
(11)可编程串行通道。
(12)低功耗的闲置和掉电模式。
(13)片内振荡器和时钟电路。
2.2GPS模块
2。
2。
1概述
根据设计需要,GPS模块选用M—87,如图2—3所示。
M—87是一种根据低耗电MediatekGPS解决方案设计的超小型25.4×25。
4×7mmGPS引擎机板。
它是一个高性能、低功耗、小型并很容易联合的GPS模块,应用范围广泛。
它对于导航应用提供高达-159dBm的绝佳灵敏度与快速的第一次定位时间.M—87是您想要内嵌在使用于GPS服务的PDA、PND、行动电话、可携式装置设计中的最佳选择。
图2—3M-87GPS模块
2。
2.2主要技术参数及产品特点
主要技术参数:
(1)工作电压:
3.5~5V直流。
(2)接收灵敏度:
-159dBm。
(3)体积大小:
25。
4×25.4×7mm。
(4)模块重量:
7克。
(5)定位精度:
<3m
(6)系统内存:
4MB
产品特点:
外形精巧,灵敏性高,可搜寻多达32个卫星频道,能够快速进行位置修正.低耗电,可使用RTCM—in,内建WAAS/EGNOS/MSAS解调器,支援NMEA0183V3。
01数据通讯协定。
定位服务的即时导航,适用于汽车导航、船只导航、舰队管理、AVL和定位服务、自动导航、个人导航或旅游装置、追踪装置系统和地图装置应用。
2.2.3管脚介绍及与单片机的接口电路
GPS模块管脚说明如表2-1所示:
表2-1管脚说明
管脚
管脚名称
功能描述
1
VCC—5V
+3.5~5。
5Vdc电量输入
2
TXA
串行数据输出端口A(CMOS3V:
Voh2。
4VVol0。
4VIoh=Iol=2mA)
3
RXA
串行数据输入端A(CMOS3V:
Vih≧0。
7*VCCVil≦0。
3*VCC)
4
RXB
串行数据输入端B(CMOS3V:
Vih≧0。
7*VCCVil≦0。
3*VCC)
5
GND
接地
6
时钟/复位
时钟:
1PPS时钟信号输出(Vil≦0.2V脉冲
宽度10ms)。
复位:
复位输入
电源输出的5V直流电压送到变换器中,基准频率经过频率变换和频率综合分别送到解调器中和C/A码发生器中,经过一系列处理后再输入到伪码和相位测量,经测量后将数据送到CPU,CPU收到信号后做出相应的判断并送出命令,控制显示器和各个部件的工作状态。
下面是GPS模块M—87与单片机的连口电路,如图2—4所示:
图2—4单片机和GPS接收机的接口电路
GPS模块接收到卫星信号后,通过全球定位系统导航,它计算、定位和确定时间信息,通过串口移植到AT89C51单片机。
AT89C51单片机解码定位导航和时间信息,并转换成时间、经度、纬度信号,然后将它们发送到单片机液晶显示模块LCD12864模块。
2.3显示部分
LCD12864与单片机的接线原理图如图2-5所示:
如图2-5LCD12864与单片机的接线原理图
晶振电路提供单片机的时钟信号,电容C1与电阻R1提供MCU的复位信号;LCD12864的DB0~DB7接受单片机的P0口发送的数据,P2。
0~P2。
2控制LCD的正常工作,P2。
6端口控制LCD液晶屏的亮度。
2.3。
1LCD12864概述
带中文字库的LCD12864是一种具有4位、8位并行、2线或3线串行多种接口方式,内部含有国标一级、二级简体中文字库的点阵图形液晶显示模块,其显示分辨率为128×64,内置8192个16×16点汉字,和128个16×8点ASCII字符集.利用该模块灵活的接口方式和简单、方便的操作指令,可构成全中文人机交互图形界面。
可以显示8×4行、16×16点阵的汉字,也可完成图形显示。
低电压低功耗是其又一显著特点。
由该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块相比,不论硬件电路结构或显示程序都要简洁的多,且该模块的价格也略低于相同点阵的图形液晶模块.
2.3.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.3。
3模块接口说明
表2—2LCD12864管脚说明
管脚号
管脚名称
电平
管脚功能描述
1
VSS
0V
电源地
2
VCC
3.0+5V
电源正
3
V0
—
对比度(亮度)调整
4
RS(CS)
H/L
RS=“H”,表示DB7-—DB0为显示数据
RS=“L",表示DB7——DB0为显示指令数据
5
R/W(SID)
H/L
R/W=“H”,E=“H”,数据被读到DB7-—DB0
R/W=“L”,E=“H→L”,DB7——DB0的数据被写到IR或DR
6
E(SCLK)
H/L
使能信号
7
DB0
H/L
三态数据线
8
DB1
H/L
三态数据线
9
DB2
H/L
三态数据线
10
DB3
H/L
三态数据线
11
DB4
H/L
三态数据线
12
DB5
H/L
三态数据线
13
DB6
H/L
三态数据线
14
DB7
H/L
三态数据线
15
PSB
H/L
H:
8位或4位并口方式,L:
串口方式(见注释1)
16
NC
—
空脚
17
/RESET
H/L
复位端,低电平有效(见注释2)
18
VOUT
—
LCD驱动电压输出端
19
A
VDD
背光源正端(+5V)(见注释3)
20
K
VSS
背光源负端(见注释3)
*注释1:
如在实际应用中仅使用串口通讯模式,可将PSB接固定低电平,也可以将模块上的J8和“GND”用焊锡短接。
*注释2:
模块内部接有上电复位电路,因此在不需要经常复位的场合可将该端悬空。
*注释3:
如背光和模块共用一个电源,可以将模块上的JA、JK用焊锡短接。
第3章系统软件设计
3。
1系统软件概述
图4—1系统程序流程图
图4-1为GPS全球定位系统的主程序流程图。
系统软件主要由初始化模块、数据接收处理模块组成。
软件程序见附录A。
3.2软件程序的编写
3.2。
1初始化模块
初始化模块完成开机上电后对单片机、液晶显示器和GPS模块的初始化工作。
对单片机设置串口工作模式、设置波特率和中断工作模式;对液晶显示器设置开机画面和显示模式;完成对GPS模块串口的成功通信。
3.2。
2数据接收处理模块
数据接收处理模块负责处理从GPS接收到的数据。
在单片机串口收到信息后,先判别是否为语句引导头“$",再接收信息内容,然后根据语句标识区分出信息类别以对收到ASCII码进行处理显示。
若整个数据接收正确,便对数据进行处理;若接收不正确,则重新进行接收。
本设计中,接收时主要提取并存储以下数据内容:
当前日期、时间、定位状态、纬度、经度。
特别注意的是GPS发送的时间是世界统一时,与我国的时区相差八个小时,所以还要将时间作转换。
北京时间应在UTC时间上加上8小时才是准确的北京时,在超出24小时时应作减24小时处理.转换时间要考虑到年月日的变更.数据更新率为每秒一次.系统工作时GPS模块不断得到新的数据,单片机不断刷新RAM,处理完后的数据送液晶显示器显示.数据接收处理程序流程图如下面图4—2所示.
图4-2数据接收处理程序流程图
第4章系统调试
4。
1硬件调试
按照电路原理图对器件进行连接,各个管脚要相互对应,在没通电之前,先用万用表检查线路的正确性,并核对元器件的型号、规格是否符合要求。
并特别注意电源的正负极以及电源之间是否有短路,并重点检查地址总线,数据总线,控制总线是否存在相互间的短路或其他信号线的短路。
通电后检查引脚的电位,仔细测量各点电位是否正常,尤其应注意单片机的插座上各点电位,若有高压,将有可能损坏单片机仿真器。
在断电情况下,用仿真插头将所连接电路与单片机仿真器的仿真接口相连,为软件调试做好准备。
4。
2软件调试
在对GPS接收到的卫星信息进行处理时,碰到较为麻烦的问题是在对接收到的时间信息进行转换上.直接从卫星接收到的时间是UTC时间,北京时间应在UTC时间上加上8小时才是准确的北京时,在超出24小时时应作减24小时处理。
刚开始将对时间转换的算法放在主函数中处理,程序如下:
if(g_Ptr==2)//接收到正确的数据帧
{
i=g_DisTime[0]—’0';//提取时间的小时位高位并转换码型
j=g_DisTime[1]-'0’;//提取时间的小时位低位并转换码型
j=i*10+j+8;//在UTC时间上加上8个小时
if(j>=24)//判断得到的时间是否超过24小时,超出变作减24处理
{
j—=24;
}
g_DisTime[0]=j/10+'0';//将北京时间高一位作码型变换并赋予高一位显示
g_DisTime[1]=j%10+’0’;//将北京时间高二位作码型变换并赋予高二位显示
}
在调试中出现一个问题,在做了以上的处理后,时间的小时位数据并不完全正确,高位显示的与北京时间相同,但低位却与UTC时间相同.在做了各种尝试(如在UTC时间上做加9处理、直接给六位时间g_DisTime[5]赋值等)后总结出这样一个问题,以上的算法处理只对六位数据位的高一位处理有效,低五位的显示始终
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 GPS 定位 系统 设计