基于单片机的GPS定位系统设计毕业论文

本科毕业设计(论文)

题目基于单片机的GPS定位

系统设计

姓名

专业

学号

指导教师

信息工程学院

二○一五年六月

目录

摘要............................................................................................................................ I Abstract ........................................................................................................................ I I 前言.......................................................................................................................... III 1 方案的选择与论证.. (1)

1.1 方案选择 (1)

1.1.1 方案一 (1)

1.1.2 方案二 (2)

1.1.3 方案论证 (3)

2系统软件仿真 (4)

2.1 Proteus软件简介 (4)

2.1.1 Proteus 的工作过程 (4)

2.1.2 Proteus 调试手段 (4)

2.2 系统的总体仿真 (5)

2.2.1液晶显示模块 (6)

2.2.2 GPS模块 (7)

3 GPS定位系统硬件设计 (8)

3.1 Keil软件介绍 (8)

3.2 GPS定位系统硬件设计 (10)

3.2.1 IAP15W4K58S4单片机 (10)

3.2.2 按键模块设计 (10)

3.2.3 按键液晶显示模块 (10)

3.2.4 GPS模块 (12)

3.2.5 SERF NEO-6 GPS信号接收模块 (12)

3.2.6 稳压电路模块 (13)

4 基于单片机的GPS定位系统的实现 (14)

4.1 硬件部分的实现 (14)

4.2 软件的烧录与调试 (15)

4.3 最终实现的功能 (16)

结论 (17)

致谢 (18)

参考文献 (19)

附录一:总体电路原理图 (20)

附录二:实物图 (21)

附录三:源程序 (22)

基于单片机的GPS定位系统设计

摘要

本设计是基于IAP15W4K58S4单片机来实现的简易全球定位系统。本控制系统主要完成接受数据、时间显示、经度显示、纬度显示等常规功能。此方案基于单片机、全球定位系统模块和1602字符型LCD液晶显示屏等硬件, 并应用C语言实现了全球定位系统信号的提取、显示及基本的键盘控制操作等。经过实践测试 ,这种接收机可以达到基本全球定位系统信息的接收以及显示,可以做到体积小、精度高、连续导航,并可广泛应用于个人野外旅游探险、出租汽车定位及海上作业等领域。

本次设计的设计要求是通过全球定位系统模块获得定位信息,主要包括经纬度和时间等,可以根据需要在单片机解析定位数据时选择,同时全球定位系统模块实现定位。单片机通过串口控制全球定位系统模块,获得定位数据,把定位数据存储在单片机中通过液晶显示器进行显示,并由按键实现功能选择。

关键词:全球定位系统;IAP15W4K58S单片机;液晶显示器;导航

THE DESIGN OF GPS POSITIONING SYSTEM

BASED ON MCU

Abstract

This design is based on IAP15W4K58S4 microcontroller to achieve a simple global positioning system. This control system mainly completes the routine functions such as receiving data, time display, longitude, latitude and so on. The scheme is based on the microcontroller, global positioning system module and 1602 character LCD liquid crystal display screen and other hardware, and application of C language realize the global positioning system signal extraction, display and basic keyboard control of operations. By the practical test, the receiver can achieve basic GPS information receive and display, you can achieve small size, high precision, continuous navigation and widely used in the field of personal wild adventure tourism, taxi positioning and operations at sea.

The design of the design requirements is the location information is obtained by a global positioning system module, mainly including longitude and latitude and time, can according to need to choose in MCU to analyze location data and global positioning system positioning. SCM through the serial control of the global positioning system module, access to positioning data, the positioning data stored in the microcontroller through LCD display, and by key to achieve the functional choice.

Keywords: GPS; IAP15W4K58S microcontroller; LCD; Navigation

前言

1、课题研究的目的与意义:

GPS(Global Position System)是全球定位系统,该系统是美国布设的第二代卫星无线电导航系统。它能为用户提供全球性、全天候、连续、实时、高精度的三维坐标、三向速度和时间信息。其目的是在全球范围内对地面和空中目标进行准确定位和监测具有全天候、高精度的特点,伴随着硬件配置的不断提高,应用领域也在不断的扩展,并逐步深入到了人们的日常生活中。GPS已经在经济、军事、科研和社会生活各领域得到了广泛应用,发挥着重要的作用。GPS最初由美国政府控制使用,是目前世界上最具权威性的导航系统。它由30个(4作为备份星)在轨道上运行的卫星。早期的GPS系统用来限制民用信号的,定位精度约100多米,在2000年的限制取消。

目前,GPS的民用信号的定位精度可以提供10多米。GPS可以在许多领域,如民用航空,车辆调度管理,整个陆地,海洋和空中导航范围内的深海运输,特别是在车辆定位和导航领域中使用,GPS全球卫星定位技术与了广泛的应用。随着应用领域的日益扩大,中国卫星导航仪的市场规模已从2000年的不到10亿元增长到了2009年的120亿元[3]。

据有关统计,全国GPS导航设备普及率达到90%在欧美国家,日本更是超过95%。一个对3G应用与创新的专业观的调查显示,百分之17.79的受访者选择了3G网络视频对话,百分之15.34的受访者选择了GPS和地图搜索,在3G 时代的到来,对GPS和电子地图的关注,足以显示其在日常生活中的重要性。

此外,消费者和市场的需求也促进了航运业的发展和成熟。2009,中国的民用汽车保有量达到一亿七千万但是装载导航设备的车辆,还不足70万辆。尽管不少汽车厂家对其高端车型在出厂前就安装了导航系统,以低端车型也可选导航其它产品和服务,但价格昂贵,车载导航系统(GPS以150000000美元花冠连线然后安装价格有7000元,所以没几个人)买一辆汽车非常实用导航配置遗弃。按20%个私家车保有量的平均年增长率的估计,导航产品的要求是一个很大的增值。因此,研究和开发必要的GPS是适应大众的要求的[5]。

2、国内外研究现状:

随着应用范围的扩展,GPS等相关产品产品也逐渐成为全球无线通信终端

市场重要的产品,就目前国际形式来看,越来越多的汽车导航定位系统还有无线产品的平民化,是GPS产品能够迅速增长的主要原因,根据我国市场公司ABI的报告显示,在2002年,汽车导航定位和无线通信产品的市场比合计为38%,到了2005则增长了15%,市场上的其他产品合起来仅占43%。

不论是汽车导航系统或是GPS的通信应用产品,主要区域市场是日本,美国,欧洲和其他三个地区。在车辆导航系统中,例如,由于高度发达的电子地图和消费电子技术,加上智能运输系统的成熟,使得日本成为全球汽车导航系统的渗透和最高的市场价值。在大约6700000美元,日本的销售价值2000的汽车导航系统,占全球市场的77.9%,而欧洲和北美[6],分别仅占13.9%和6.9%。随着汽车导航系统的日益普及,在2005年之后,欧洲和北美在汽车导航方面占的分量日益增加,两大阵营在这几年的占用市场比例分别增长至27%和22.5%。

美国的通信大商高通公司,专注于通信方面的研究,该公司在1995年成立了一家名为快速跟踪公司的子公司,该公司致力于解决无线通信与GPS融合方案的研究,在国际上在该行业比较有名的还有,瑟夫科技,天宝公司等,但是在这三家公司中,天宝公司的发展不如其他两家公司。在该领域中,主要难题在于,如何让GPS应用于无线通信行业中。现在各大公司的解决方案为,让手机端与系统端结合的混合方式成为无线定位服务的重点,在手机端,用MSM3300芯片将GPS使用的LNA,LCFilter以及GPS One结合在一起,这样手机就具备了接受卫星信号的定位功能,这项科技用的芯片是高通公司和瑟夫公司联合开发研制的,功能十分的强大。但是具备接收卫星信号的功能并不代表具有定位功能,在解决这方面的问题上面,使用快速跟踪公司研制出来的MMASIC芯片来接收GPS信号,能有效的解决GPS信号衰减的问题。在国际上知名的通信厂商如:摩托罗拉,日本NEC,台湾HTC,美国加州仪器公司,都有和该公司合作。

现在各大手机厂商以及软件公司都非常看好GPS市场,但当把理论应用到手机上的时候,问题就应允而生,各大厂商遇到的障碍还是非常多的,首先,在GPS的选择方面,一种是在手机上选择内建的GPS芯片,另一种是选择外接的GPS模块,无论选择哪一种,都无可为避免的提高了手机的成本,影响消费者对该品牌手机的购买意向。另外还有一个对手机而言非常中要的性能,手机

电量。没有GPS系统的手机耗电量远远低于有GPS的手机,所以解决这方面的问题成为当前各大国际厂商头疼的问题,虽然当前各大国际公司也有提出解决的方案,但是各大运营团队对现有的解决方案还持有怀疑态度,大多都还在观望,多以GPS的市场应用前景的开发空间还十分的广阔[10]。

3、系统具体设计

本设计的主要目的是在单片机的理论基础上,选用IAP15W4K58S4单片机来提取GPS模块的接收数据并由液晶显示接收数据。使用NMEA输出命令,结合单片机串行通信知识能实现对GPS接收到的卫星信息进行提取,并在液晶显示平台上选择性的显示数据。

(1) GPS模块实现定位;

(2) 单片机通过串口控制GPS模块,获得定位数据;

(3) 根据需要把定位数据存储在EEPROM或在液晶显示模块进行显示;

(4) 键盘实现功能选择;

(5) 看门狗电路确保系统的可靠性。

1 方案的选择与论证

1.1 方案选择

1.1.1 方案一

GPS使用AT89S54单片机微处理器硬件设计低压AT89S54,美国爱特梅尔公司的高性能CMOS8单片机8KB字节FLASH,芯片的擦写的只读程序存储器(光盘128字节)的随机存取记忆体(RAM的设备,采用ATMEL),高密度非易失性存储技术生产,与标准的指令集单片机兼容,八芯片,通用中央处理器和闪存的(CPU)。

外围电路由键盘、看门狗及EEPROM模块、液晶显示模块、GPS模块组成,如图1.1所示。

图1.1 硬件电路结构框图

系统硬件设计包括如下内容:

(1) 键盘模块

本设计采用的是4×4的矩阵式键盘,直接与AT89S54的I/O口进行连接。利用键盘实现数据信息选择性输出的控制。

(2) 看门狗及EEPROM模块

程序运行时,看门狗需要程序每隔一段时间给它个信号,用以清空它的计数器;如果没有这个信号,计数器溢出,则会给处理器一个复位信号,使处理器强制复位,这样可以避免死机,提高系统的可靠性。此外EEPROM可以存贮GPS接收到的定位数据以便对定位精度及误差进行估算。

1

(3) 液晶显示模块

液晶显示模块要实现的功能是显示由单片机输出的定位信息,包括经度、纬度、高度的三维坐标及时间等。可由单片机选择性的显示某一个数据或同时显示几个数据。

(4) GPS模块

GPS模块是整个设计中最重要的核心模块,该模块的功能是把内部接受到的定位数据通过串行通信的方式传递给单片机,由单片机进而对这些数据进行相应的控制和处理。

(5) 电源电路

电源电路负责为各模块芯片供电,使各芯片在其工作电压范围内正常工作。方案一的特点

(1) 键盘模块按键多,功能强大,可以实现多种功能选择。

(2) AT89S54内存比较大,方便使用大程序。

(3) 外置ROM,便于存储数据以及调用。

(4) GPS模块板需经过电平转化MAX232才可与单片机通信。并且性价比一般。

(5) AT89S54非常用芯片,不易获取。

(6) 使用外置ROM需要占用至少8个数据口,需要对某个数据进行分时复用。加大了电路复杂性。

(7) 整个电路硬件多,布局难。

1.1.2 方案二

GPS模块通过电平转换与LAP单片机进行串行通信,其中GPS传入单片机的为GPRMC格式的语句,需要在单片机中进行解析等操作。将取得的GPS 数据发送到单片机中进行处理,通过键盘模块的按键控制,单片机判断后进行操作,将数据存储到内置ROM中,或将已得的经纬度通过液晶显示模块显示,再此期间,LCD1602始终显示当前位置的经纬度,硬件电路结构框图如图 1.2所示。

2

图1.2 硬件电路结构框图

方案二的特点

(1) 电路硬件少,结构简单易懂。

(2) GPS成本低,性价比高。

(3) 单片机是当代主流,内存4K足够使用。

(4) 数据口够用,资源能合理使用。

(5) 结构比较简单,硬件及软件功能有一定的局限性。

(6) GPS模块以及接线不方便携带。

1.1.3 方案论证

最终选择了方案二,理由共六条。

(1)可以满足课题要求,并且其性价比高。

(2)课题按键功能的实现不需要键盘模块,只需2~3个按键即可。

(3)LAP单片机内存足够用,不用使用大内存的AT89S54单片机。

(4)虽然缺少了外置ROM,但减少了分时复用的麻烦。

(5)方案二的I/O口的合理分配。

(6)显示部分的器件选择方案二更主流,并且性能好。

3

2系统软件仿真

2.1 Proteus软件简介

Proteus软件是一种专业的仿真软件,EDA工具软件,它是由英国的Lab Center Electronics公司研发推出了。此软件不仅具有EDA工具的仿真模拟功能,还能仿真单片机及其外围的设计电路,从原理图的布局设计,源程序代码的调试和外围电路的协作模拟仿真,到一键切换到PCB的设计中,真正实现了从理论设计的概念化,到产品的完整设计与调试。

此软件有着非常丰富的元器件库资源,多达27000种的元器件任你选择,创建方便,使用简单。并且还具有智能化的连线功能,支持总线结构,还可以输出高质量的图纸。其应用领域广泛,在教学领域可以进行模拟电路和数字电路的教学与实验,微控制器的综合实验,项目的设计与产品研发,创新设计与毕业设计等。在产品开发领域,是一个从产品概念设计到完整的模拟仿真应用平台,可以预计研发项目的评估,减小开发的风险,便于团队项目的管理与团队的开发合作[11]。

2.1.1 Proteus 的工作过程

本次设计用到的是proteus8仿真软件,首先打开Proteus仿真软件,在进行仿真之前,设置好界面信息,和布局。当准备工作完成后,在工具栏中选择本次仿真需要的元器件,这是在pick devices窗口下执行的操作,元器件选择完成后把选中的器件放在仿真区域,并把器件爱你的参数以及器件的名字改正,然后进行连线。当仿真图画好之后需要进行仿真实现的时候,需要选择程序的编译工具,扩展名,路径等等。我们把在外部写好的单片机程序加入到本次仿真试验中,在debug菜单对应的命令下仿真电路的运行状况。

Proteus软件里面涵盖了数千种元器件,里面的元器件非常的多,通常不会找不到我们所需要的内容,而且里面的元器件的类型更是丰富。

2.1.2 Proteus 调试手段

Proteus软件对电路调试提供了两种方法,这两种方法能很好的解决我们在

4

5

仿真过程中遇到的问题。

(1)总体执行效果的调试方法,首先需要在debug 菜单中找到execute 选项,或者我们可以选用快捷方式直接按下F12,如果我们想要在运行过成中暂停程序需要shift + break 组合键停止系统运行,使用快捷方式的操作可以节省我们调试的时间,运行的方式还有多种,在菜单栏中可以找到。

(2)软件的分步调试,应该执行启动调试菜单/重新启动调试菜单项命令,那么你可以选择跨越,进入和失调执行命令(可以用快捷键Ctrl + F10,F11,F11),执行的效果是一个句子的实施,跳到子程序子程序。在执行启动/重新启动调试命令,在下面的仿真调试菜单出现在软件和单片机的系统资源列表,用于调试分析和评审的时间[15]。

2.2 系统的总体仿真

系统采用单片机常用的仿真软件Proteus 进行仿真,总体仿真图如图2.1所示。

图2.1 总体仿真图

系统总体流程图如图2.2

接收到信号后,通过串口通信把数据传输到单片机中,单片机通过编码头来判断是否是自己需要信息进行处理,如果是就提取自己想要的信息,并把信息传输给液晶现实器进行显示。

2.2.1液晶显示模块

该模块构成的液晶显示方案与同类型的图形点阵液晶显示模块做比较的话,不仅硬件电路结构简洁,且该模块的价格也略低于相同点阵的图形液晶模块,LCD1602的程序流程图如图2.3所示。

6

图2.3 LCD1602的程序流程图

采用LCD1602液晶显示模块可以很好的显示由GPS模块接收采集到的信息,使观察者可以清晰的得到信息内容,而且该模块低功耗、价格便宜、体积小,适合于本设计的要求。

2.2.2 GPS模块

当GPS接受信号后,保护现场,改变正在工作状态,或者刚开始工作的状态,判断是否接受中断为1,在程序设计中,非零即为真,然后清除上一次的中断标志,接受单片机中缓存区的数据,进入程序运作区,GPS接收程序流程图如图2.3所示

图2.3 GPS接收程序流程图

7

3 GPS定位系统硬件设计

3.1 Keil软件介绍

KeilC51是美国Keilsoftware 公司出品的51系列兼容单片机C语言软件开发系统。该编译软件具有具有庞大的库函数,同时据有功能强大的集成开发工具,对开发者而言是很好的开发工具,经过Keil编译出来的语言据有很好的可读性,其他不懂keil的编译人员只要看一下使用keil编译出来的代码很容易就能理解里面写的内容,同时该编译软件编译出来的代码具有很好的移植性,代码编译效率大大提高。Keil的版本目前是V7版本,他是很优秀的8051C编译器。安装Keil对系统的要求比较低,一般的windows系统就可以了。安装过程也很方便,依照软件安装过程的提示完成安装即可[17]。

KeilC51软件的集成编写时在Vision2编译环境下进行的。Vision2是一个标准的windows应用程序,它是C51的一个集成软件开发平台,具有源代码编辑、项目管理、程序生成器等功能,操作方便是开发者的首选工具软件。Vision2提供以下特性帮助用户快嵌入式应用的开发过程。

1 用户可定义密码序列的全功能编辑器;

2 将外部程序加入下拉式菜单的应用管理器;

3 创建和保存项目的项目管理器;

4 汇编编译和连接应用程序的集成程序生成工具;

5 所有环境的对话框和开发工具设置。

(1) C51编译器和A51汇编器

源代码包括uVision2创建并编译或C51汇编A51。编译器和汇编程序从源代码生成可重定位的目标文件。KeilC51 ANSIC语言编译器完全符合标准要求,对C语言的所有标准功能支持。此外,8051种结构的几个特点,直接支持添加到里面。keila51宏汇编程序支持所有8051及其衍生系列指令集。

(2) LIB51库管理器

在汇编器和编译器编译成功后生成的目标文件中,LIB51允许它们创建自己需要的目标库文件,如果连接器需要处理一个库的时候,它自己调用这个库,

8

库中封存的是这个模块的内容,连接器进行访问的时候LIB51库为其提供所需要的内容,提高访问效率,同时提高安全性能。

(3) BL51连接器/定位器

该连接器BL51/定位器使用库和绝对地址生成由编译器或汇编的目标模块目标模块提取的目标模块。目标模块或文件包含不重的代码和数据的绝对地址- 定位。所有代码和数据被放置在一个固定的存储单元的容器。此绝对地址目标文件可以用来写EPROM或其它存储装置,或者由的uVision2调试仿真器使用的用于仿真和调试测试程序。

(4) Vision2调试器

Vision2调试器的源代码级调试器是一种理想的,快速和可靠的调试器调试。该调试器包含一个高速模拟器,可以模拟整个8051系统,包括片上外设和外部硬件。当设备从设备库中选择,该装置的功能被自动配置。用Keil C51编译器的过程Vision2包含项目经理,可以使8051应用系统。要创建一个应用,需要按下列步骤进行操作。

①启动Vision2,创建一个项目文件并从器件库中选择一个器件。

②新建一个源文件并把它加入到项目中。

③增加并配置选择的期间的启动代码。

④针对目标硬件设置工具选项

(5)编译项目并生成可以编程PROM的HEX文件。编译后,C51编译器产生一个列表文件。文件中包含源代码、指示信息、汇编清单和字符表。

① C51编译器产生行号,编译时的时间和日期;

②编译器的运行和产生的目标文件的信息被记录在案;

③列表文件在每个源代码前没包含行号和{}的嵌套层数;

④如果错误或可能错误的代码存在,一个错误或警告信息将显示出来;

⑤选择在μVision2-options for taget-listing中的Assembly code代码指示选项,将在列表文件的汇编代码处加入源代码所在的行号;

⑥存储器一览表提供了8051存储器占用信息;

⑦程序中的错误和警告总数包括在文件的结尾处。

9

3.2 GPS定位系统硬件设计

3.2.1 IAP15W4K58S4单片机

IAP15W4K58S4是一种集上电复位、看门狗、电压监控和EEPROM 四种功能于一身的可编程控制电路,有助于简化应用系统的设计。

(1)上电复位

当电力被加入时,内部上电复位电路被激活,使得复位销是有效的。可避免在系统中的微处理器在欠压或不稳定振荡器的情况下的情况下的信号。如果VCC超过设备的极限VTRIP,电路会释放复位后200ms的延迟,让系统开始工作。

(2)低电压检测

当工作时,IAP15W4K58S4上VCC电压监控,如果电源电压下降到预先设定的最小电压时,系统将执行重置,这样可以有效地解决上述微处理器断电或断开。后的RESET被确认,直到电压下降到低于1V RESET信号将保持有效。而当VCC返回并超过VTRIP为200ms,系统再次开始工作[17]。

(3)看门狗定时器

看门狗定时器由WDI输入监视来监视微处理器的激活。由于微处理器必须定时触发CS / WDI引脚用于有效避免复位信号被激活和复位电路,使引脚CS / WDI必须在看门狗超时的终止是由高向低信号触发。

3.2.2 按键模块设计

键盘是人机对话的纽带,操作人员可以通过键盘输入数据和命令。键盘可分为非编码键盘和编码键盘两种,前者用软件来识别输入键和产生代码,后者则用硬件来识别输入键和产生代码,按键模块电路图如图3.1所示。

3.2.3 按键液晶显示模块

51系列单片机与液晶模块的接口方式有两种,一种为直接访问方式,一种为间接控制方式。直接访问方式就是将液晶显示模块作为存储器或I/O设备对待,直接挂在单片机总线上,单片机以访问存储器或I/O设备的方式操作液晶

10

显示模块。间接控制是单片机通过软件模拟液晶工作时序的方法实现与液晶显示模块的连接。本设计采用直接访问方式,硬件连接图如图3.2所示:

图3.1 按键模块电路图

图3.2 1602LCD连接电路图

11

12

3.2.4 GPS 模块

根据总体设计方案,基于单片机的GPS 硬件设计主要由GPS 信号接收部分(SERF NEO-6 GPS 信号接收模块)、控制芯片IAP15W4K58S4单片机、显示部分1602LCD 液晶显示模块、电平转换电路这几部分构成。GPS 应用结构框图如图3.3所示。

图3.3 GPS 应用结构框图

3.2.5 SERF NEO-6 GPS 信号接收模块

该设计中GPS 信号接收模块所选用的是SERF NEO-6 GPS 接收模块,该模块是由深圳市瑟孚电子有限公司所生产。模块具有12通道并行接收能力,所接收的GPS 信号属于民用频段的L1信号(1575.42MHz ),在没有SA 干扰的情况下平均定位误差为8米,动态速度误差为0.1米/秒,信号灵敏度更是高达-150dBm ,冷启动定位时间为52秒,热启动时间为34秒,重新定位时间仅仅需要10秒。

单片机串口TXD 、RXD 分别与NEO-6的RXA 、TXA 进行连接,用于对NEO-6进行设置后,采集NEO-6的GPS 定位和时间信息。EN 引脚为校准器使能端,接单片机的P3.6,通过其选用校准器(上电或低电压时启用,在2.0V 到VCC 之间禁用)。BOOT 引脚为模块启动端口,与单片机的P3.7相连,VCC 复位时模块启动进入特殊调试模式。硬件连接图如图3.4所示。

图3.4 NEO-6 GPS 信号接收电路图

相关文档
最新文档