基于单片机的GPS设计(23页).doc
-基于单片机的GPS设计题 目:基于单片机的GPS设计系 别:专业班级:学生姓名:指导教师:提交时间:2015年5月10日-第 18 页毕 业 设 计(论 文)说 明 书摘 要本设计根据GPS模块数据输出原理,基于GPS接收模块、51系列单片机、1602液晶显示屏等元件实现的一台小体积、方便携带、能够独立使用的实时定位导航设备。本设计主要研究GPS接收模块与单片机的串行通信,分别从硬件和软件两方面同步GPS的实时显示设计。硬件部分主要由STC90C51单片机最小系统模块、,GPS接收模块、LCD液晶显示模块、电源模块等组成。本设计软件方面以单片机的汇编语言进行,编写完成程序后,用软件wave进行调试,无误后在Proteus 8软件进行单片机嵌入仿真。关键词:单片机;GPS;1602液晶屏;串行通信;ABSTRACTThe design module based on GPS data output theory, based GPS receiver module, 51 series, 1602 LCD display and other components to achieve a small size, portable, real-time positioning and navigation equipment can be used independently.This design study GPS receiver module and single-chip serial communications, GPS synchronized separately from the hardware and software aspects of real-time display design. The hardware consists of STC90C51 smallest single-chip system module, GPS receiver module, LCD liquid crystal display modules, power supply modules and other components. The design software in microcontroller assembly language, after their completion program, using software wave debug and correct in Proteus 8 software embedded microcontroller simulation.KEY WORDS: GPS(Global Positioning System );MCU51;1602LCD screen目 录摘 要IABSTRACTII第1章 引 言11.1课题的背景及意义11.2总体方案的设计1第2章GPS全球定位系统介绍与接收GPS定位信号方案22.1 GPS全球定位系统及GPS接收模块的研究22.1.1 GPS全球定位系统22.1.2 GPS接收模块的研究32.2 接收GPS定位信号方案4第3章 基于单片机的GPS硬件设计53.1 基于单片机的GPS硬件总体结构53.2 基于单片机的GPS设计硬件部分介绍63.2.1 STC90C51单片机器主要性能63.2.2 Waveshare U-BLOX NEO-6M信号接收模块介绍73.2.3 1602LCD模块介绍83.2.4 电源123.3 基于单片机的GPS硬件连接介绍12第4章 基于单片机的GPS软件设计134.1 GPS NAEA 0183数据格式介绍144.2 基于单片机的GPS软件开发环境144.2.1程序编译环境Keil uVision4144.2.2串口通信调试工具COMPort Debuger V2.00154.2.3单片机程序编程软件SLISPV1.3.2164.2.4 GPS接收模块调试软件uNav Analyzer164.3基于单片机的GPS软件设计思路174.4 各模块软件设计184.4.1 串口初始化模块184.4.2 液晶模块初始化模块194.4.3 数据接收模块204.4.4 数据格式调整送显模块21第五章 总结25致 谢26参考文献27第1章 引 言1.1课题的背景及意义自第一颗GPS试验卫星于1978年2月22日入轨运行以来,以卫星为动态已知点的无线电导航定位时代就已经开启。陆地、海洋及空间上的无数用户可以通过具有接收、跟踪、变换和测量GPS导航定位信号功能的接收机就能够随时随地共享GPS卫星发送的导航定位信号,以此来计算GPS测量点七维状态和三维状态参数。GPS卫星的运行,不仅为用户提供定位信号,GPS技术带来的高精度、全天候、全天时的新的测量技术还在地球物理学、大地测量学、地球运动力学、天体力学、载人航天学、全球气象学和全球海洋学等学科上做出了巨大贡献。实时地显示所在地的经纬度和UTC标准时间是GPS设备的最基本功能,但要能实现这一功能,就要求设备最基本的能够接收GPS信号并可以调制输出。现今市面上的车载GPS导航仪、GPS手持机等基于GPS接收模块开发的产品,虽然功能强大,但是造价昂贵,对于一般应用而言没有必要。故基于这一背景,此设计制作了一款低成本的能够满足用户对于GPS的一般需求的基于单片机的采集与显示定位信息的GPS手持设备。1.2总体方案的设计该GPS设备在硬件上主要包括U-BLOX NEO-6M(GPS信号接收模块)、AT890C51、1602LCD、电源四部分。GPS信号接收模块(U-BLOX NEO-6M)将收到的GPS卫星导航电文调制解码,转换为TTL的电平直接传送给单片机串口。单片机经程序识别筛选接收到的GPS导航电文后送到显示模块,按照预先设定的排版方式显示在1602LCD液晶显示器上。第2章GPS全球定位系统介绍与接收GPS定位信号方案2.1 GPS全球定位系统及GPS接收模块的研究2.1.1 GPS全球定位系统全球定位系统(GPS)是本世纪70年代由美国陆海空三军联合研制的新一代空间卫星导航定位系统。最初GPS建立主要谁为了给美国独霸全球战略的军事目的服务。到1994年3月,历时20多年的研究开发,耗资300亿美元,布设完成的24颗GPS卫星组成的星座全球覆盖率已达98%。构成全球定位系统的三大部分:l 地面控制部分;l 空间部分;l 用户装置部分。GPS星座GPS信号信号注入GPS信号GPS接收地面监控部分图21 构成GPS全球定位系统的三大部分全球定位系统的主要特点:l 全天候;l 全球覆盖;l 定位精度高;l 高效率:l 应用广泛多功能。 在离地面2万公里的高空上,24颗GPS卫星以固定的周期绕地运转,保证至少6颗卫星的定位信息能够在任一时间任一地点被同时接收到。只需其中4颗卫星的信号,GSP接收模块就能给出三维坐标,时间和移动速度等参数 因为已知卫星的位置精确,在GPS观测中,我们得出卫星与GPS接收设备之间的距离,所以观测点的位置(X,Y,Z)可以利用3颗卫星组成三个方程式根据三维坐标中的距离公式解出。实际上存在X、Y、Z和钟差这四个未知量,这是因为卫星时钟与接收机时钟存在误差,因此需要引入第4颗卫星,组成4个方程式求解,才能得到定位点的经纬度和高程。2.1.2 GPS接收模块的研究接收机的关键部分是GPS接收模块,不同的接收模块功能各不相同,普通的接收模块结构主要由低噪声下变频器、并行信号通道、CPU、储存器等组成。GPS接收模块的工作原理:通过接收天线获取的卫星信号,再经过变频、放大、滤波、相关、混频等一系列处理,可以实现对天线视界内卫星的跟踪、锁定和测量。得到了卫星的位置信息和信号传播时间便可计算出天线所在的位置。用户采用异步串行通信方式通过I/O接口与GPS接收模块进行通信。前置放大低噪声下变频器并行信号通道本振CPURAMROM天线GPS接收模块 图22 GPS接收模块内部结构2.2 接收GPS定位信号方案只有先完成接收和调制好GPS信号后,才能将接收到的GPS地理信息显示在液晶显示屏上。我们有两种接收GPS信号的方案。方案一:选用GPS芯片,基于芯片设计GPS接收模块接收定位信号,然后在基于设计的接收模块完成本设计。方案二:直接选用产品GPS接收模块获得定位信号完成本设计。选用方案一的话可以使我们掌握GPS接收模块的部分技术,但是难度较大不易实现,方案二的成品模块很容易在市面上买到,比较容易实现。故经过分析, 选择方案二比较适合本设计。第3章 基于单片机的GPS硬件设计3.1 基于单片机的GPS硬件总体结构根据总体设计方案,该基于单片机的GPS硬件设计主要四部分构成: 由GPS信号接收部分(U-BLOX NEO-6M信号接收模块); 控制芯片(AT89C51单片机); 显示部分(1602LCD液晶显示模块); 电源这几部分构成。GPS信号1602液晶显示模块电源GPS信号接收模块AT89C51图31基于单片机的GPS硬件总体结构框图3.2 基于单片机的GPS设计硬件部分介绍3.2.1 AT89C51微处理器主要性能在本次设计中,采用微控制器为AT89C51单片机,其小体积、结构简单、性价比高、可靠性高、功耗小及应用范围广等特性适用于移动便携设备。AT89C51的全双工异步通信口 ,更够跟U-BLOX NEO-6M接口进行数据读取 、处理和输出。且由于两者串口通信时,采用的电平方式均为TTL ,故不需要电平转换便可直接连接。AT89C51功能性能:1.主要特性:1. 与MCS-51 兼容2. 4K字节可编程闪烁存储器3. 全静态工作:0Hz-24Hz4. 三级程序存储器锁定5. 128*8位内部RAM6. 32可编程I/O线7. 两个16位定时器/计数器8. 两个优先级别的五个中断源9. 可编程串行通道10. 低功耗的闲置和掉电模式11. 片内振荡器和时钟电路图3-3 AT89C51引脚图3.2.2 Waveshare U-BLOX NEO-6M信号接收模块介绍该设计中的GPS信号接收模块所选用的是由深圳市微雪电子有限公司所生产的Waveshare U-BLOX NEO-6M接收模块。该模块在5V±10%范围的电压工作时,电流低至60mA,U-BLOX NEO-6M优异的节能特性使其得以更广泛的应用在移动手持设备上。特性:使用U-BLOX NEO-6M模组,自带高增益有源天线波特率默认为9600,可以通过u-center修改自带IPX接口,可以连接各种有源天线自带可充电后备电池,可以掉电保存星历数据,实现热启动自带EEPROM,保存配置信息参数:接口特性:TTL电平,兼容3.3V/5V系统接收特性:50通道, GPS L1(1575.42Mhz) C/A码,SBAS:WAAS/EGNOS/MSAS定位精度:2.5mCEP (SBAS:2.0mCEP)更新速率:最大5Hz(默认1HZ)捕获时间:冷启动:27S(最快) 热启动:1S追踪灵敏度:-161dBm捕获灵敏度(冷启动): -147dBm通信协议:NMEA(默认)/UBX Binary串口通信波特率:默认9600速度限制:500m/s高度限制:50000m工作温度:-40摄氏度 85摄氏度工作电压:2.7V-5.0V(VCC引脚输入)工作电流:45mATXD/RXD阻抗:510欧使用说明:VCC:接3.3V/5VGND:接GNDTXD:接MCU.RXRXD:接MCU.TXPPS:接MCU.IO 时钟脉冲输出(可不接)3.2.3 1602LCD液晶显示模块介绍显示容量:16×2个字符芯片工作电压:4.55.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(W×H)mm配置LED背光内带CGROM、CGRAM 能够显示160个不同的点阵字符图形多种软件功能:光标显示、画面移位、自定义字符其字符与图形在CGROM和CGRAM中的对应的关系如表31所示。图34 1602液晶显示模块表31 CGROM和CGRAM中字符代码与字符图形对应的关系1602采用标准的16脚接口,其中: 引脚功能说明编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极表3-2引脚接口说明表14脚时无背光,16脚时带背光引 线 号符 号名 称功 能1Vss接地0V2VDD电路电源5V±10%3VL液晶显示偏压信号调节对比度4RS寄存器选择信号H:数据寄存器 L:指令寄存器5R/W读/写信号H:读 L:写6E片选信号下降沿触发,锁存数据7|14DB0|DB7数据线数据传输15BLA背光源正极提供背光16BLK背光源负极提供背光表3-3 16脚接口根据编程时所采用的方法,决定采用1602LCD液晶显示模块和单片机连接的方式:P0.0P0.7P2.2P2.1P2.0DB0DB7ER/WRSVLBLKBLA5KAT89C511602LCM5V0V0V图36 AT89C51与1602LCD液晶显示模块的连接方式3.2.4 电源为了设备的能够方便携带,所以决定选择电池给设备供电,考虑到系统各模块的最佳工作电压,故选择了5V锂电池。3.3 基于单片机的GPS硬件连接介绍整个硬件设计要求GPS接收模块输出的信号连接器件将单片(STC90C51)、GPS信号接收模块、1206液晶显示模块、电源相连接实现系统功能。硬件电路设计详图。3-7 1206LCD与单片机的连接图3-8单片机与GPS的接口图第4章 基于单片机的GPS软件设计4.1 GPS NAEA 0183数据格式介绍NMEA0183是美国国家海洋电子协会(National Marine Electronics Association)为海用电子设备制定的标准格式。它是在0180和0182的标准格式的基础上加入GPS接收机输出。NMEA0183将包含经度、纬度、速度、时间、日期、航向、以及卫星信号情况等信息的语句以ASC字符码输出。本设计只运用定位数据语句$GPRMC的结构为:$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>*hh<CR><LF>GP:交谈识别符;RMC:语句识别符;hh:校验和,表示“$”与“*”之间所有字符(不包括$和*)的按位异或值。<1>:UTC时间,hhmmss(时分秒)格式;<2>:定位状态,A有效定位,V无效定位;<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(西)。4.2 基于单片机的GPS软件开发环境4.2.1程序编译环境Keil uVision4本设计的软件的开发环境为Keil uVision4。Keil uVision4开发环境具有以下优点:真正的集成调试环境;众多强大软硬件调试手段,包括逻辑分析仪、跟踪器、逻辑笔、波形发生器、影子存储器、记时器、程序时效分析、 数据时效分析、硬件测试仪、事件触发器;集成了各种类的单片机,不仅支持汇编,还支持C、PL/M源程序混合调试;支持项目管理和软件模拟;支持点屏功能;支持各种数据类型的窗口观察;树状结构显示;在线修改、编译、调试源程序,错误定位4.2.2串口通信调试工具COMPort Debuger V2.00设计使用COMPort Debuger V2.00进行串口通讯调试。此款软件能够选择串口端口,设定波特率、数据位、停止及校验位等等,且能够自定义自动发送数据的时间间隔。如图42,软件正在模拟GPS将地理数据传输给单片机,以辅助调试程序和硬件。图41 COMPort Debuger V2.00界面图4.2.3单片机程序编程软件SLISPV1.3.2所以我选择了SLISPV1.3.2这款编程配合烧录程序。在程序在Keil uVision4调试、编译完成后,还需要通过编程软件跟编程器将烧录到单片机的硬件系统中进行整体调试。图 42 SLISPV1.3.2界面图4.2.4 GPS接收模块调试软件u-center第一次使用GPS接收模块时需要在电脑上对其进行串口输率初始化以及GPS地理数据的测试接收。Waveshare U-BLOX NEO-6M信号接收模块生产商推荐使用u-center。u-center上可以设置输出语句,还能查看分析接收GPS数据后的状态。4.3基于单片机的GPS软件设计思路设计的关键是AT89C51通过串行通讯接收到U-BLOX NEO-6M的数据,并筛选编排后显示到1602LCD上。考虑到调试及移植,故使用模块化进行软件设计。软件包括四个主要模块: 串口初始化模块; 液晶模块初始化模块; 数据接收模块; 数据格式调整送显模块。AT89S51串口、液晶显示模块初始化开始判断是否为$GPRMC语句接收并储存到单片机分配的地址中筛选UTC时间、经纬度数据并调整格式送液晶显示模块显示UTC时间、经纬度NY图 43软件程序流程图4.4 各模块软件设计4.4.1 串口初始化模块波特率设为9600,定时器为工作方式2,将#0FDH分别赋值给TH1和TL1。其程序如下:MOV TMOD,#20H;定时器工作方式选择MOV TH1,#0FDH;定时器初始赋值MOV TL1,#0FDH;MOV PCON,#00H;串口工作方式选择SETB TR1MOV SCON,#70H;串口工作方式选择4.4.2 液晶模块初始化模块1602液晶模块的标准初始化描述如下:延时15ms写指令38H(不检测忙信号)延时15ms写指令38H(不检测忙信号)延时15ms写指令38H(不检测忙信号)写指令38H写指令38H:显示模式设置写指令08H:显示关闭写指令01H:显示清屏写指令06H:显示关标移动设置写指令0CH:显示开及光标设置程序如下:MOV P0,#0H;清屏ACALL ENABLECALL delay1MOV P0,#38HACALL ENABLE MOV P0,#38HACALL ENABLE MOV P0,#38HACALL ENABLE MOV P0,#8HACALL ENABLE MOV P0,#1HACALL ENABLE MOV P0,#6HACALL ENABLE MOV P0,#0cHACALL ENABLE4.4.3 数据接收模块数据接收先要检测串口是否给单片机发送信息,而且需要识别语句,才能取入所需的语句$GPRMC,。由于这些语句都是已$GP开头的,故在程序中也只需要判断M和C这两个字母。其识别和储存的程序如下:read:call reccjne A,#04dH,read;'M'?;判断是否Mcall reccjne A,#043H,read;'C'?; 判断是否Ccall recmov r0,#10h;数据储存起始地址mov r1,#42h;数据位数store: ;储存call recmov r0,ainc r0djnz r1,storeRETrec:JB RI,gooutinc r2cjne r2,#255,recmov r2,#0hinc r3cjne r3,#255,recmov r3,#0hinc r4cjne r4,#5,recmov r4,#0hcall nosignaljmp waitgoout:CLR RImov r2,#0hmov r3,#0hmov r4,#0hmov r5,#0hMOV A,SBUFRET4.4.4 数据格式调整送显模块我们需按位选取GPRMC中纬度、经度、UTC时间和UTC日期等的数据并进行格式调整后再送液晶屏显示。其程序模块如下:time:;时间格式调整模块 MOV R2 ,#0C0H LCALL ENABLE LCALL WRITE mov p0,#01h;清屏 ACALL ENABLE mov 60h ,#20h mov 61h ,#20h mov 62h ,#20h mov 63h ,#20h mov 64h ,10h;时 mov 65h ,11h; mov 66h ,#":" ; mov 67h ,12h;分 mov 68h ,13h; mov 69h ,#":" mov 6ah ,14h;秒 mov 6bh ,15h; mov 6ch ,#20h mov 6dh ,#20h mov 6eh ,#20h mov 6fh ,#20h MOV R0 ,#60H MOV R3 ,#10H call disdat: ;日期格式调整模块 MOV R2 ,#80H LCALL ENABLE LCALL WRITE mov 63h ,#32h mov 64h ,#30h mov 65h ,44h mov 66h ,45h mov 67h ,#"/" mov 68h ,42h mov 69h ,43h mov 6ah ,#"/" mov 6bh ,40h mov 6ch ,41h mov 6dh,#20h mov 6eh ,#20h mov 6fh ,#20h MOV R0 ,#60H MOV R3 ,#10H call dislon: ;纬度格式调整模块 MOV R2 ,#0C0H LCALL ENABLE LCALL WRITE1 mov p0,#01h;清屏 ACALL ENABLE mov 70h,#20h mov 71h,#20h mov 72h ,#4eh mov 73h ,#":" mov 74h ,#20h mov 75h ,1ch mov 76h ,1dh mov 77h ,#2eh mov 78h ,1eh mov 79h ,1fh mov 7ah ,20h mov 7bh ,21h mov 7ch ,22h mov 7dh ,23h mov 7eh ,24h mov 7fh ,#20h MOV R0 ,#70H MOV R3 ,#10H call dislat: ;经度格式调整模块 MOV R2 ,#080H LCALL ENABLE LCALL WRITE1 mov 60h ,#20h mov 61h ,#20h mov 62h,#45h mov 63h ,#":" mov 64h,28h mov 65h,29h mov 66h,2ah mov 67h,#2eh mov 68h,2bh mov 69h,2ch mov 6ah,2dh mov 6bh,2eh mov 6ch,2fh mov 6dh,30h mov 6eh,31h mov 6fh ,#20h MOV R0 ,#60H MOV R3 ,#10H call dis第五章 总结随着GPS应用的不断扩大,GPS设备将普及到生活的方方面面中,GPS产业的兴起势必也将大大的推进GPS在民间的应用。各个领域中定GPS已经显示了它的重要的作用,为人类发展作出了不可估量的贡献。但是专业GPS设备昂贵的价格,很多功能对普通消费者而言没有必要,导致了GPS大量应用受到限制,现今GPS厂商的首要任务是降低GPS的制造成本,将GPS功能精简化保留一些基本的实用功能让它能够适应普通消费者的需求,以促进民间GPS的普及速度。这次我的课程设计的基本设计思想原意在此,通过这次设计制作GPS最小系统,也验证了这种低成本设计的可行性,也达到了基本满意的使用效果。由于时间和技术的原因,此系统设计还存在很多不足之处,程序设计上缺乏灵活性,并没有完全实现GPS的所有功能,今后将进一步拓展该系统的其他功能,例如高度显示、BJT时间转换、卫星信号情况等等以增强系统的实用性。致 谢本论文是在陈海军老师的悉心指导下完成的,陈海军老师渊博的科学知识、远见卓识的科学创新和严谨的治学态度都给了我深远的影响。在设计阶段陈海军老师在资料搜集、程序调试、论文写作等方面都给予我严格的要求和关键性的指导,在此衷心感谢三个月来陈海军老师对我的关心和指导。感谢所有老师在毕业设计期间为我们提供良好的实验环境。此外,我还要对在这次设计中,帮助和支持我的同学,表示感谢!参考文献1 刘基余.GPS卫星导航定位原理与方法M.北京:科学出版社,20032 刘基余,李征航.全球定位系统原理及其应用M.北京:测绘出版社,19933王惠南,GPS导航原理与应用M.北京:科学出版社,20034 Encyclopædia Britannica 2007 Ultimate Reference Suite.Version.2007.01.00.000000000 Encyclopædia Britannica, Inc.2007.015 潘永雄.新编单片机原理与应用M.西安:西安电子科技大学出版社,20036 张鹏.单片机原理及应用M.成都:电子科技大学出版社,2004.87贾金玲.微型计算机原理与接口技术课程设计指导M.重庆:重庆大学出版社,2001.128 GS1100 Seriers Operational manual.Verison1.0.Serf Company.2004.1110 NMEA Protocol Specification . Verison1.31. Fastrax Oy.2003.06