收藏 分销(赏)

基于GPS卫星定位的实时位置显示系统.pdf

上传人:自信****多点 文档编号:581543 上传时间:2024-01-02 格式:PDF 页数:4 大小:2.43MB
下载 相关 举报
基于GPS卫星定位的实时位置显示系统.pdf_第1页
第1页 / 共4页
基于GPS卫星定位的实时位置显示系统.pdf_第2页
第2页 / 共4页
基于GPS卫星定位的实时位置显示系统.pdf_第3页
第3页 / 共4页
亲,该文档总共4页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、2023年9 月计算机应用文摘第39 卷第17 期基于GPS卫星定位的实时位置显示系统罗海山,梁少华(长江大学,湖北荆州4340 2 3)摘要:文章采用单片机并联合GPS定位模块研发了一款地理位置显示系统,应用AltiumDesigner软件对硬件进行设计,解决了SIM808模块、STC89C52单片机芯片和LCD显示器之间串口通信问题,并且利用仿真器对单片机存储区进行数据搜索,采用串口中断和时延函数计算GPS模块收到的数据,将其处理成所在城市后送显。测试表明,该系统能在液晶屏上正确显示信息。关键词:STC89C52;G PS模块;时延函数;串口通信中图法分类号:TP368Real time

2、position display system based on GPS satellite positioningAbstract:This paper uses the single-chip microcomputer in parallel with the GPS positioning moduleto develop a geographic location display system.The Altium Designer software is used to design thehardware,which solves the problem of serial co

3、mmunication between the SIM808 module,theSTC89C52 single-chip microcomputer chip and the LCD display.Data search is carried out in thestorage area of the single-chip microcomputer,and the serial port interrupt and delay function areused to calculate the data received by the GPS module,and it is proc

4、essed into the city where it islocated and then sent to the display.Tests show that the system can be displayed correctly on theLCD screen.Key words:STC89C52,GPS module,delay function,serial communication1引言近年来,随着国民经济水平的不断提升,CPS定位系统的应用市场不断壮大。随着GPS的不断发展,该系统已在国民经济建设和科技领域得到广泛应用。在舰船方面,GPS能在海洋上进行深海打井、挖掘海

5、矿、架设管道和定位暗礁。在飞机方面,它能够在起飞和着陆时探测障碍物。在陆地上,它能用于绝大多数车辆的定位导航,以及用于大地测量和资源勘探。在空间技术方面,远离地面的卫星无法用肉眼操作,但可使用GPS进行卫星轨道实时监测,以及飞船交会对接。如今GPS系统和人们的生活已经密不可分,无论是直接的还是间接的,它在人们的生活中无处不在,比如,卫星系统可以用来帮助公安、银行、交通管制等部门进行车辆调度监视,救护车和消防局也使用它监控路况,从而用最快的速度进行救援。本文通过GPS系统连接卫星,经过数据确认后,可以较为准确地得到经纬度、海拔高度、格林威治时间和所处国内地理位置等信息,然后在液晶屏上进行文献标识

6、码:ALUO Haishan,LIANG Shaohua(Yangtze University,Jingzhou,Hubei 434023,China)显示。此基础上,对单片机串口进行程序设计,主要是针对STC89C52单片机的硬件结构、中断系统、串行通信和输人输出等进行系统的研究。2总体设计该设计的目标是利用MCS-51单片机小系统和GPS卫星定位模块等硬件实现显示当前地理位置、经度和纬度信息等功能。其中,硬件包括核心控制芯片STC89C52、SIM 8 0 8 模块、GPS天线和LCD显示模块。通过单片机发送AT指令到GPS模块,卫星接收到数据信息,在单片机内部存储器对其处理后,传输到液晶

7、显示屏上显示。软件程序由主函数、GPS信息处理函数和显示控制函数三大部分组成。系统总体设计框图如图1所示。3石硬件设计3.1STC89C52单片机该系列单片机芯片支持在线系统编程,是一种耗118能很低且处理速度快的微型控制器,拥有可编程Flash存储器 1。P3.0口和P3.1口是全双工异步串行口,能够直接经过串行口烧录设计的软件代码,从而避免了每次运行代码都要重新从单片机上接线再连接到计算机编译软件。GPS接收的信息都保存在内部数据存储器中,通过运行程序反馈至液晶屏上显示。电源模块GPS接收复位电路晶振电路图1系统总体设计框图3.2SSIM808三合一模块SIM808模块有GSM,GPS和蓝

8、牙三种功能,内含一组TTL电平接口,初始电压是5V,且必须保证供电电流不小于1A,频率有4种。为了识别当前运行情况,该模块有3个液晶显示指示灯,分别是PPS指示灯、网络指示灯和RING指示灯。通过外接一根天线搜寻并采集卫星数据,经由变频、放大、滤波、相关混频的反应过程,连接卫星后PPS指示灯开始闪烁,具体为亮1秒灭1秒。通过接收卫星导航信息计算卫星信号传输间隔后,可以从单片机存储器或者串口调试工具中读取卫星信息。SIM808模块如图2 所示。图2 SIM808模块3.3LCD12864液晶显示电路LCD12864液晶显示模块的每一行可以容纳16个数字或字符,其汉字库支持绝大多数汉字的显示。显示

9、屏额定供电电压为5V,并且通信方式为并行通信和串行通信,支持显示的颜色有3种,即灰色、蓝色和黄绿色,液晶显示类型为STN,支持光标显示、自定义字符、休眠模式和图像移位等功能。3.4晶振电路在9 6 0 0 的波特率下使用12 MHz的晶振允许发送一字节累加的误差比11.0 56 2 MHz的更大。而要保证运行顺利,误差不能超过2%,因此选择误差较小计算机应用文摘的11.0 59 2 MHz的晶振。它的串口工作方式有4种,其中方式0 和方式2 的波特率是不可改变的,前者不适用于异步串行通信。而方式1和方式3的波特率可设置,两者波特率设置方式是一样的,但前者适合双机串行通信,后者则适用于异步串行通

10、信,所以最后选择方式1。4系统软件设计4.1系统主程序设计液晶显示模块系统的软件设计主要分为三大部分,即主函数模单片机STC89C522023年第17 期块、显示函数模块和GPS函数模块。主函数模块负责按键控制处理GPS 函数模块接收的数据,并将计算输出到显示屏上。显示函数模块负责对所要显示信息的布置。GPS 函数模块将GPS接收的数据与函数中的全国各省的经纬度比对,以获得当前地理位置信息。编写程序采用的计算机语言是C语言 2。运行成功后将C语言程序转换为“.hex”文件,然后连接串口助手软件给单片机烧录程序 34.1.1延时函数延时的主要作用是使数据能够被正确处理。单片机处理器是按程序指定时

11、间间隔取值,而不是根据理论速度取值。如果刚完成当前I0口状态,而没有进行延时处理,程序在处理过程中就没有时间来运行下一段。若将当前IO口状态作为下一个Bit位的数据,则会由于时间太短而出错。4.1.2串口初始化函数单片机应用系统是独立的,要与计算机通信才能完成任务,并设置波特率。因此,在使用串行口时要进行初始化设置,并选择定时器。单片机晶振频率是11.05926MHz,波特率设置为9 6 0 0 dps,和GPS模块波特率一样,比较稳定。这里选择串行口工作方式1最佳,它是10 位异步收发,波特率可变,适合单片机与 GPS模块之间的串行通信,它作为一个独立的子函数放到主函数中调用,关键代码如下:

12、void InitTIMERO(void)1TMOD=0X21;/定时器TO,16位定时SCON=0X50;/串口工作方式1TH1=0XFD;/Fosc=11.059200mhzTL1=0XFD;/定时器1装初值9 6 0 0PCON=0X00;/波特率不加倍为9 6 0 0TR1=1/定时器1工作ES=1;/允许串口中断THO=0 xf5;/给TO高八位装人定时初值TLO=OxeO;ETO=1;/TO 中断TRO=1;/停止定时器TO2023 年第17 期EA=1;/打开总中断4.2串口中断接收程序程序遇到异常状况时停止运行。此时,完成串口通信数据传送后对问题进行处理,然后返回执行原程序。此

13、程序可以验证数据是否完成传送。单片机内的程序发送AT指令给GPS模块,然后将接收的卫星信息反馈给单片机,数据输人会触发串口中断,这时将接收的数据存储到一个数组中,长度设置为9 5,通过显示屏判断数据是否有效,无效则进行复位操作。4.3忙检测液晶屏需要将PO口的数据读取出来并显示。若检测为忙,则接收数据还没有接收完就要等待,若检测不忙,则可以继续操作。在处理内部指令时,液晶显示器会置位忙信号,外部指令不能控制液晶屏运行,这时内部置高电平,而显示器在工作状态下不能发送指令,所以单片机小系统发送的指令这时不会被执行,这就是判忙信号的意义。若要判断液晶屏是否空闲,可利用查询方式检验,忙则等待延时再次查

14、询。4.4GPS 模块程序卫星采集的信息储存在单片机内部数据存储器中,根据收到的数据判断所处地理位置,经纬度经过仿真器调试查到具体位置在“Receive_table”数组6585位中,但由于得到的数据编码与C语言程序设计的格式不同(GPS 数据在存储器中的格式是ASCII码)因此要转换成十进制再比对。GPS默认通信波特率为9 6 0 0 bit/s,注意使用的单片机的波特率也应该与其一致。GPS模块的数据输出格式一般为标准的NMEA-0183格式,全球通用。为便于系统判别和分离,传输的数据代码是 ASCI 码字符串,以提取所需卫星数据 4。卫星导航的坐标系格式为WGS-84,接收的地理位置信息

15、刷新速度时间约2 s。G PS接收的信号属于民用频段,平均误差为10m,受各种外界影响还可能会更大,使用时要注意的是动态速度误差为0.1m/s。SI M 8 0 8 模块控制GPS的指令如表1 所列。表1SIM808模块AT指令集命令描述AT+CGPSPWRGPS模块开启或关闭AT+CGPSRSTGPS模块重启模式(COLD/HOT/WARM)AT+CGPSINF获取当前CPS地理位置信息AT+CGPSOUTGPSNMEA数据输出控制AT+CGPSSTATUSGPS模块定位状态AT+CGPSTST开始从串口接收/停止接收GPS数据计算机应用文摘5系系统测试要检测SIM808模块的完好性,需要使

16、用串口调试助手来连接SIM808模块进行数据的收发,AT指令如表1所列。打开设备管理器检查串口配置是否成功,若没有显示,则需要安装串口驱动工具并进行重启。打开串口调试助手后会自动识别串口位置,但发送AT指令后,GPS模块接收的数据乱码或没有正确显示信息,一般根据接收的“$GPSRMC”这一行判断,即推荐定位信息,它的数据格式依次为格林威治时间、定位状态、纬度、纬度半球、经度、经度半球、地面速率、地面航向、格林威治日期、磁偏角、磁偏角方向。模式指示中“$CPSRMC”信息第二块显示为“A”,即有效定位。实验发现,单片机系统拥有一个512 GB存储器,接收并存放GPS模块的数据。它的存储器在逻辑和

17、物理上分为2 个地址空间,内部拓展存储器和内部存储器各占一半,程序默认使用的是通用RAM存储区,若存储的GPS 数据数组过长,则data 区不够用,因为 data区不仅要存储GPS数据,还要存储系统程序部分。可以将其改成使用特殊功能的寄存器,即idata区,它的可用大小为12 8 CB,容量足够大并且数组的长度还可设置得更长,以便之后提取卫星海拔高度等信息 5测试系统启动后,主屏能准确显示经纬度及海拔和时间信息,副屏则显示根据经纬度判断的当前地理位置信息。具体如图3所示。经度:30.49 12 0 2纬黛:1114.304988海拨:164.1百期:20210326GPS定位信息:湖菲武洛市北

18、京时简:10:02:53图3主屏显示和副屏显示6丝结束语本设计主要由单片机小系统和SIM808模块的GPS功能部分组成。硬件之间进行了双机串行通信,连接稳定,通过AT指令集可以完美控制GPS模块并接收卫星数据。不足是网上定位信息不尽相同,用硬件测试出来的结果和网络上的结果有偏差。民用方面北斗卫星的误差只有5米,而GPS有10 米。此外,(下转第12 2 页)119122试样本进行降维。将处理后的训练样本作为字典集,对处理后的测试样本进行编码,计算每类的编码误差,将测试样本分类到编码误差最小的类别中。将以上过程重复10 次,计算平均分类准确率,以评价算法的分类性能。在实验中使用一种修正的编码误差

19、对测试样本进行归类。设X,是第i类样本,;是该类样本所对应的编码系数,则修正编码误差的计算方法如下:Ily-X;,12I;其中,ly-X,ll为原始编码误差,l;l,为第i类样本对应编码系数的Lp范数。对于某个测试样本,使用每类训练样本对其修正编码误差,然后将该样本归类到修正编码误差最小的类别中。使用修正编码误差能有效提高分类准确率。0.550.50.450.40.35Ld0图2 不同p值对应的分类准确率最终得到的平均分类准确率随p值变化的结果如图2 所示,其中p=0.1:0.1:2.9。最高分类准确率为0.549 3,当p=1.1时取得。当p=1.0时,Lp范数最小化问题退化为L1范数最小化

20、问题,对应分类准(上接第119 页)卫星位置也在不断变化,得到的数据只能精确到小数点后前三位,同一个位置得到的经纬度信息不稳定。比如,手手机软件打车时位置时常变化,马路左右两边分得也不清楚,受限于技术还无法完成更加精准的定位,之后的研究需要更加精准的硬件模块来提升数据的可靠性。参考文献:1刘丽,李雁星,齐晶薇.STC单片机项目实例教程M.武汉:华中科技大学出版社,2 0 19:1-2.2 邓如兵.C语言在单片机中的应用研究 J.北京:电子世计算机应用文摘确率为0.5450。当p=2.0时,Lp范数最小化问题退化为L2范数最小化问题,对应分类准确率为0.437 5。因此,本次人脸识别实验中Lp范

21、数最小化的分类性能优于L1范数最小化和L2范数最小化的分类性能。5结束语本文针对Lp范数最小化问题,通过改进迭代重加权最小二乘法,提出一种新的求解算法。该方法能巧妙避免除以零的问题,同时将解域拓展到p0的(13)范围。人脸识别实验证明了该方法的有效性。参考文献:1吴明,潘亚宾.一种改进的联合稀疏表示人脸识别算法J.科技创新导报,2 0 2 0,17(16):158-16 0.2武锐,贾振红.基于多通道融合和组稀疏编码的视频去雪算法 J.新疆大学学报(自然科学版)(中英文),2 0 2 3,40(1):69-78+86.3管阳.基于Lp范数稀疏增强的人脸识别算法J.自动化与仪器仪表,2 0 16

22、(7):19 7-19 9.4周洋,宋长明.基于Lp范数和融合字典的人脸识别算法SJ.中原工学院学报,2 0 19,30(6):6 2-6 7+7 9.5】王旭东,黄海滨.CNN-IRLS装配孔定位方法研究 J.佳木斯大学学报(自然科学版),2 0 2 3,41(1):117-12 0+17 4.6郭浩宇,刘强,万一.联合LoFTR与自适应IRLS的立体测0.512023年第17 期1.52P2.53绘卫星高程误差检查 J.测绘通报,2 0 2 3(2):34-39.7王小婷,王浩全,张瑛.基于DWT-IRLS算法的超声断层成像方法研究 J.光电子,激光,2 0 2 3,34(4):441-4

23、48.作者简介:谢晓(19 9 0 一),硕士,助理实验师,研究方向:密码学、机器学习。界,2 0 2 1(1):2 1-2 2.3刘光乾.教学KeilC51软件安装及STC89C52单片机实训平台的应用详解 N.电子报,2 0 19-12-2 2(9).【4苏日古格,于新海,国芳,等.基于STM32单片机的北斗/GPS双模定位系统设计及测试 J.北京:信息与电脑(理论版),2 0 2 1,33(1):12 3-12 5.5刷唐.51单片机存储器的结构和原理N.电子报,2 0 19-11-03(6).作者简介:罗海山(19 9 8 一),硕士,研究方向:单片机、嵌入式系统。梁少华(19 6 5一),硕士,副教授,研究方向:软件工程、人工智能技术。

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服