基于51单片机的GPS定位系统.docx
- 文档编号:24092632
- 上传时间:2023-05-24
- 格式:DOCX
- 页数:40
- 大小:256.46KB
基于51单片机的GPS定位系统.docx
《基于51单片机的GPS定位系统.docx》由会员分享,可在线阅读,更多相关《基于51单片机的GPS定位系统.docx(40页珍藏版)》请在冰豆网上搜索。
基于51单片机的GPS定位系统
摘要
全球定位系统(GPS)是由美国国防部开发的一种先进的无线电导航系统。
该系统能够全天候、全方位的为海陆空用户提供连续的、高精度的三维坐标、三维速度和时间等信息。
它所具有的诸多优点是其他导航设备所无法比拟地。
现在,GPS接收机作为一种先进的导航和定位仪器,已在军事及民用领域得到广泛的应用。
本设计详细介绍了一种成本低又能满足性能使用要求的经济型GPS接收机的设计方案。
此方案基于单片机、GPS模块和1602液晶显示屏等硬件,并应用C语言实现了GPS信号的提取、显示及基本的键盘控制操作等。
经过实践测试,这种接收机可以达到基本GPS信息接收以及显示,可以做到体积小、精度高、连续导航,并可广泛应用于个人野外旅游探险、出租汽车定位及海上作业等领域。
关键词:
GPS;单片机;上位机;LCD1602
ABSTRACT
GlobalPositioningSystem(GPS)isthemostadvancedradionavigationsystemwhichwasdevelopedbytheU.SDepartmentofDefence.Thesystemcanbeusedunderanyweatherconditions,alldaylongandanywhereontheearth.Itcanprovideland,marineandairborneuserwithcontinuous,highlyaccuratethree-dimensionposition,velocity,timedataetc.Ithasvariousadvantagesthatareunexampledotherkindofnavigationequipment.NowGPSreceivers,asatypeofadvancedequipmentonnavigationandpositioning,havebeenwidelyusedinbothmilitaryandcivilfield.
Thisdesignintroducedindetailonekindoflow-costeconomyGPSreceiver'sdesignproposalwhichcansatisfytheperformanceoperationrequirements.Thisplanisbasedonsinglechipcomputer、GPSand1602liquidcrystaldisplaymonitors,andhasrealizedtheGPSsignalextraction,thedemonstrationandthebasickeyboardcontroloperationandsoonusingtheClanguage.Bypracticalmeasurement,thereceivercanachieveGPSinformationreceiveanddisplay.Ithassmallsizeandlowcost,canbeusedinwildadventuretourism,taxipositioningandoperationsatsea.
KEYWORDS:
GPS;MCU;PC;LCD1602
目 录
前 言
GPS主系统是美国发射运行的卫星系统,包含了27颗能持续发送地理位置海拔高度和时间信号的卫星,24个正常使用,3个备用,这些卫星平均分布运行在六个轨道上。
一般来说,在地面上的GPS接收器能接收5~12个卫星信号,而为了获得地面上的定位坐标,GPS导航至少需要4个卫星信号,三个用来确定GPS接收器的纬度、经度和海拔高度,第四个则提供同步校正时间[1]。
全球定位系统由三部分构成:
太空卫星部份:
由24颗绕极使用卫星所组成,分成六个轨道,运行于约20200公里的高空,绕行地球一周约12小时。
每个卫星均持续着发射载有卫星轨道数据及时间的无线电波,提供地球上的各种接收机来应用。
地面管制部份:
这是为了追踪及控制上述卫星运转,所设置的地面管制站,主要工作为负责修正与维护每个卫星能保持正常运转的各项参数数据,以确保每个卫星都能提供正确的讯息给使用者接收机来接收。
使用者接收机:
追踪所有的GPS卫星,并实时地计算出接收机所在位置的坐标、移动速度及时间,各种蓝牙GPS即属于此部份。
我们通常所说的GPS,就是第3部分。
它可以实时提供全天候、全球性的三维定位、测速与授时功能的卫星系统,具有测量精度高、速度快、用户数量不限、抗干扰能力强等一系列优点,除了可用于军事领域外,还可以广泛用于工农业生产、交通运输、野外探险等领域。
自20世纪90年代GPS系统向全世界免费开放以来,GPS系统已广泛应用在导航、大地测量、精确授时、线路巡检及车辆防盗等领域。
接收机是获得GPS系统服务的关键设备,目前已有从手持式到台式数百种型号的接收机可供用户选择。
通用接收机功能齐全,除了信号接收单元外,往往还配置有显示单元和人机对话设备。
这一方面为用户提供了极大的方便但GPS定位接收机价格比较昂贵而且使用灵活性低,难以满足特定条件下的应用需求,造成了资金浪费。
因此,众多用户期望按照自己的使用环境和性能要求设计和使用个性化的GPS定位接收机。
1GPS系统简介及设计方案选择
1.1GPS系统简介
1.1.1GPS由来及发展
导航卫星定时测距全球定位系统(NavigationSatelliteTimingandRangingGlobalPositionSystemGPS)是美国第二代卫星导航系统。
它在1973年底由美国陆海空三军等单位协调分工提出的能取代旧式的导航设备,为军用舰船、飞机车辆等用户提供全球全天候、连续实时服务的高精度三维导航系统。
系统由空间部分、地面监控部分和地面接收机部分组成。
定位服务包括精密定位服务(PPS)和标准定位服务(SPS)。
PPS授权的精密定位系统用户需要密码设备和特殊的接收机。
SPS对于普通民用用户,供全世界用户免费、无限制地使用[2]。
由于GPS具有全球覆盖以及精度高、定位速度快、实时性好、抗干扰能力强等特点,近年来在国内外得到广泛的应用,在各个领域发挥了极大的作用,已成为信时代不可缺少的一部分。
各种GPS民用产品的开发,已是经济和社会发展的必然要求,其前景将会非常广阔和光明,尤其是在我国,通过这些年来对它认识不断加深,我国的GPS开发应用也一定会以科技力量推动经济和社会发展的一颗巨星,对我国的经济和社会的发展产生重大的影响。
1.1.2GPS定位基本原理
GPS定位技术的基本原理是采用测量学中通用的测距交会方法.GPS接收机在某一时刻接收到4颗以上的GPS卫星信号导航电文,通过变频、放大、滤波等一系列处理过程,实现对GPS卫星号的跟踪、锁定、测量,从而产生计算位置的数据信息(包括:
纬度、经度、高度、速度、日期、时间、航向、卫星状况等),经由I/O口输出串行数据.
1.1.3GPS接收机定位流程
1.搜索可用卫星,接收卫星信号,与卫星信号同步,提取导航电文信息;
2.从导航电文中获取计算位置所需的信息,这些信息应该包括时钟信息和星历等数据;
3.计算卫星的准确位置,这包括计算卫星的高度和方位角,从而进行必要的对流层校正;
4.计算伪距,并进行电离层校正等;
5.重复上述过程,对所有可用卫星进行相应的计算;
6.进行其他必要的校正,例如根据卫星信号到达GPS接收机的时间,校正地球旋转所造成的卫星位置的偏差;
7.根据定位原理,计算出GPS接收机的初始位置,并将其转换成所需的坐标格式进行显示或输出;
8.加入闰秒和UTC(标准世界时)时间补偿计算当前精确的时间;
9.分析可用卫星的信息,计算最好的DOP(DilutionofPrecision),进行选星,并计算和修正GPS接收机的位置,给出GPS接收机的三维坐标和准确的时间信息。
1.1.4任务的描述
我们针对全球定位系统GPS,自行研制了一套GPS接收机,具有接收、处理、显示信息能力并能进行键盘操作。
本设计着重对NMEA-0183语句的数据格式、单片机串行通信、液晶显示格式进行了详细论述,同时给出了硬件电路和软件设计。
工作要求:
准确地进行定位,显示出纬度、经度、速度、时间、方位角、天空中的卫星总数以及使用的卫星数。
通过按键可以进行复位与页面切换功能。
1.2设计方案选择
1.2.1方案一
系统由GPS-OEM板、电平转换电路(MAX232)、控制电路(8051单片机)、显示部分(SED1335彩色液晶显示器)组成。
但在和单片机进行串行通信时由于电平不同,必须附加电平转换电路(MAX232)而且价格比较昂贵。
单片机采用8051功能全面,但其内部ROM一般是掩膜ROM,不可更新改写。
SED1335彩色液晶显示器其有效显示点阵为320×240,显示颜色为4色,但根据我们设计要求,单色显示完全可以。
故不采用。
1.2.2方案二
系统由GPS模块(GR-87)、控制电路(89C51单片机)、显示部分(SMC1602液晶显示器)组成。
HOLUXGR-87是一个高性能,低功耗,小型的并且很容易联合的GPS模块。
该芯片每次将跟踪12枚卫星,应用广泛。
而且不用附加电平转换电路,可以直接与单片机进行串行通信。
单片机采用89C51,其功能完全可以满足设计要求,而且相对于8051,其内部ROM是FLASH-ROM,可多次更新改写,价格也便宜。
1602字符型液晶模块是一种用5x7位图形来显示字符的单色液晶显示器,显示2行16个字,可以满足设计要求而且经济实惠。
可以看出方案二更加实用,根据现实生活的需要,设计采用此方案。
2系统硬件设计
课题要求研制的GPS接收机要具有接收、处理、显示信息、键盘操作,硬件上必须有相应的接收处理部分、显示部分和配置输入部分。
同时需要处理器实现各部分功能的联结。
由于单片机集成度高,系统结构简单,价格低廉,同时技术成熟,处理器部分使用单片机实现。
本课题设计的硬件系统主要由:
单片机、GPS模块、显示部分等组成。
如图2-1所示:
图2-1系统框图
2.1单片机
2.1.1单片机概述
STC89C52是51系列单片机的一个型号,它是STC公司生产的。
STC89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用STCMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的STC89C52单片机可为您提供许多较复杂系统控制应用场合。
STC89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,STC89C52可以按照常规方法进行编程,但不可以在线编程(S系列的才支持在线编程)。
其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。
STC89C52有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。
主要功能特性
◆兼容MCS51指令系统
◆8k可反复擦写(>1000次)FlashROM
◆32个双向I/O口?
256x8bit内部RAM
◆3个16位可编程定时/计数器中断?
时钟频率0-24MHz
◆2个串行中断
◆可编程UART串行通道
◆2个外部中断源
◆共8个中断源
◆2个读写中断口线
◆3级加密位
◆低功耗空闲和掉电模式
◆软件设置睡眠和唤醒功能
8051单片机的引脚功能
MCS-51系列单片机一般采用40个引脚,双列直插式封装,用HMOS工艺制造,其外部引脚排列如图所示。
其中,各引脚的功能为:
(a)DIP引脚图(b)逻辑符号
8051单片机的引脚
⑴主电源引脚
Vcc(40脚):
接+5V电源正端
Vss(20脚):
接+5V电源地端
一般Vcc和Vss间应接高频去耦电容和低频滤波电容。
⑵外接晶体或外部振荡器引脚
XTAL1(19脚):
接外部晶振的一个引脚。
在单片机内部,它是一个反相放大器的输入端,这个放大器构成了片内振荡器OSC。
当采用外部振荡器时,此引脚应接地。
XTAL2(18脚):
接外部晶振的另一个引脚。
在片内接至反相放大器的输出端和内部时钟电路的输入端。
当采用外部振荡器时,此脚接外部振荡器的输出端。
⑶控制信号线
RST/VPD(9脚):
复位信号输入端,复位/掉电时内部RAM的备用电源输入端
ALE/(30脚):
地址锁存允许/编程脉冲输入。
用ALE锁存从P0口输出的低8位地址;在对片内EPROM编程时,编程脉冲由此输入。
(29脚):
外部程序存储器读选通信号,低电平有效。
/VPP(31脚):
访问外部存储器允许/编程电压输入。
EA为高电平时,访问内部存储器;低电平时,访问外部存储器。
对片内EPROM编程时,此脚接21V编程电压。
⑷多功能I/O口引脚
8051单片机设有4个双向I/O口(P0、P1、P2、P3),每一组I/O口线都可以独立地用作输入或输出口,其中:
①P0口(32~39脚)——双向口(三态),可作为输入/输出口,可驱动8个LSTTL门电路。
实际应用中常作为分时使用的地址/数据总线口,对外部程序或数据存储器寻址时低8位地址与数据总线分时使用P0口:
先送低8位地址信号到P0口,由地址锁存信号ALE的下降沿将地址信号锁存到地址锁存器后,再作为数据总线的口线对数据进行输入或输出。
②P1口(1~8脚)——准双向口(三态),可驱动4个LSTTL门电路。
用作输入线时,口锁存器必须由单片机先写入“1”,每一位都可编程为输入或输出线。
③P2口(21~28)——准双向口(三态),可驱动4个LSTTL门电路。
可作为输入/输出口,实际应用中一般作为地址总线的高8位,与P0口一起组成16位地址总线,用于对外部存储器的接口电路进行寻址。
④P3口(10~17脚)——准双向口(三态),可驱动4个LSTTL门电路。
双功能口,作为第一功能使用时,与P1口一样;作为第二功能使用时,每一位都有特定用途,其特殊用途如表所示:
端口引脚
第二功能
注释
P3.0
RXD
串行口数据接收端
P3.1
TXD
串行口数据发送端
P3.2
/INT0
外中断请求0
P3.3
/INT1
外中断请求1
P3.4
T0
定时/计数器0外部计数信号输入
P3.5
T1
定时/计数器1外部计数信号输入
P3.6
/WR
外部RAM写选通信号输出
P3.7
/RD
外部RAM读选通信号输出
2.1.2单片机最小系统
所谓单片机的最小系统是指使单片机能运行程序、正常工作的最简单电路系统,是保证单片正常启动、开始工作的必须电路,缺一不可。
单片机最小系统一般由单片机、程序存储器、时钟电路和复位电路组成。
对于8051单片机,由于片内有4K的程序存储器,所以其最小系统除了单片机本身外,只需外接时钟电路与复位电路即可。
复位及复位电路
8051单片机的复位
复位是使CPU和系统中其他功能部件都处于一个确定的初始状态,并从这个状态开始工作。
8051单片机在RST输入端(9脚)出现高电平时实现系统的复位和初始化。
在振荡器运行的情况下,要实现复位操作,必须使RST端的高电平至少保持两个机器周期(24个振荡周期)。
CPU在第二个机器周期内执行复位操作,以后每一个机器周期重复一次,直到RST降为低电平。
复位期间不产生ALE及/PSEN信号。
复位的内部操作使SP为07H,各端口(P0~P3)都为0FFH,特殊功能寄存器都为0,但不影响RAM的状态。
当复位结束(RST变为低电平)后,CPU从0000H开始执行程序。
值得注意的是:
8051单片机通电后并不运行ROM里的程序,只有正常复位后,才能开始工作。
复位电路
单片机的复位分为上电自动复位、按键手动复位两种和看门狗强制复位三种等。
上电复位通常利用电容的充放电来实现,按键复位则可分为按键脉冲复位和按键电平复位两种,看门狗复位则通过外接看门狗电路或软件看门狗程序实现。
常见的上电复位和按键复位电路如图所示。
(a)上电复位(b)按键脉冲复位(c)按键电平复位
图中,(a)为最简单的单片机复位电路。
当系统上电时,由于电容C两端的电压不会瞬间改变,所以8051的第9脚复位端会得到短暂的高电平,随后,电容通过电阻R进行充电,经过一段时间后,RST端变为低电平。
当电容的充放电时间常数RC足够大,能保证在RST端得到超过两个机器周期的高电平时,单片机完成复位操作,开始正常运行ROM里的程序。
(b)为按键脉冲复位电路。
当系统上电时,单片机并不复位,不能运行ROM里的程序,只有当系统上电后,按一下复位按键(图中未画出),反相器输出超过两个机器周期的高电平,才能完成系统复位。
(c)为包括上电复位功能的按键电平复位电路,是最常见的单片机复位电路之一。
当系统上电时,单片机的RST端得到两个以上机器周期的高电平,随后电容C经电阻R充电,变为低电平,完成单片机的上最复位。
在单片机的运行过程中,如果由于外界干扰等因素的影响,使单片机的程序跑飞,则可以通过按下按键K,使单片机完成复位操作。
当按下K键时,电容两端短路,RST接到电源VCC变为高电平,同时电容迅速放电,使电容的两个极板电位一致。
释放按键K后,电容C通过电阻R充电,经过两个以上机器周期的时间后,RST端变为低电平,完成单片机的复位。
时钟电路
时钟电路用于产生单片机的基本时钟信号。
8051的时钟信号可由内部振荡器产生,也可由外部电路直接提供。
内部振荡器的输入和输出脚分别为XTAL1和XSTCL2,由XTAL2给单片机内部电路提供时钟信号。
当时钟信号由外部电路提供时,外部时钟引入XTAL2,而XTAL1脚接地。
两种时钟信号的连接电路如图所示。
2.2GPS模块
2.2.1概述
根据设计需要,GPS模块选用GR-87。
HOLUXGR-87是一个高性能,低功耗,小型的并且很容易联合的GPS模块,它每次将跟踪12枚卫星,应用广泛。
当GR-87系统最初的自检完成后,它开始处理卫星所获得的数并自动跟踪。
在正常情况下,它需要大约45秒达到位置进行定位,但如果ephemeris数据知道,只用38秒即可。
在被计算了之后,合法的位置、速度和时间等信息被传送到输出通道,通过串口传送到单片机设备。
GR-87运用最初的数据,例如前被存放的位置、日期和卫星轨道数据,完成最大获取。
2.2.2GPS特性
.行业标准的25*25*4MM高灵敏度GPS天线
.UART/TTL,232电平,USB2.0可选接口
.采用KDS0.5PPM高精度TCXO
.内建RTC晶体及皮法电容更快的热启动
.内置EEPROM,自由丰富配置参数
.5Hz定位更新速率
.支持AssistNowOnline和AssistNowOffline等A-GPS服务
.GPS、GALILEO、SBAS(WAAS、EGNOS、MSAS、GAGAN)混合引擎
用户可以自由设置:
1.数据速率:
9600bps(默认)[可选:
1200,2400,4800,19200,38400,57600,115200,230400,460800,921600]
2.输出语句:
NMEA0183V3.0(GGA,GSA,GSV,RMC,VTG,GLL)协议数据,可任意设置搭配。
3.数据刷新率:
1HZ-5HZ的刷新率。
4.PPS指示灯:
未定位前常亮或者关闭;定位后闪烁。
5.AGPS:
支持自主辅助定位系统。
6.使能控制:
支持外部IO促发控制模块的开关状态。
7.卫星质量控制:
丰富的设置卫星质量控制及防止飘逸软体设置。
8.应用场景:
从步行模式-车载模式-静态模式-便携模式-空降模式及2D&3D定位用户可以自由设置。
默认如产品图片,为TTL信号输出。
2.3显示部分
2.3.1LCD12864模块简介
液晶显示器件(LCD)独具的低压、微功耗特性使他在单片机系统中特得到了广泛的应用,常用的液晶显示模块分为数显液晶模块、点阵字符液晶模块和点阵图形液晶模块,其中图形液晶模块在我国应用较为广泛,因为汉字不能像西文字符那样用字符模块即可显示,要想显示汉字必须用图形模块。
下图为LCD12864接口
本课设所选择的LCD是lcd12864的汉字图形型液晶显示模块,可显示汉字及图形。
表3.1LGM12641接口说明表
管脚号
管脚
电平
说明
1
CS1
H/L
片选择信号,高电平时选择前64列
2
CS2
H/L
片选择信号,高电平时选择后64列
3
GND
0V
逻辑电源地
4
VCC
5.0V
逻辑电源正
5
V0
LCD驱动电压,应用时在VEE与V0之间加一2K可调电阻
6
RS
H/L
数据\指令选择:
高电平:
数据D0-D7将送入显示RAM;
低电平:
数据D0-D7将送入指令寄存器执行
7
R/W
H/L
读\写选择:
高电平:
读数据;低电平:
写数据
8
E
H/L
读写使能,高电平有效,下降沿锁定数据
9
DB0
H/L
数据输入输出引脚
10
DB1
H/L
数据输入输出引脚
11
DB2
H/L
数据输入输出引脚
12
DB3
H/L
数据输入输出引脚
13
DB4
H/L
数据输入输出引脚
14
DB5
H/L
数据输入输出引脚
15
DB6
H/L
数据输入输出引脚
16
DB7
H/L
数据输入输出引脚
17
RST
L
复位信号,低电平有效
18
VOUT
-10V
LCD驱动电源
2.3.2指令描述
(1)显示开/关设置
L
L
L
L
H
H
H
H
H
H/L
CODE:
R/WRSDB7DB6DB5DB4DB3DB2DB1DB0
功能:
设置屏幕显示开/关。
DB0=H,开显示;DB0=L,关显示。
不影响显示RAM(DDRAM)中的内容。
(2)设置显示起始行
CODE:
R/WRSDB7DB6DB5DB4DB3DB2DB1DB0
L
L
H
H
行地址(0~63)
功能:
执行该命令后,所设置的行将显示在屏幕的第一行。
显示起始行是由Z地址计数器控制的,该命令自动将A0-A5位地址送入Z地址计数器,起始地址可以是0-63范围内任意一行。
Z地址计数器具有循环计数功能,用于显示行扫描同步,当扫描完一行后自动加一。
(3)设置页地址
CODE:
R/WRSDB7DB6DB5DB
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 GPS 定位 系统