单片机.docx
《单片机.docx》由会员分享,可在线阅读,更多相关《单片机.docx(11页珍藏版)》请在冰豆网上搜索。
![单片机.docx](https://file1.bdocx.com/fileroot1/2023-2/6/2d091213-c9b7-437f-8e46-eb27a39aa421/2d091213-c9b7-437f-8e46-eb27a39aa4211.gif)
单片机
基于AT89C52单片机的液晶GPS定位仪设计
程晓钰
(河南师范大学河南新乡453007)
摘要
随着科学技术的进步和电子技术的不断发展,单片机GPS定位仪越来越广泛地被运用到各个领域中。
本文在介绍GPS定位基本原理的基础上,提出了一种基于AT89C52系列单片机的液晶GPS定位仪的设计方案,详细介绍了定位仪的硬件和软件设计。
单片机接收到定位信息和时间信息后,将GPS模块输出的时间信息进行时差调整,再将所获取的位置和时间信息通过显示终端显示。
经过调试后,系统可以接收GPS定位信息和时间信息,并把经度、纬度和时间通过屏幕显示出来。
实际应用表明,该系统能够实现对GPS全球定位系统的定位导航信息帧参数的提取,实现了GPS空间数据的读取显示,具有体积小、功耗低、价格低廉的特点,有良好的应用价值。
关键词:
AT89C52单片机;液晶GPS;数据处理;定位仪
LCDGPSlocatordesignbasedonsinglechipmicrocomputerAT89C52
ChengXiaoyu
Henanxinxiangofhenannormaluniversity(453007)
abstract
Withtheprogressofscienceandtechnologyandthecontinuousdevelopmentofelectronictechnology,single-chipmicrocomputerGPSlocatorismoreandmorewidelyusedinvariousfields.Inthispaper,onthebasisofthebasicprincipleofGPSpositioningisproposedbasedonaseriesofsingle-chipmicrocomputerAT89C52LCDGPSlocatordesignscheme,andlocatorhardwareandsoftwaredesignareintroducedindetail.
Afterthemicrocontrollerreceivesthepositioninginformationandtimeinformation,timeinformationofGPSmoduleoutputjetlagadjustmentandthenlocationandtimeinformationcanbeobtainedthroughthedisplayterminal.Afterdebugging,thesystemcanreceiveGPSinformationandtimeinformation,andthelongitude,latitudeandtimethroughthescreendisplay.
Actualapplicationshowsthatthesystemcanachievetheglobalpositioningsystem(GPS)navigationandpositioninginformationframeparametersextraction,realizedtheGPSdisplayspatialdataread.Ithascharacteristicsofsmallvolume,lowpowerconsumption,lowpricesandthegoodapplicationvalue.
Keywords:
AT89C52singlechipmicrocomputer;LCDGPS;Dataprocessing;Locator;
0引言
全球定位系统(GlobalPositioningSystem,GPS)是美国从20世纪70年代开始研制,于1994年全面建成,以接收导航卫星信号为基础的非自主式导航与定位系统。
它具有全球搜盖、全天候、连续实时提供高精度的三维位置、三维速度和时间信息的能力,很好地解决了人类的导航和定位问题。
随着全球定位系统的不断改进及软硬件的不断完善,使其不论在军事还是民用领域都得到广泛的应用和发展,已成为信息时代不可缺少的一部分。
市场上已有许多基于GPS接收机开发的产品,如车载导航系统、GPS手持式用户机等,但价格比较昂贵。
因此,本文提出了一种基于AT89C52单片机的GPS定位仪的设计方案,并对相关数据信息的处理做了重点的设计。
该系统设计简易、性价比高、对研究GPS二次开发应用具有参考价值。
1GPS组成及定位原理
1.1GPS的组成
GPS的整个系统由空间部分、地面控制部分和用户部分所组成。
(1)空间部分:
GPS的空间部分是由24颗GPS工作卫星所组成,这些GPS工作卫星共同组成了GPS卫星星座。
其中21颗为可用于导航的卫星,3颗为活动的备用卫星。
这24颗卫星分布在6个倾角为55b的轨道上绕地球运行,运行周期约为12恒星时。
每颗GPS工作卫星都发出用于导航定位的信号。
(2)控制部分:
GPS的控制部分由分布在全球的由若干个跟踪站所组成的监控系统所构成。
根据其作用的不同,这些跟踪站又被分为主控站(1个)、监控站(5个)和注入站(3个)。
主控站的作用是根据各监控站对GPS的观测数据,计算出卫星的星历和卫星钟的改正参数等,并将这些数据通过注入站注入到卫星中去。
同时,它还对卫星进行控制,向卫星发布指令。
当工作卫星出现故障时,调度备用卫星,替代失效的工作卫星工作。
另外,主控站也具有监控站的功能。
监控站的作用是接收卫星信号,监测卫星的工作状态。
注入站的作用是将主控站计算出的卫星星历和卫星钟的改正数等注入到卫星中去。
(3)用户部分:
GPS信号接收机。
GPS信号接收机的任务是捕获一定卫星高度截止角所选择的待测卫星信号,并跟踪这些卫星的运行。
对所接收到的GPS信号进行变换、放大处理,以便测量出GPS信号从卫星到接收机天线的传播时间,解译出GPS卫星所发送的导航电文,实时地计算出测站的三维位置。
1.2GPS的定位原理
GPS的基本定位原理是:
以高速运动的卫星瞬间位置作为已知的起算数据,卫星不间断地发送自身的星历参数和时间信息,用户接收到这些信息后,采用空间距离后方交会的方法,计算求出接收机的
三维位置、三维方向以及运动速度和时间信息。
对于需定位的每一点来说都包含有4个未知数:
该点三维地心坐标和卫星接收机的时钟差,故GPS定位至少需要4颗卫星的观测来进行计算。
如
图14颗卫星观测
图1所示可以确定以下4个方程式:
求解未知数
进行定位、定时。
上述4个方程式中待测点坐标x、y、z和t为未知参数,c为GPS信号的传播速度(即光速)。
其中,
—
是卫星1一4到定位点的距离,其值可通过信号从卫星到达定位点的时间乘以电波速度得到,即
=
(i=1,2,3,4)。
是每个卫星的星历参数,即卫星的轨道坐标(i=1,2,3,4;j=l,2,3,4;k=1,2,3,4);
—
是各个卫星的时钟差。
t是接收机的时钟差。
2系统硬件设计
该GPS定位仪采用AT89C52单片机为处理器,以控制键盘和液晶显示作为人机对话接口与GPS定位模块进行数据交换。
图2为基于AT89C52单片机的液晶GPS定位仪的原理框图,硬件部分主要由GPSOEM模块、AT89C52单片机、CGM-12232液晶显示器等组成。
GPSOEM模块发送定位信息数据至单片机串行口,经单片机处理后送到液晶显示器显示。
AT89C52是美国
ATMEL公司生产的低电压、高性能CMOS8位单片机,片内含8KB的可反复擦写的FLASH只读程序存储器和256B的随机存取数据存储器(RAM),与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和FLASH存储单元,适合于许多较为复杂控制应用场合。
CGM-12232显示器具有122
32点阵,不仅可以显示数字,还可以显示中文、英文甚至图片等,功耗仅为12.5mW(不开背光)。
图2基于AT89C52单片机的液晶GPS定位仪的原理框图
图中,主要核心为GPSOEM模块,它将实时性地将定位信息转换成系统设计好的数据格式传送给AT89C52单片机,由单片机来辨别数据信息接收的格式并判断对错后由单片机按照相应的要求将数据输出,由液晶显示模块实现目标的具体定位信息。
键盘模块用来控制整个系统的工作状态。
2.1GPSOEM模块的工作原理和通信协议
图3GPS-OEM模块内部结构
GPS-OEM模块是将GPS接收机的主要部件做成大规模集成电路片,并集成在一块电路板上。
这个电路板具有接收GPS信号、处理信号、输出观测信号和定位结果等功能。
用户利用OEM板进行二次硬件开发可研制成各种应用的GPS接收机。
GPS25LVSOEM板作为GPS接收机的主要组成部分接收来自天线单元的信号,通过变频、放大、滤波等一系列处理过程,实现对GPS卫星信号的跟踪、锁定、测量,从而产生计算位置的数据信息(包括:
纬度、经度、高度、速度、日期、时间、航向、卫星状况等),并由RS232标准串口输出串行数据。
该OEM板为12通道的GPS接收机,可以同时跟踪多达12颗的GPS卫星,能够实现快速定位。
GARMIN的OEM板功耗小,数据更新率为每秒一次。
GPS2.2GPS-OEM板串口通信协议GPS-OEM板的输入输出语句均按串行通信协议。
数据结构为8个数据位、一个起始位、一个停止位,无奇偶校验位,输出数据格式初始化为NMEA0183格式。
输出波特率为4800波特。
用户通过输入语句对GPS-OEM板进行初始化,设置数据格式、通信波特率、要求输出的种类等;输出语句即向用户输出GPS的各种数据信息。
下面就串口1输入输出语句进行介绍。
2.1.1输入语句
输入语句包括初始位置、时间、秒脉冲状态、差分模式、NMEA输出间隔等设置信息。
这些语句是GPS接收机可以由串口1接收的语句。
本设计使用了接收机初始化信息(PGRMI)语句。
该语句一般在初始位置和当前实际位置的距离超过800公里时使用,以加快定位速度:
$PGRMI,<1>,<2>,<3>,<4>,<5>,<6>,<7>*hh<1>纬度ddmm.mmmm(度分)格式(前面的0也将被传输)<2>纬度半球N(北半球)或S(南半球)<3>经度dddmm.mmmm(度分)格式(前面的0也将被传输)<4>经度半球E(东经)或W(西经)<5>UTC日期,ddmmyy(日月年)格式<6>UTC时间,hhmmss(时分秒)格式<7>接收机命令,A=自动定位,R=机器重新启动
2.1.2输出语句
串口1输出NMEA0183版本2.00的ASCII码语句,包括GPALM,GPGGA,GPGSA,GPGSV,GPRMC,GPVTG(NMEA标准语句);PGRME,PGRMF,PGRMT,PGRMV(GARMIN定义的语句);LCGLL,LCVTG。
下面以GPRMC语句为例来介绍。
该语句包含时间、日期、方位、速度和磁偏角等信息,基本上可以满足一般的导航需求:
$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,*hh<1>UTC时间,hhmmss(时分秒)格式
<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(西)2.2.3)2.1.3语句格式
NMEA0183语句格式如下:
“$”为语句起始标志;“Aaccc”为地址域,前两位为识别符,后三位为语句名;“,”为域分隔符;“Ddd…ddd”为数据块,发送数据内容;“*”为校验和识别符,其后面的两位数为校验和;“hh”为校验和;“/”为终止符,表示回车、换行。
GPS3、基于GPS-OEM板与AT89S52单片机开发基本GPS接收机本设计要求GPS25LVSOEM板发送数据,AT89S52单片机接收、存储数据。
单片机与GPSOEM板是通过串口进行通信的。
单片机串口工作方式选择的是串口方式1,这是标准异步通信方式。
系统的波特率为4800bps,单片机使用的晶振是11.059MHz,由这两个数值配置相应的寄存器值。
定位信息通过显示模块显示,并通过键盘输入进行初始化配置。
2.2电平转换电路设计
由于GPSOEM模块送出的是RS232电平,计算机串行通信也是RS232电平,AT89C52单片机的串口采用COMS/TTL电平,因此,GPSOEM模
块与计算机通信可以直接用串口线相连,而与单片机接口必须进行RS232电平和CMOS/TTL电平的转换。
图4为RS232电平转换为CMOS/TTL电平的转换电路。
图4RS232电平转换为COMS/TTL电平的转换电路图
3系统硬件设计
该定位仪软件主要完成GPS信号接收、实时显示经纬度和标准时间、键盘中断处理、字操作控制与实现等功能,采用模块化设计,主要程序包括系统初始化子程序、中断接收子程序、经纬度显示子程序和
主程序。
3.1系统初始化子程序
如图5所示,系统初始化子程序包括RAM初始化、特殊功能寄存器初始化和外围设备初始化。
该定位仪只需要对内部的RAM进行初始化处理即可,外围设备的初始化主要是设定外围设备的初值。
图5系统初始化子程序流程图
3.2中断接收子程序
由于GPSOEM模块发送的语句不止一条,且要完整地接收一条$GPGGA语句,就必须判断这条语句的头,也就是/$GPGGA,0这7个字符。
当完整地接收到这7个字符后,才能保证是所需要的数据。
具体流程如图6。
图6中断接收子程序流程图
3.3经纬度显示子程序
GPSOEM模块发送的信息和要显示的信息有所不同。
如图7所示,首先必须将GPSOEM模块发送的/E,S,W,N0对应成/东,南,西,北04个字符;其次发送的是/度度分分.分分分分0格式,而要显示的是/度度分分秒秒0的格式,因此必须进行转换。
转换的方法是@100/60,同时最后两位舍去。
其中,经度先显示3位数字,然后显示单位,再显示
两位数字。
3.4主程序
主程序是一个无限循环体。
先扫描键盘,然后判断是否需要更新显示。
若需要,则更新显示;若不需要,则返回。
具体流程如图8所示。
图7经纬度显示子程序流程图图8主程序流程图
4结束语
本文设计了基于AT89C52单片机的液晶GPS定位仪,实现了GPS空间数据的读取显示。
本设计方法灵活,可以根据需要从GPS信号中提取多种导航信息,采用单片机电路易于调试,成本低廉。
该定位仪经过测试已证明完全满足系统基本需要,在珍贵动物放生定位的应用中已经取得满意的效果,工作人员能够随时跟踪到放生动物的位置信息等。
该定位仪在需要卫星导航信息的应用领域具有广阔的应用前景。
参考文献:
[1]方群,袁建平,郑愕.卫星定位导航基础[M].西安:
西北工业大学出版社,1998.
[2]楼然苗,李光飞.单片机课程设计指导[M].北京:
北京航空航天大学出版社,2007.
[3]王丙祥,李建海.基于89C52的GPS板电路设计与实现[J].西安文理学院学报:
自然科学版,2007,10(3):
98-101.
[4]徐进,周宁.GPS接收机的单片机通讯接口[J].电子器件,1999,22(3):
23-26.
[5]李勇军,杨青,庞树杰.基于OEM板的GPS接收机设计[J].农机化研究,2006(12):
109-111.