基于单片机的北斗定位系统毕业论文.docx
- 文档编号:7681816
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:18
- 大小:1.14MB
基于单片机的北斗定位系统毕业论文.docx
《基于单片机的北斗定位系统毕业论文.docx》由会员分享,可在线阅读,更多相关《基于单片机的北斗定位系统毕业论文.docx(18页珍藏版)》请在冰豆网上搜索。
基于单片机的北斗定位系统毕业论文
---文档均为word文档,下载后可直接编辑使用亦可打印---
摘要
现代社会空巢老人越来越多,老人因意外发生不能及时呼救给健康甚至生命安全带来威胁,因而,老人安全监护受到越来越多的关注。
为了解决这一问题,本次设计使用了STC12C5A60S2单片机作为主处理器,以UM220模块作为核心,结合LCD12864显示模块、蜂鸣器、SIM900模块,实现了多功能报警系统。
如果老人或弱势群体发生意外情况,按下报警按键,蜂鸣器响起,液晶屏上显示病例、过敏史、药品位置等,还能通过按键切换到位置地址信息。
并通过GSM无线通信模块将定位信息发送到家人手机中,使伤者得到及时救援。
实验结果表明,本系统能够准确实现报警、定位和信息显示功能,为安全监护提供解决方案。
关键词:
北斗定位系统;单片机;信息采集;GSM通信
Abstract
Therearemoreandmoreemptynestersinmodernsociety.Theelderlycan'tcallforhelpintimeduetoaccidents,whichbringsthreatstohealthandevenlifesafety.Therefore,moreandmoreattentionhasbeenpaidtothesafetymonitoringoftheelderly.Inordertosolvethisproblem,STC12C5A60S2singlechipmicrocomputerisusedasthemainprocessor,um220moduleasthecore,LCD12864displaymodule,buzzerandsim900modulearecombinedtorealizethemulti-functionalalarmsystem.Iftheelderlyorvulnerablegroupshaveanaccident,pressthealarmbutton,thebuzzerwillsound,thecase,allergyhistory,druglocation,etc.willbedisplayedontheLCDscreen,andthelocationaddressinformationcanalsobeswitchedthroughthebutton.AndthroughtheGSMwirelesscommunicationmodule,thelocationinformationissenttothefamilycellphone,sothattheinjuredcanberescuedintime.Theexperimentalresultsshowthatthesystemcanaccuratelyrealizethefunctionsofalarm,locationandinformationdisplay,andprovideasolutionforsafetymonitoring.
Keywords:
Beidoupositioningsystem;singlechipmicrocomputer;informationcollection;GSMcommunication
第一章绪论
1.1北斗定位系统及其工作原理
我国北斗卫星导航系统经历了几十年的研究与建设,已经成功完成了“北斗一号”、“北斗二号”建设,意味着北斗能够覆盖到亚太地区,区域建设目标达成。
如今已经完成了全球组网的部署,可以向全球提供定位服务。
“北斗二号”是全球的卫星导航系统组成形式由空间段、用户段和地面段三个部分,北斗导航系统的中枢部分以地面为中心控制,实现对卫星的测轨、定位和调整[1]。
从而实现卫星定位以及实时监控。
当你打开手机上的导航软件,卫星的定位功能会自行运行,北斗系统组建了空间卫星网络,由55颗北斗导航卫星组成的轨道分布,能让人们随时随地都能观察到北斗卫星的存在。
定位系统的基本原理是用户机、定位卫星以及地面中心站三者之间的相互响应。
首先,地面中心站会向北斗卫星发送询问信号,北斗卫星将该信号扩散到各个区域,如果在这期间有用户机使用定位功能,它将会把定位请求反馈给北斗卫星,最后卫星把反馈发送给地面中心站。
根据电磁波的速率和完成这一信号传播所用的时间,地面中心站可以得到北斗卫星和用户机两者间的距离。
测量出用户机与第一颗卫星的距离和与第二颗卫星的距离可以得到俩个球面,球面相交得到一个圆环,再与地球表面的交点,地面中心站就能确定出用户机当前的位置。
最终由卫星把接收到的位置信息传送给用户机,到此完成了定位流程。
可以看出卫星相当于一个中转站,使得用户机与地面中心站相互连接起来传递信息。
如需提高定位精度,可以使用四颗或者更多导航卫星,确定用户机的空间坐标轴,可以得到用户机的确切位置。
现在市面上大多数手机都搭载了北斗定位系统,可以接收和解析北斗信号,虽然明面上使用最多的还是GPS但在我们不知觉中北斗也给我们提供了许多支持。
如今北斗系统不仅应用与军事领域,也开始加大了民用开发,使得北斗更加全面化,与GPS势均力敌,各有各的特点。
北斗系统的建设摆脱GPS的限制,拥有自主的定位战略提高了国防安全,其次,GPS也有其自身的技术局限性。
北斗系统具有GPS无法实现的一些功能,因此在卫星应用中具有更好的前景。
1.2本设计的研究内容及成果
现代社会空巢老人越来越多,老人因意外发生不能及时呼救给健康甚至生命安全带来威胁,以及防范未成年走失。
所以为满足当前人们对健康的关注以及市场的需求,使得家人更加放心地让老人家独自外出,本次设计采用示波法设计出一种基于STC系列单片机的北斗定位系统,该设计拥有成本低廉,测量方便,结果精确的特点。
本设计使用UM220模块用于采集和解析定位信息,通过GSM无线通信模块SIM900发送定位信息以及液晶显示经纬度坐标和个人信息,联系人也能及时收到家人发送的定位信息,LCD模块负责显示报警人员的重要信息以及当前的位置地址,还实现了信息的切换,蜂鸣器吸引周围人的注意力进行救援。
实现快速报警以及发送所在位置信息的功能。
第二章整体方案设计
2.1系统整体方案
本次设计的报警系统的实现方案有硬件系统部分以及软件系统部分。
首先,硬件系统上设计了基于STC12C5A60S2芯片的信号检测与采集系统。
在这部分中,UM220模块通过串口1传输采集到的数据信息。
SIM900A模块通过串口2将分析后的坐标位置信息通过短信形式发送至预设的手机号码。
软件系统设计主要完成北斗定位信息的采集、定位信息的提取和分析。
定位通过全球移动通信系统发送,并通过液晶显示模块显示
2.2系统整体框架图
图2.1系统整体框图
第三章硬件电路设计
3.1UM220接受板模块
本次设计使用了UM220-IVN,它拥有双系统以及高性能全球导航卫星系统模块,这个模块使用了SoC芯片,该芯片具有双系统和多频高性能出色实现模块要求也让产品的开发成本降低了。
UM220-IVN整体设计紧凑,可以实现标准取放和回流焊的全自动集成,特别适合低成本、低功耗领域。
UM200原理图如图3.1所示。
3.1.1北斗定位系统接受板原理
UM220-IVN模块采用5V供电,搭载了RS232接口,串行端口1是主串行端口,可以进行数据传输、固件升级等,使得模块与上位机接口适配。
LVTTL电平自动输出ASCII字符型语句。
通信波特率的值默认为9600bps,最大值为115200bps。
串行端口2只能进行数据传输。
搭载1个外部中断信号输入管脚。
该模块采用天线接收卫星信号,经过变频和放大信号以及对信号进行滤波减少干扰等处理后,可以得出用户当前的位置信息,输出标准时间、经纬度、经纬度方向等数据。
图3.1和芯星通公司设计的UM200原理图
3.1.2通信处理信息协议
串口数据发送和接收是一位位接收,当接收到8位数据后,申请中断,并进行数据存储[2]。
每个语句都以“$”开头,前两字母作为标志符而后三个字母作为语句的名称,用逗号将各个数据分割开来,都代表着各自的作用,在语句末尾进行校验和,最后以换行符结束整条语句,接着输出下一条语句信息中。
校验和的计算方法为从'$'起到'*'之前的所有字符的异或,以16进制表示。
3.2STC12C5A60S2单片机
本次设计使用的是STC12C5A60S2单片机,该单片机可以兼容51内核,使得该单片机的适用性更加广泛。
内部不仅搭载了随机存取存储器还有Flash只读程序存储器,这两类存储器容量相比较与其他单片机都有较大优势,可以容纳更多的数据。
处理速度是传统8051的8-12倍,因此在满足兼容传统的8051代码要求上集成了MAX810特用复位电路2路PWM8路高速10位A/D转换[3]。
MCU内部进程最多可以提供60k的FlashROM,可以方便用户存储。
并且可以加密编写的程序,这很好地保护了自己地劳动成果。
该单片机有多种中断方式,以适应外接多个模块情况,防止串口不足。
还有三种不同的低功耗工作方式,采用标志位来判断是否进入省电模式,三种模式都能达到不同的效果。
空闲模式下还能进行外部中断,定时器以及各串口还能起效;如果进入低速模式不仅可以减少功耗还能降低干扰;微控制器进入掉电模式时,内部时钟停振。
3.2.1STC12C5A60S2单片机的结构
STC12C5A60S2单片机中包括中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时/计数器、UART串行端口等模块。
3.2.2引脚定义及功能
图3.2STC12C5A60S2引脚图
图3.2显示了单片片STC12C5A60S2的针脚排列和针脚功能的一部分。
P0:
P0口作为输入/输出口和地址/数据复用总线使用;
P1:
P1口有着八位I/O串口,可以接收外部信息以及信号地输出;
P2:
P2口内部上拉电阻,用作高8位地址总线以及输入/输出口;
P3:
8个双向I/O口,可以用作外部中断、定时器中断以及下降沿中断等,外部数据存储器写脉冲与读脉冲;
P4口:
增加了4个I/O口,可以进行位寻址;
XTAL1:
反向放大器的输入端;
XTAL2:
用来反向振荡器的输出端;
RST:
该引脚起到了复位作用,进行初始化以及重新赋值;
3.3LCD液晶显示器
3.3.1LCD显示器的工作原理
液晶显示器的显像原理,屏幕背后有一排LED灯称为“背光源”,通过了解光学系统,光线穿过屏幕后部,第一张膜为光提供了白色背景,再经过被圆点覆盖的导光板,当光线从底部边缘进入时,它会通过全内反射向下传播,直到碰到其中一个点使光线从前面显现出来,通过漫射膜消除导光板上的点阵图案,然后是一个棱镜膜和漫射膜就有了一个非常均匀的照明表面,如果表面添加一个玻璃夹层就能显示出图像。
使用微小的玻璃珠填充窗格之间的空间,以保持它们与液晶分离,这些晶体不允许光沿两个轴均匀传递,两块玻璃表面上相互成90度角形成凹槽,中间的分子排列成螺旋线,当来自背光源的光通过第一偏光片并进入夹层时,它被液晶旋转,从而允许其通过第二偏光片并出现在屏幕前方,这被称为正常白模式。
在夹层结构上施加电场使晶体纵向排列,通过第一偏振片的光线不会被晶体旋转,不能再通过屏幕的前方,这被称为正常黑模式。
然后可以通过玻璃来控制光线,从而获得色彩,控制电极之间的电压可以控制光线强度。
一个像素由红、蓝、绿三个子像素组成,在夹层中,子像素覆盖在透明电极之上,我们调整子像素后面的电极快门,让它们构成特定的颜色。
在后面板上印刷薄膜晶体管的微型器件,每个子像素都有一个晶体管来控制,通过对特定行施加电压,同时保持其他行接地,该行中的每个子像素接收来自屏幕顶部的视频数据,逐行接收信息,由于切换速度快使得我们看到的是个流畅的图像。
3.3.212864液晶的介绍
内置8192个16*16点阵、128*16字符点阵显示RAM,当PSB引脚为高电平时,选择并行方式,当PSB为低电平时,则选择串行方式[4]。
如果显示屏可以显示信息但出现图像模糊现象时,可以通过调整模块上的R5电位器,使得可以清晰的看见像素点为止。
这个液晶屏显示的起始行地址采用的是相隔的形式排序的。
如图3.4和表3.1为LCD管脚说明:
图3.4LCD12864引脚排布
12864LCD主要技术参数:
电源:
VDD3V至+5V;接口:
8位并行端口或者串行端口;显示特性:
显示颜色:
蓝屏,黄绿屏;LED背光配置。
表3.1LCD12864管脚说明
3.4单片机与液晶显示器接口电路
LCD12864液晶屏工作电压+3.0V~+5.5V,兼容单片机,所以可以直接与I/O连接。
LCD12864液晶屏包括并行与串行接口方式,为了在不同的应用场合使用。
图3.4STC12C5A60S2与LCD接口电路
3.5GSM无线通信模块
3.5.1移动通信系统的发展
移动通信的出现到现如今实现了万物智联,这一过程经历了许多曲折,也攻克了一系列的技术难点,每一次进步都是移动通信速度的一次质的飞跃。
使得全球范围内都可以进行信息之间的传输。
初代的是模拟蜂窝移动通信讯号,实现了小区制,提高了系统的容量。
而2G的通讯时代和1G最大的区别就是能传输数据即进入了数字时代,主流的制式由TDMA、CDMA和GSM,最后GSM被广泛采用。
3G使手机拥有电脑地功能,它不仅可以传送声音而且还能传输数据信息,让智能手机开始普及,中国研发了TD-SCDMA,虽然中国的核心专利都是从高通和西门子买来的,但不得不说从这个角度来看,我国第一次站起来了。
现今普遍使用的4G实现了随时随地的无线接入,网速也提升了10倍以上,建成了能更有效地利用无线电波,使得人们获得更好地上网体验,4G类似于3G和WLAN的合体,移动通信产业得到了巨大的发展与突破。
5G是通信技术的又一次革新,会显著提高速度,实现了高速率和超低延迟等,一系列的伴生的应用产品也会出现在人们的生活中。
3.5.2GSM移动通信系统
GSM系统由以下分系统构成:
交换分系统(MSS);基站子系统(BSS);移动台(MS)和操作与维护分系统(OMS)[5]。
移动台向通信塔发送信息,再经过区域内的基站收发信台进行转换变成标准信号,传递给基站控制器进行统一管理。
GSM是一个开放的系统,研发微蜂窝基站,可以使室内应用提供数据连接,具有稳定性强不容易遭受到外部干扰、接收信息灵敏、对产品的耗电量低等特点。
3.5.3GSM系统技术
采用多址技术,它们为频分多址、时分多址和码分多址。
GSM系统一般使用的是FDD平分双工方式。
GSM系统器件的接口都有特定的功能定义,接口间的相互连接可以完成相关传递的传递这能够让它们用不同形式来完成特定的功能。
系统对信息处理步骤,先对发送端的语音进行编码、交织、加密和调制后,经由无线信道发送给接收端,再经过反向解调把信息输出,完成信息的处理。
鉴权是用来鉴定用户的个人信息,判定是否拥有使用权限,这样可以增强用户使用的安全性。
3.5.4短消息业务
短信息服务是GSM系统中提供的一种GSM终端(手机)之间,通过服务中心进行文本信息收发的应用服务[6]。
使用GSM系统的短消息服务进行位置信息的发送,位置信息会直接在终端显示。
只是使用GSM通信网络,是一种数据服务,如果要完成短信的发送就要经过一下步骤,首先在发送的信息中填写要发送的目标地址,然后经过无线控制通道发送到短消息服务中心,服务中心会对消息进行储存以及转发,最终实现短信发送功能。
如果进行消息发送和接收这种情况下不会影响呼叫,短消息业务可以反馈信息是否发送成功,如果发送失败也可以存储信息。
3.5.5SIM900
该模块用5v供电(直流),并且支持GSM/GPRS四个频段,包括850,900,1800,1900MHZ及GSM07.07,07.05AT命令和AiThinker扩展命令[7]。
该模块一次只能处理一条MCU发送来的AT指令,如果同时接收到多条指令,SIM900会选择其中的一条AT指令进行执行,因此在发送指令时不能急于去输入信息,需要等待平台执行完指令后再操作下一条指令,不然不被采纳的指令会被遗忘。
在设置中心号码时,要注意中心号码非本机号码而是本地的短信中心号码。
SIM900A模块上的RXD接到单片机端口2上的TXD,而SIM900A上的TXD接到端口2上的RXD上,使得STC12C5A60S2微型计算机与SIM900A模块实现相互连接从而使得位置信息进行传送。
图3.5显示了SIM900A方框图。
图3.5原理框图
3.6蜂鸣器模块
该系统使用了有源蜂鸣器,内置有振荡器,多晶片集成电路,生产工艺复杂但性能稳定。
有源蜂鸣器高度是0.9cm,半径为0.55cm,使用黑胶封闭,通过交流电压产生磁场从而使振膜振动。
蜂鸣器工作电压是3V直流电压,最大电流不能超过30MA,工作温度最好在-20到70度范围内。
第四章软件设计分析
4.1系统的软件设计
这个设计主要包括北斗位置信息采集、单片机的位置信息提取和分析、定位通过GSM传输,并通过液晶屏显示模块显示。
打开电源后,每个模块首先初始化,UM220通过外部天线接收定位信息,如果有信号则对数据进行处理,单片机将判断是否位置信息类型是GNRMC,然后对相应信息片段的进行接收和确认。
否则,数据接收将继续,解析完成后,生成的高斯平面坐标将发送到GSM模块,并显示在LCD12864中。
当触发按键时,蜂鸣器响起,液晶显示屏显示个人信息并由SIM900将接收到经过处理后的地理位置发送给亲属。
经过一系列步骤实现报警功能,设计流程图如图4所示。
图4.1程序流程图
4.2软件设计的功能模块
4.2.1液晶显示模块
本文使用了LCD12864,初始化液晶屏,LCD12864显示数据(字母、汉字等)需要先写入屏幕显示地址与显示数据,再完成写命令函数与写数据函数,就基本实现了一大部分操作。
4.2.2单片机中断初始化模块
在北斗模块接收到定位信息后,需要把数据传输到单片机上,想要完成这一步骤,需要单片机执行中断程序,将总中断设置为开启状态,允许中断触发。
4.2.3时序模块
设置延时程序,在显示一段文字后,需要调用延时函数,防止时序过短。
另外在检测按键扫描时,需要运行延时程序,实现软件去除抖动,减少重复检测几率,及一次按下按键多次进行扫描的错误操作。
4.3定位数据解析显示
4.3.1数据接收
定位模块启动后,接收到的各类信息(如:
经纬度、标准时间等)数据包括在各个语句中,STC12C5A60S2单片机的缓冲区会存放定位模块发送来的定位信息,然后在上位机里显示定位模块接收到的各种信息,让我们更加清楚定位模块的接收情况也便于我们对信息进行处理等。
如图4.2所示:
图4.2模块接收的数据
4.3.2数据处理显示
本设计需要在UM220模块接收到的各类数据中解析出$GNRMC这一帧数据。
通过图2可以了解到‘R’或者‘M’只有在$GNRMC语句出现过,通过判断是否存在‘R’或者‘M’来确定是否进行采集。
而且缓冲区每次存储一句定位语句,缓冲区的数据会被下一条语句给掩盖掉,每接收到的一次数据都要进行判定是否是$GNRMC语句,如果是就进行数据解析显示,如果不是或者定位信息无效,则继续接收信息。
UM220模块提供的北斗语句有$BDGGA、$BDGLL、$BDGSA、$BDGSV、$BDRMC、$BDVTG等,每条语句都以特定的格式承载着不同的数据信息[8]。
所以我们要从其中解析出UTC时间、经纬度以及方向这些信息,通过单片机处理发送至LCD液晶显示屏显示显示的结果如图4.3所示。
本设计以数据中的‘,’作为分离数据标志。
可以根据需要解析相应的数据信息。
图4.3定位信息
第五章系统设计工具
5.1KEIL编译器
5.1.1KeilC简介
KeilC是51系列兼容微控制器C语言软件开发系统,编程语言是普遍使用的程序设计语言,C语言具有显着的功能、结构、可读性和可维护性优势,拥有着高级语言的特点又兼备了汇编语言的特点,所以对初学者还是比较友好的。
也把编译器、汇编器、链接器和调试器这几个模块集成到同一个开发环境里。
5.1.1.18051开发工具
KeilC51是一种结构化的语言,具有灵活,高效等优点,算法的实现也较汇编语言简单[9]。
本次设计使用了KeiluVision4,集成了编译器、汇编器、实时操作系统等。
KeilμVision4加入了系统窗口,让使用者可以同时进行操控几个监视器,使得编写过程更加的操作流畅。
新一代的Keil界面更加全面的提高了屏幕空间的利用率,同时使用几个窗口更加快速的来编写程序代码。
5.1.1.2uVision4集成开发环境
该软件可以用来实现程序编译、仿真和调试。
Vision4IDE是为增强开发人员的工作效率设计的,提供了设备外围寄存器信息,这些信息可以在SystemViewer窗口内部直接更改[10]。
源文件、编程说明与开发工具选项三大部分组成一个项目,在一个项目中可以实现多个目标程序。
包含了繁多的库函数和完善的编译链接工具,使得开发者更加轻松的编译程序进一步优化代码。
5.1.2Keil软件编译步骤
(1)打开软件,编写一个新的应用程序前,首先建立工程(Project)。
KeiluVision4将用户的每个应用程序设计视为一个工程,该工程将一个编程所需的相互关联程序链接到一个工程中。
因此,在一个项目中,相互关联的程序可以一起进行调试,使我们编程更加的顺畅。
(2)在工作窗口编写程序或者在其他word中编写复制到文件编辑窗口,经过编译和调试,从中修改源程序中的错误,如图5.1所示:
图5.1程序编写窗口
(3)编译程序通过之后,再点击设置创建.hex然后生成能够执行的目标代码文件,如图5.2所示:
图5.2设置输出.hex文件
(4)工程实现到这一步后,可以编译程序,并显示图5.3所示。
可以得到一个名为“gps.hex”的执行文件。
下图可以看出RAM内程序占用的空间的大小,完成以上步骤后可以将.hex文件可用于模拟和微控制器写入。
图5.3hex文件生成的提示信息
5.2STC-ISP程序下载步骤
(1)运行STC-ISP烧录软件,选择STC12C5A60S2型号芯片,如下图5.4所示:
图5.4芯片信号选择
(2)“扫描”按键可以帮助我们找寻到正在使用的COM端口,选择相应的COM端口号,然后再点击“打开文件”按键,寻找到工程里的gps.hex文件,点击添加到应用中,效果如图5.5所示:
图5.5添加gps.hex文件
程序下载步骤完成准备工作,再点击“下载/编程”按键,即可完成程序烧录。
第六章系统调试与结果
6.1硬件调试
本设计最主要的故障来自操作过程中造成的错误。
检查各个模块间链接引脚是否有误,通电前查看VCC与GND,防止烧坏开发板。
6.2软件调试
寻找造成错误的根源,通过修改代码以及验证各部分的功能是否正确,先调试子程序的功能,然后调试整个程序,特别注意测试各个模块之间能否正确的进行传递参数。
完成整体代码编写后,点击软件左上角的编译按钮,系统会将工程代码文件进行编译,可以在keiluvisin4软件下面的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 北斗 定位 系统 毕业论文