|
摘 要:本文介绍了如何采用GPS模块、单片机、液晶显示屏设计一款可以实时显示当前日期、时间和所在位置的纬度、经度等信息的系统,经过测试,此设计可以完成预期的功能,实现了简易GPS定位要求。
http://
关键词:GPS定位 单片机 液晶显示屏
GPS是英文Global Positioning System(全球定位系统)的简称,中文简称为“球位系”。由于GPS技术所具有的全天候、高精度和自动测量的特点,作为先进的测量手段和应用范围已经融入了经济建设、国防建设和社会发展的各个领域,而且随着技术的不断发展,已经开始逐步深入到人们的日常生活中。
一、系统设计
本系统的目标是选用单片机AT89S52作为主控设备,接收GPS模块的数据并由液晶显示屏LCD12864显示接收数据。通过串口接收GPS模块所发送的数据,并从中过滤出所需要的数据,在经过相应处理后显示特定的数据,最终实现效果是可以准确显示出时间、日期和用户所在位置的经纬度、速度数据。
(一)硬件设计
系统硬件电路主要由GPS OEM接收板、液晶显示器、AT89S52等部分组成。GPS OEM板接收的串行数据经单片机处理后通过LCD液晶显示器显示。系统整体框架如图所示:
(二)软件设计
本设计的主要功能是接收GPS模块传送的数据,并显示出相应的数据信息,包括当地时间、纬度、经度以及速度。数据接收部分采用串行中断接收数据,显示部分采用I/O口并行传送数据方式显示信息。主程序开始后,首先对系统环境初始化,包括串口初始化,定时器、中断、LCD初始化,然后程序进入中断等待状态。系统程序结构属于中断方式,绝大多数功能在中断中完成。根据总体结构,可将程序分为几个功能化模块,各个模块可以进行独立设计、调试和查错,最终再连接成一个整体。
GPS提供的定位信息包括了经度、纬度、海拔、速度、航向、磁场、时间、卫星个数及其编号等信息,其接收数据方法类似,因此本设计只是提取了其中的部分数据信息,包括时间、日期、纬度、经度和速度等。GPS协议返回多种形式的数据,例如以$GPVTG、$GPRMC、$GPGSA等字符串开始的数据,它们含有大致相同的信息,本文只以由$GPRMC起始的数据作为接受的原始数据。
$GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A*50
(三)程序设计
对GPS模块返回数据的获取可以通过向GPS模块发送特定的字符串指令,使其只输出特定类型的数据,也可以通过在程序中判断返回的数据,从而只过滤出特定值的数据。本文采用第二种方式,只介绍如何从众多的GPS返回数据中分离出以$GPRMC起始的数据,程序的部分代码如下所示:
/* 判断是否收到GPRMC格式语句的第一个字符"$",其数值为0x24 */
如果接收到的数据以$GPR开始,则可以判定其后的数据即为所需要的数据,此时设置完成接收数据标志flag=1,并接着开始下面的数据信息的处理。
二、结束语
本系统经过测试,能够实时获得GPS模块接收的纬度、经度、时间、日期等信息,可以实现最基本的定位功能。在此基础上,该系统与电子地图、GSM模块等进行连接后,可以实现可视化的导航和远程定位信息获取功能。 |
|