本科毕业设计基于单片机gps导航设计及lcd实时显示.docx
- 文档编号:9882141
- 上传时间:2023-05-21
- 格式:DOCX
- 页数:50
- 大小:357.93KB
本科毕业设计基于单片机gps导航设计及lcd实时显示.docx
《本科毕业设计基于单片机gps导航设计及lcd实时显示.docx》由会员分享,可在线阅读,更多相关《本科毕业设计基于单片机gps导航设计及lcd实时显示.docx(50页珍藏版)》请在冰点文库上搜索。
本科毕业设计基于单片机gps导航设计及lcd实时显示
师范学院成人教育
本科毕业论文(设计)
题目:
基于单片机GPS导航设计及LCD实时显示
学生姓名:
学号:
指导教师:
院别(函授站):
继续教育学院
专业:
电子信息科学与技术
年级:
师范学院本科生毕业论文
论文题目:
基于单片机GPS导航设计及LCD实时显示
论文摘要:
GPS导航广泛应用于现实生活中,成为人类日常生活不可或缺的一部分。
它的功能是实现对目标物体的定位、监测。
不难发现,越来越多的汽车、手机等具备了GPS功能,我们也切实感受到其为我们生活带来的便捷。
基于这样的现状及GPS广阔的应用前景,单片机GPS导航设计以及实时显示是个值得研究的课题。
本论文从硬件、软件两部分进行对如何利用单片机、GPS接收模块、LCD12864液晶显示模块等器件来实现GPS导航功能的分析,MCS-51系列单片机与GPS接收模块串行通信的实现这一部分根据了硬件特点进行阐述,GPS模块数据输出基本原理是本设计的基础,利用C语言对接收到的数据进行提取。
最终设计成具备携带方便、精度精准、应用广泛、全天实时显示特点的小型机器设备。
关键词:
GPS导航;单片机;GPS接收模块;LCD12864液晶显示模块
1.GPS系统介绍
1.1GPS定位系统背景和发展
1958年,美国因军用需求而诞生了具有开创意义的高新技术——GPS,并在1964年正式投入使用。
第一代GPS对民用有限制,第二代GPS解除了对民用的限制,真正开始普罗大众。
1978年第一颗GPS试验卫星的入轨运行,标志着无线电导航定位的动态已知点为导航卫星。
GPS卫星所发送的导航定位信号,是一种可供无数用户共享的空间信息资源。
伴随经济的迅猛发展,人们对便捷舒适生活的要求越来越高。
GPS导航的特点恰恰迎合人们的需求,精准、实时、快速、广泛的优点逐渐使其占领了市场,在众多领域发挥着不可替代的作用。
展望未来,我国将越来越重视关于GPS产品的开发和推广,这也将推动其他相关产业的迅猛发展,相信科技的力量将为我国经济发展带来深远的影响。
1.2GPS定位系统功能和意义
GPS定位系统通过太空卫星、地面控制系统、用户设备这三部分来实现对目标物体的定位、监测,并通过显示器为人类应用。
它的广泛普及解决了生活中的实际问题,比如说GPS导航在汽车方面的应用。
近几十年,经济速度的增长可谓是突飞猛进,人们生活质量也在一步步提升中,不少家庭购置了汽车。
然而,在享受生活的同时,也感受到了有些道路远远承受不了现有的机动车拥有量。
确实,道路的修建速度并没有追上机动车的增长速度,造成了交通拥挤、环境恶化。
许多城市亟待解决道路状况相对滞后的局面,智能交通系统(ITS)应运而生,有效的改变解决了道路交通难题。
GPS在车辆定位上的应用是ITS的基础环节。
比如说,人们驾驶汽车,需要知道到达目的地的路线及其周边的环境,借助电子地图等手段,就可以为人类依据道路实际情况,提供适合的路线,为司机节省了时间,油耗提高了效率,避免了选择的盲目性,利用定位系统解决了交通实际难题,达到改善交通状况的目的。
GPS定位系统已经成为现实生活中不可或缺的一部分。
1.3GPS定位系统基本原理
空间卫星、地面控制系统、用户接收设备三部分构成了GPS定位系统。
24颗运行卫星分布在六轨道平面,它是以55度倾角分布,使得地球任意位置任何时刻都可以接收到六颗卫星信息,不断运行的卫星在不同地点不间断地为人类发布位置信息。
地面控制部分主要有主控站、地面行链天线、五个监测站和通讯辅助系统。
主控站负责管理和协调整个地面监控系统的工作,监控站主要任务是为主控站提供卫星观测数据,用GPS接收机对视界内每颗卫星进行连续观测,所有观测数据连同气象数据传送到主控站。
主控站通过地面上行链天线设施对卫星进行指挥和控制,以及向卫星上行加载导航电文和其他数据。
用户接收设备显而易见是用以接收卫星发出的信号。
GPS系统的基本定位原理是:
时刻运动的每颗空间卫星不断发布时间和位置的信号,用户接收设备用以测量每颗卫星信号到接收机的时间延迟,已知信号的传输速度,那么计算出接收机到不同卫星的距离就显而易见了。
在四颗卫星的数据同时被收集到的时候,就可以算出三维坐标和时间。
1.4本设计主要内容
基于51单片机的GPS导航设计是在单片机的基础上进行拓展和加深,然后选择型号和性能合适的51单片机对GPS接收模块接收到的数据进行处理,利用LCD12864液晶显示装置进行显示,这就是此次设计的基本原理。
本次设计软硬件结合,GPS接收模块的性能特点是我们首先要学习和掌握的,基于对接收模块性能的了解,我们要利用所学过的单片机编程和应用的相关知识对接收模块里面采集的卫星定位信息进行计算和提取,最终将需要的信息显示在准备好的LED显示屏上。
2.系统硬件部分设计
2.1系统硬件电路总体结构图
基于单片机的GPS定位及实时显示系统在硬件上由单片机、GPS接收模块、12864液晶显示模块组成。
经过比较和分析,本实验决定选用MCS-51单片机和HOLUXGR-87作为单片机和接收模块。
现设计总体框图如下:
图2-1硬件电路总体结构框图
2.2单片机
2.2.1总体构成和特点
单片微型计算机简称单片机,是指在一块芯片上集成了中央处理器CPU、随机存储器RAM、程序存储器ROM或EPROM、定时器/计数器、中断控制器及串行和并行I/O接口等部件。
目前MCS-51单片机在实际应用中最为广泛。
它的组成结构包括运算器、控制器、片内存储器、4个I/O接口、串行口、定时器/计数器、中断系统、振荡器等功能部件。
51单片机的结构简单、小巧、性价比高、可靠性高、功耗小的特点使其广泛应用。
2.2.2引脚及其功能
MCS-51系列单片机芯片上面均有四十条引脚,HMOS工艺制造的芯片的封装方式为双列直插封装,其引脚示意图及功能介绍如下:
图2-2MCS-51单片机引脚图
各引脚功能说明如下:
1.主电源引脚
Vcc(40脚):
接+5V电源正端。
Vss(20脚):
接+5V电源地端。
2.外接晶体引脚
1)XTAL1(19脚):
反向放大器的输入端,这个放大器构成了片内振荡器。
2)XTAL2(18脚):
反向放大器的输出端,这个放大器构成了片内振荡器。
3.输入/输出引脚
四个8位并行I/O端口
P0.0至P0.7:
P0口8位双向口线。
P1.0至P1.7 :
P1口8位双向口线。
P2.0至P2.7 :
P2口8位双向口线。
P3.0至P3.7 :
P3口8位双向口线。
4.控制线
1)ALE/PROG(30脚):
地址锁存有效信号的输出端。
2)PSEN(29脚):
片外程序存储器读选通信号的输出端。
3)RST/Vpd(9脚):
该引脚为单片机上电复位或掉电保护端。
4)EA/Vpp(31脚);片外程序存储器选通端。
2.2.3主要特性
MCS-51单片机主要特性见表2-1。
片内带振荡器,振荡频率fosc范围为1.2~12MHZ;可有时钟输出
2个16位定时器/计数器
128个字节的片内数据存储器
有一个中断控制器,可管理6个中断源(51子系列1是5个中断源)、两个优先级
4KB的片内程序存储器(8031无)
111条指令,其中包含乘法指令和除法指令
程序存储器的寻址范围为64KB
有强的位寻址、位处理能力
片外数据存储器的寻址范围为64KB
片内采用单总线结构
21个字节专用寄存器
用单一+5V电源
4个8位并行I/O接口:
P0、P1、P2、P3
1个8位的微处理器CPU
1个全双工串行I/O接口,可多机通信
表2-1MCS-51单片机主要特性表
2.2.4时钟与复位
MCS-51单片机芯片内部设有一个反相放大器所构成的振荡器,XTAL1和XTAL2分别为振荡电路的输入端和输出端,时钟可以由内部或外部产生。
内部时钟电路如图2-3(a)所示。
如果在XTAL1和XTAL2引脚上外接定时元件,那么内部振荡电路上就会产生自激震荡。
定时元件通常是用石英晶体和电容组成的并联谐振回路。
晶振频率可以在1.2---12MHz之间选择,通常选择为6MHz,C1、C2电容值取5—30pF,电容的大小可以起频率微调的作用。
外部时钟电路如图2-3(b)所示,XTAL1接地,XTAL2接外部振荡器,对外部振荡器信号无特殊要求,只需保证脉冲宽度,一般频率为低于12MHz的方波信号。
图2-3MCS-51单片机芯片内、外时钟电路
单片机复位是使CPU和系统中的其他的功能部件都处在一个确定的初始状态,并从这个状态开始工作。
除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。
必须满足复位条件时才可以开始复位,即必须使RST/Vpd或RST引脚(9)加上持续两个机器周期(24个震荡周期)的高电平。
复位后内部各专用寄存器状态见表2-2。
PC
0000H
TMOD
00H
ACC
00H
TCON
00H
B
00H
TH0
00H
PSW
00H
TL0
00H
SP
07H
TH1
00H
DPTR
0000H
TL1
00H
P0-P3
FFH
SCON
00H
IP
***00000B
SBUF
不定
IE
0**00000B
PCON
0***0000
表2-2复位后内部各专用寄存器状态
整个复位电路包括芯片内、外两部分。
外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。
2.3GPS接收模块
接收机的关键之处就是在于GPS接收模块的选择,现在市场上的接收模块种类很多,大体的组成结构是相似的。
主要由CPU、低噪声下变频器、储存器、并行信号通道等组成。
本次使用的是HOLUXGR-87接收模块。
GPS接收模块通过它的接收天线获取卫星信号,经过变换、放大和处理等一系列处理,来测定出GPS信号在卫星到接收天线之间的传播时间,翻译出GPS卫星所发送的导航电文,实时的计算出接收天线的三维坐标。
用户通过输入输出接口,和GPS接收模块实现信息交换,实现功能。
GPS接收模块内部结构如图2-4所示。
图2-4GPS接收模块内部结构
HOLUXGR-87是美国瑟孚公司设计的一款具有高效率、耗电少的特点的卫星接收模块,采用SiRF公司设计的第三代高灵敏度芯片starSTARIII,内建ARM7TDMICPU可符合客制需求,符合严格的专业需要。
它主要性能指标如表2-3:
输入方式
NMEA,SiRF二进制
工作温度
操作温度:
-40℃到+85℃
存放温度:
-45℃到+100℃
定位精度
﹤10m
定位时间
0.1S
启动时间
冷启动<45秒,温启动<38秒,热启动<8秒
工作电压
3.3V-5.5VDC
尺寸
25.4×25.4×7mm
表2-3HOLUXGR-87主要性能指标
特点:
1、能够有效地快速追踪定位二十颗卫星。
2、尺寸小巧。
3、芯片内置二十万个卫星追踪运算器,大幅提升搜寻及运算卫星信号的能力。
4、内建RTCMSC-104DGPS和WASS/EGNOS解调器。
5、省电,能开启省电模式,可固定时间开启定位功能。
6、支援NMEA-0183v2.2版本规格输出。
管脚介绍:
管脚
管脚名称
功能描述
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)。
复位:
复位输入
表2-4管脚介绍
2.4LCD12864液晶显示模块
液晶显示器(LCD)的功耗是非常低的,近年来,凭借其卓越的性能,越来越受到各方面的重视。
液晶显示模块(LCM)是把LCD显示屏、线路板、驱动集成电路、和背光电源等部件构造成一个整体,作为独立部件使用。
LCM是LCD液晶显示屏的核心,并可以分为以下3种:
数显液晶模块、点阵图形液晶模块、点阵字符液晶模块。
本文采用的是12864液晶显示模块,其与单片机电路连接如下:
图2.5LCD与51单片机连接示意图
2.4.112864液晶显示模块概述
本次采用的12864显示模块属于点阵图形液晶显示模块,显示的分辨率为128*64,内置含8192个16*16点阵的中文汉字的汉字库、128个8*16点的ASCII字符集以及64*256点阵显示RAM。
具有显示汉字、字母、字符、图形的功能。
12864液晶显示模块接口方式不仅具有4或8位并行,还具有2或3线串行。
12864的优点有操作方便、功效低、价格实惠。
2.4.212864特性
(1)电源:
(VDD)+3.3~+5.5V
(2)显示分辨率:
128*64
(3)时钟频率:
2MHZ
(4)视角方向:
6点钟直视
(5)接口方式:
4或8位并行,还具有2或3线串行
(6)工作温度(Ta):
0~60℃(常温)/-20~75℃(宽温)[9]
(7)显示颜色:
黄绿
(8)显示方式:
STN、半透、正显。
2.4.312864接口说明
引脚号
引脚名称
电平
功能描述
1
VSS
0V
电源地
2
VCC
3.0+5V
电源正端(+5V)
3
V0
-
对比度(亮度)调节
4
RS(CS)
H/L
RS=“H”,表示DB7——DB0为显示数据
RS=“L”,表示DB7——DB0为显示指令数据
5
R/W(SID)
H/L
H,读状态;L,写状态
6
E(SCLK)
H/L
读写使能
7-14
DB0~DB7
H/L
数据总线
15
PSB
H/L
H:
并口方式,L:
串口方式
16
NC
-
空脚
17
/RESET
H/L
复位端,低电平有效
18
VOUT
-
LCD驱动电压输出端
19
A
VDD
LED电源正(+5V)
20
K
VSS
LED电源负
表2-5接口说明
3.系统软件部分设计
3.1NMEA-0183数据格式
制定NMEA协议是为了在不同的GPS(全球定位系统)导航设备之中建立统一的BTCM(海事无线电技术委员会)的标准,由美国国家海洋电子协会制定的标准格式。
依据NMEA-0183协议的标准规范,GPS接收机将位置、速度等信息通过串口传送到PC机、PDA等设备。
该协议是GPS接收机应当遵守的标准协议,也是目前GPS接收机上使用最广泛的协议,几乎所有的GPS接收机、GPS数据处理软件、导航软件都遵守或者至少兼容这个协议。
GPS接收模块的通用化和互换性因这种协议的广泛应用而大大提高。
此格式输出的语句采用的是ASCII码,其串行通信默认参数为:
波特率=4800bps,数据位=8bit,开始位=1bit,停止位=1bit,无奇偶校验。
帧格式形如:
$aaccc,ddd,ddd,…,ddd*hh
1)“$”:
帧命令起始位;
2)aaccc:
地址域,前两位为识别符,后三位为语句名;
3)ddd…ddd:
数据;
4)“*”:
校验和前缀;
5)hh:
校验和(checksum),$与*之间的所有字符ASCII码的校验和(各字节做异或运算,得到校验和后,再转换16进制格式的ASCII字符。
)
6)
CR(CarriageReturn)+LF(LineFeed)帧结束,回车和换行。
NMEA-0183协议定义的语句非常多,GPS接收模块可以接收的语句成为输入语句。
输入语句:
$GPRMI,<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是机器重新启动。
输出语句:
全球定位数据:
$GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>,<13>,<14>*<15>
<1>UTC时间,格式为hhmmss.sss;
<2>纬度,格式为ddmm.mmmm(前导位数不足则补0);
<3>纬度半球,N(北纬)或S(南纬);
<4>经度,格式为dddmm.mmmm(前导位数不足则补0);
<5>经度半球,E(东经)或W(西经);
<6>定位质量指示,0=定位无效,1=定位有效;
<7>使用卫星数量,从00到12(前导位数不足则补0);
<8>水平精确度,0.5到99.9;
<9>天线离海平面的高度,-9999.9到9999.9米;
<10>高度单位,M表示单位米;
<11>大地椭球面相对海平面的高度,-999.9到9999.9米;
<12>高度单位,M表示单位米;
<13>差分GPS数据期限(RTCMSC-104),最后设立RTCM传送的秒数量;
<14>差分参考基站标号,从0000至1023(前导位数不足则补0);
<15>校验和。
卫星状态信息:
$GPGSV,<1>,<2>,<3>,<4>,<5>,<6>,<7>,...,<4>,<5>,<6>,<7>*<8>
<1>总的GSV语句电文数;
<2>当前GSV语句号;
<3>可视卫星总数,00至12;
<4>卫星编号,01至32;
<5>卫星仰角,00至90度;
<6>卫星方位角,000至359度,实际值;
<7>信噪比(C/No),00至99dB;无表未接收到讯号;
<8>校验和。
运输定位数据:
$GPRMC,<1>,<2>,<2>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh
其中“RMC”为语句识别符;“GP”为交谈识别符;“hh”为校验和,它代表了“$”与“*”之间所有字符的按位的异或值(不包括这两个字符)。
$GPRMC语句数据区的内容如下:
<1>定位点协调世界的时间(UTC),hhmmss(时分秒)格式;
<2>定位状态,V为无效定位,A为有效定位;
<3>定位点纬度,ddmm.mmmm(度分)格式;
<4>纬度半球,N(北半球)或S(南半球);
<5>定位点经度,dddmm.mmmm(度分)格式;
<6>经度半球,E(东经)或W(西经);
<7>地面速率,000.0~999.9节;
<8>地面航向,000.0~359.9度;
<9>UTC日期,ddmmyy(日月年)格式;
<10>磁偏角,000.0~180度;
<11>磁偏角方向,E(东)或W(西);
<12>工作模式:
A=自主,D=差分,E=评估,N=数据无效。
3.2主程序流程图
如何实现基于单片机原理提取GPS接收模块接收到的信息,以及将接收到的目的信息按一定格式显示在LCD液晶显示模块上面,是设计的重要部分。
为了更方便的对软件进行修改调试,我决定采用模块化思想。
所谓模块化,就是处理复杂问题时将问题分解成若干部分,将程序分为主程序、子程序、子过程的框架模式,这样的好处显而易见,哪部分出问题需要调试哪部分就可以,而且更换硬件平台的话,只更换相应的软件模块就可以。
此次程序设计将模块分为三部分:
液晶显示模块初始化模块,GPS数据接收模块,单片机模块。
图3-1主程序流程图
3.2.1液晶显示模块初始化模块
在该设计中所使用的是12864液晶显示模块,其初始化程序如下所示:
//液晶屏初始化
voidlcd_init()
{
//转换到文本模式
write_command(0x30);
write_command(0x30);
write_command(0x0c);
write_command(0x01);
write_command(0x06);
//转换到图形模式
//write_command(0x34);
//write_command(0x36);
}
3.4.2GPS数据接收模块
判断单片机是否接收到GPS接收模块发送的数据是第一项任务,我们并不是全部需要这些从GPS接收模块发送到单片机的的数据,所以需要通过程序对需要的语句进行识别,目的是取我们所需要的语句GPRMC。
其识别程序如下:
if(GPS_RMC_Parse(rev_buf,&GPS))//解析GPRMC
{
RMC_YES;
GPS_DisplayOne();//显示GPS信息
error_num=0;
gps_flag=0;
rev_stop=0;
}
else
{
error_num++;
if(error_num>=20)//如果数据无效超过20次
{
RMC_NO;
error_num=20;
GPS_Init();//返回初始化
}
gps_flag=0;
rev_stop=0;
REV_NO;
}
程序代码详见附录。
4.系统调试以及试验结果
前面的设计工作暂时告一段落,为了整个定位工作能够顺利实现,现在的主要任务是针对设计中的硬件电路的设计、连接以及软件中的编程查找不足,进行软硬件的调试工作。
4.1硬件调试
硬件方面的问题可能出现在电路图的连接或者本身的设计上,为了排除电路图连接的失误,首先仔细的按照电路图将每个元件连接起来,并且要注意引脚的一一对应。
先不通电,使用万用表检查各个导线之间有没有短路以及开路现象。
电源的正负极是否正确以及电源之间的短路问题也需要重点排查。
每个芯片管座之间借助导线相连的对应脚之间状态是不是接通。
在通电之后各个引脚的电位也需要检查是否正常,排除高压的可能。
之后进行断电处理,在单片机插座上插上仿真插头,排除接口不符合要求的意外情况,为下一步进行的调试软件打下基础。
用Keil软件将写好的程序代码仿真生成文件并且导入到51单片机中。
现在的单片机已经写入了程序,需要插入到单片机管座上,通过观察LCD12864液晶显示模块的显示结果来进行最终硬件的调试工作。
4.2软件调试
软件进行调试,就是判断编写的程序是否符合正确。
这需
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科 毕业设计 基于 单片机 gps 导航 设计 lcd 实时 显示