基于单片机GPS定位系统的设计_第1页
基于单片机GPS定位系统的设计_第2页
基于单片机GPS定位系统的设计_第3页
基于单片机GPS定位系统的设计_第4页
基于单片机GPS定位系统的设计_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、南 阳 理 工 学 院计 算 机 与 信 息 工 程 学 院软硬件专业综合课程设计总结报告 题目: 基于单片机的GPS定位系统 姓 名: 张燕红 学 号: 专 业: 通信工程 指导教师: 郑珂 起止日期: 14.214.6 南 阳 理 工 学 院计 算 机 与 信 息 工 程 学 院软硬件专业综合课程设计任务书实践题目基于单片机的GPS定位系统学生姓名张燕红班级通信二班学号指导教师郑珂职称副教授实践地点南阳理工学院实践日期2014年2月起至2014年6选题的目的:掌握GPS定位设计技巧,使自己所学的知识在现实中得以应用。制作出一套设计方案,以软硬件相结合的方式完成整个GPS数据接收和显示的过程

2、。完成一台液晶显示的手持式GPS定位接收设备。能够较为精确地计算和显示日期、时间、经度、纬度等卫星信息。通过对GPS 接收板和LED显示模块的研究,设计GPS定位信息的采集与显示系统。全球定位系统GPS是近年来开发的最具有开创意义的高新技术之一,其全球性、全天候性的导航定位、定时、测速优势必然会在诸多领域中得到越来越广泛的应用。GPS全球定位系统在实际生活中被广泛应用,是当今信息时代发展中的重要组成部分。因其具有性能好、精度高、应用广的特点,使其成为了迄今最好的导航定位系统。实践证明,该系统显示的时间非常精确、定位精度高,能满足一般应用项目的使用,具有一定的实用价值。技术要求:1、 uVisi

3、on2集成开发环境、 LCD液晶显示器2、系统的主要功能有: 1.硬件电路的设计2.GPS接收信息的处理 3.显示程序的调式进度安排:2014年2月20日2014年2月30日 查阅资料、项目总体分析2013年3月01日2013年3月13日 系统功能总体设计2013年3月14日2013年3月26日 软件程序及硬件电路设计2013年3月27日2014年月03日 软硬件系统调试、测试2014年01月04日2014年01月08日 撰写实训报告2014年01月09日2014年01月10日 验收主要参考资料:一、工具书:1邱致和,王万义.GPS原理与应用M.北京:电子工业出版社,20012李维言,郭强.液

4、晶显示应用技术,电子工业出版社,1999.83李维言,郭强,周云仙.液晶显示应用手册,电子工业出版社,2002.84陆爱明.单片机和图形液晶显示器接口应用技术,电子产品世界。2001.95余锡存.单片机原理及接口技术M.西安:西安电子科技大学出版社,20006戴佳,戴卫恒.51单片机C语言应用程序设计M.北京:电子工业出版社.20067彭为.单片机典型系统设计实例精讲M.北京:电子工业出版社.2006二、参考资料:1肖剑飞.嵌入式GPS通用卫星模拟器设计与实现J.空间电子技术,2007.42黄少锋,张尊泉,邓斌,黄斌.基于单片机采集与显示GPS定位信息系统的设计J.空军雷达学院学报,2007.

5、13王古猛.GPS与单片机接口程序设计J.电子测试,2007,74黄凌.基于单片机的GPS信息处理系统J.现代电子技术,2009,125杨平,宋贽存.基于GPS-OEM板和单片机的GPS接收机的设计J.东北林业大学学报,2009,5教师签名: 年 月 日目 录1. 引言12. 方案选择22.1. 方案一22.2. 方案二23. 硬件设计43.1. 系统总体结构图43.2. 单片机引脚连接电路43.3. LCD显示电路63.4. ISD语音电路73.5. LM7805稳压电路84. 软件设计104.1. 程序流程图104.2. 单片机串行通信104.3. GPS接收语句设计114.4. LCD1

6、602流程图134.5. ISD1730流程图155. 系统调试165.1. 单片机下载口调试165.2. LCD1602调试165.3. GPS定位坐标调试175.4. ISD1730语音录入调试185.5. LM7805供电部分调试20谢 辞21参考文献22附 录23附录1-原理图23附录2-PCB图24附录3-程序及注释251. 引言GPS 技术在军事、通讯、气象、勘探、导航、遥感、大地测量、地球动力以及天文等众多学科领域得到极其广泛的应用,推动了科学技术的迅猛发展,也丰富了人类的科学文化生活。现在,GPS 的外型设计已经转向便携式发展,逐步踏入寻常百姓的生活中。所以,对GPS 的研究具

7、有十分重要的意义。全球定位系统(Global Positioning System 简称GPS)是美国第二代军用导航系统,可实现全球范围内的实时导航和定位。GPS由太空卫星、地面控制系统、用户设备三个部分组成。太空卫星共有27颗,24颗运行,3颗备用。24颗可操作的工作卫星以55的倾角分布在地球上空20200KM的6个轨道面上。这些卫星轨道上的分布状态使地球上的任何位置在任意时候都可以同时收到至少6颗卫星的定位信息,这些卫星则不断地给全球用户发送位置和时间的广播数据。地面控制系统主要作用有:根据监控系统对GPS的观测数据计算出卫星的星历和卫星钟的改正参数等,并将这些数据注入到卫星中去;对卫星进

8、行控制,对卫星进行发布指令;接收卫星信号,监测卫星状态等。用户设备用于接收GPS卫星所发出的信号,利用这些信号进行导航定位等工作。GPS系统的基本定位原理是:每颗GPS卫星时刻发布其位置和时间数据信号,用户接收机可以测量每颗卫星信号到接收机的时间延迟,根据信号传输的速度可以计算出接收机到不同卫星的距离。同时收集至少4颗卫星的数据时,就可以算出三维坐标、速度和时间。由于GPS具有全球覆盖以及精度高、定位速度快、实时性好、抗干扰能力强等特点,近年来在国内外得到了广泛的应用,在各个领域发挥了极大的作用,已成为了信息时代不可以或缺的一部分。本文的主要目的是在GPS和单片机的理论和知识上,选用Atmel

9、公司的AT89S52提取GPS模块的接收数据并由1602液晶显示接收数据。在此设计过程中,主要熟悉GR-87 GPS模块各性能指标,结合单片机串行通信知识能实现对GPS接收到的卫星信息进行提取,而后在1602液晶显示平台上选择性的显示数据并且利用语音芯片ISD1730进行播报音。2. 方案选择2.1. 方案一主要芯片器件:GPS,GPS-OEM板;单片机,AT89S54;语音芯片,ISD1730;键盘模块;液晶LCD1602;电平转换MAX232;外置ROM等。GPS OEM键盘模块AT89S54MAX232LCD1602外置ROMISD1730图2.1 硬件结构图OEM模块通过电平转换MAX

10、232与AT89S54进行串行通信,其中GPS传入单片机的为GPRMC格式的语句,需要在单片机中进行数据拆分等操作。将取得的GPS数据发送到单片机中进行处理,通过键盘模块的按键控制,单片机判断后进行操作,或将数据存储到外置rom中,或将已得的经纬度通过ISD1730语音模块播报出,再次期间,LCD1602始终显示当前位置的经纬度。方案一特点:(1) OEM板军用板,精确度高,是集成模块,易于携带。(2) 键盘模块按键多,使用功能强大,可以实现多种功能。(3) AT89S54内存大,方便使用大程序。(4) 外置ROM,便于存储数据以及调用。(5) GPS-OEM板需经过电平转化MAX232才可与

11、单片机通信。并且OEM成本高,性价比一般。(6) AT89S54非常用芯片,不易获取。(7) 使用外置ROM需要占用至少8个数据口,如图1所示,需要对某个数据口进行分时复用。加大了电路复杂性。(8) 整个电路硬件多,布局难。2.2. 方案二主要芯片器件:GPS,GR-87;单片机,AT89S52;语音芯片,ISD1730;3个按键;液晶LCD1602等GR-87AT89S52摁键LCD1602ISD1730图2.2 硬件结构图GR-87模块与单片机AT89S52直接可以进行串行通信,其中GPS传入单片机的为GPRMC格式的语句,需要在单片机中进行数据拆分等操作。将取得的GPS数据发送到单片机中

12、进行处理,通过按键控制,单片机判断后进行操作,例如将已得的经纬度通过ISD1730语音模块播报出,并在特殊的经纬度范围内播报地址信息,在此期间,LCD1602始终显示当前位置的经纬度。方案二特点:(1) 电路硬件少,结构简单易懂。(2) GR-87成本低,性价比高。(3) AT89S52流行,内存8K足够使用。(4) 数据口刚好够用。(5) 结构简单,硬件及软件功能有一定的局限性。(6) GR-87以及接线不方便携带。最终选择了方案二,理由如下:1. GPS选择GR-87,它可以满足课题要求,并且其性价比高,而且不需要电平转换。2. 课题按键功能的实现不需要键盘模块,只需46个按键即可。3.

13、AT89S52内存足够用,不用再定做AT89S544. 虽然缺少了外置ROM,但减少了分时复用的麻烦。5. 方案二的I/O口分配合理。3. 硬件设计3.1. 系统总体结构图GR-87 TXD RXDLCD1602数据口ISD1730控制口按键单片机P1.2、P1.3 P0AT89S52RXDTXD P2.x图3.1 系统总体结构图系统总结构图如图3.1所示,其中,单片机P1.0P1.3口进行按键控制,GR87与单片机串行通信,单片机的TXD连接GR-87的RXD1,GR-87的RXD2口闲置。LCD经上拉电阻与单片机P0口连接,ISD1730相关控制口与P3口中的部分I/O口相连。系统由统一的

14、电源5V供电。3.2. 单片机引脚连接电路图3.2 单片机引脚电路图3.3 最小系统电路AT89S52简介AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个1

15、6位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。如图3.2、3.3所示,本次课题中,P0口作为标准I/O口进行数据输出端,传入液晶;以P10到P14的标准I/O口功能进行按键控制,P15到P17作为下载器连接端口使用,利用P30、P31的串行数据传输功能与GPS进行数据通信,P34作为时钟信号接入语音芯片的时钟端,P20

16、到P22作为语音芯片的控制端口,P25到P27作为液晶的控制端口。其他所用端口为:XTAL1、XTAL2、VCC、VPP、GND、RESET。GPS模块GR-87简介HOLUX GR-87是一个高效能、低耗电的智慧型卫星接收模组或称做卫星接收引擎,他采用美国瑟孚SiRF star III 公司所设计的第三代卫星定位接收晶片,是一个完整的卫星定位接收器具备全方位功能,能满足专业定位的严格要求与个人消费需求。特色:(1) 采用SiRF第三代高效能晶片高灵敏度、低耗电量晶片STAR III ,内建ARM7TDMI CPU 可符合客制需求。(2) 具备快速定位及追踪20颗卫星的能力。(3) 体积超小,

17、仅 25.4 25 7公u91d0。(4) 晶片内建200,000个卫星追踪运算器,大幅提高搜寻及运算卫星讯号能力。(5) 内建RTCM SC-104 DGPS和WASS/EGNOS解调器。(6) 低耗电量, 具备有省电模式(Trickle-Power)功能,以及在设定的时间才启动的定时定位(Push-to-Fix)功能。(7) 支援NMEA-0183 v2.2版本规格输出。GPS VCCGR-87RXD1TXDGNDVCCTXDAT89S52RXDGNDVCCTXDAT89S52RXDGND图3.4 GPS模块GR-87与单片机连接图天线如图3.4所示结构图,GPS模块只有4个端口与单片机连

18、接,其中VCC、GND为供电部分,TXD、RXD为串行通信部分。由于GR-87属于独立模块,所以在系统原理图、PCB中未加入其封装,而是采用从PCB中的单片机串行口以及VCC、GND分别引出4条线,采用引线的方式与GPS相连接。3.3. LCD显示电路LCD1602简介工业字符型液晶,能够同时显示16x02即32个字符。(16列2行)1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图

19、形。其中RS为寄存器选择端,高位时是数据寄存器,低位时是指令寄存器;RW时读写信号线,高位时是读,低位时是写;E为使能控制端。1602采用标准的16脚接口,其中: 第1脚:VSS为电源。 第2脚:VDD接5V电源正极 第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。 第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。 第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 第6脚:E(或EN)端为使能(enable)端。 第714脚:

20、D0D7为8位双向数据端。 第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。LCD引脚连接介绍显示电路如图3.2右侧所示,P00P07经过上拉电阻10K*8欧姆与LCD的数据口DB0DB7相连;RS/RW/EN由单片机的P27P25控制;对比度控制口VO经过测试后,经5K定值电阻与VCC相连刚好合适;背光灯控制BG VCC经51欧姆的电阻与VCC连接,BG GND连接地。这种接法缺陷是对比度不可调,但在稳定的5V供电的情况下,连接定置电阻经过测试也是行的通的。3.4. ISD语音电路ISD1730简介ISD1700系列录放芯片是一种高集成度,高性能的芯片。它可以多段录音,采样率可

21、在4K至12K间调节,供电范围可以在2.4V至5.5V之间。ISD1700系列录放芯片可工作于独立按键模式和SPI控制模式。芯片内有存储管理系统来管理多段语音,这样在独立按键模式下也能进行多段语音录放。此芯片内有振荡器,可通过外部电阻来调节其振荡频率;还有带自动增益控制(AGC)的话筒运放,模拟线路输入,抗锯齿滤波器,多级存储阵列,平滑滤波器,音量控制,直接驱动喇叭的PWM输出与接外部功放的电流/电压输出。ISD1700还有新录音提示功能,当有新的录音后,LED回每几秒闪一次来提示用户有新的录音。此外还有4种音效来提示用户的操作结果,如开始录音、停止录音、擦除、下一曲和全部擦除等。录音数据存储

22、在芯片的FLASH内,没有经过任何压缩,所以有较好的音质和断电存储。芯片有两路独立的语音信号输入通道,话筒输入与模拟信号输入。在独立按键模式下,当某功能操作完成后芯片会自动进入掉电模式来降低功耗。在SPI模式下,用户可对芯片进行更多功能操作。如对任意存储地址进行录放,对模拟通道配置寄存器(Analog Path Configuration register, APC)进行读写等。如图6所示,电阻R3会影响采样率,采样率与它的关系见下列表。采样率12KHz8KHz6.4KHz5.3KHz4KHzRosc53K80K100K120K160K表3.1 采样率与电阻关系图3.5 语音芯片ISD1730

23、电路如图3.5所示,图3.5右侧的MIC电路部分经过实践测试,音质不好,所以弃用,因为所选芯片为ISD1730,内存足够,所以改用找地址的电脑信号录入方式进行录音,具体的录音地址见下文的系统调试部分;MISO、MOSI、SS与单片机的P22P20连接;CLK与单片机的P24连接;ROSC与80K电阻连接后接地,采样频率为8KHZ;VOL与一个按键连接后接地,可调音量;AGC端口启用,增益自动可调;SP-、SP+与喇叭直接相连,不用经过功率放大等,经过查找资料,本课题使用的,5欧姆、0.8w的喇叭可以被带动,但是功率大一些的喇叭必须要经过功率放大电路才可以带动;DP2为LED指示灯,在录放音的时

24、候会闪烁。3.5. LM7805稳压电路图3.6 稳压电路如图7所示,其中Pd10为输入口,Pd11为输出口;LM7805输出稳定在5V,输入端要求为5V18V或24V,本次测试中,采用2节锂电池(型号18650),约7.4V输入。其他部分参考LM7805的标准电路部分。4. 软件设计4.1. 程序流程图开始液晶初始化单片机初始化取得数据P11是否为0?P12是否为0?液晶显示语音报地点语音报坐标NNYY中断服务程序判断GPRMC语句接收数据并存储中断结束图4.1 主程序流程图图4.2 中断程序流程图如图4.2所示,在该系统中,接收GPS的是NAEA 0183协议输出的GPRMC语句,在中断程

25、序中判断并且存储相关数据,在如图4.1所示,用函数提取出中断中存储的数据并且显示完成相应的功能,具体步骤见下面的介绍。4.2. 单片机串行通信串行端口模式1工作介绍在模式1时,串行端口经由TXD引脚负责发送及通过RXD引脚接收10位的数据,其中包括1个起始位、8个数据位和1个停止位。由于发送和接收是由不同引脚负责,故可同时进行发送和接收的动作。起始位(低电位)和停止位(高电位)是串行端口在发送数据时自动加上去的,当在接收状态下,接收到的停止位会自动存入SCON寄存器的RB8位中,而发送及接收波特率可用软件设定计时计数器1,说明如下。模式1的发送执行写入SBUF指令后,产生一个WRITE TO

26、SBUF的脉冲,此时把数据送入SBUF,并激活TX控制方块。在下一个机械周期时,SEND自动降为0,此时DATA己自动为0,故经由TXD引脚送出一个“0”的位,这就是所谓的起始位。然后数据位开始由TXD引脚依LSB-MSB顺序向右移出,直到8位数据全部送出后,CPU会自动设定中断标志TI=1,产生串行端口中断请求,再自动经由TXD引脚送出一个“1”的位后,SEND升为高电位,DATA引脚为0,停止发送动作,此时TXD引脚维持高电位。模式1的接收当要接收数据时,需将SCON寄存器的REN位设定为1,每当RXD引脚上检测到负缘转态信号后就会激活串行端口的接收动作。在接到正确的起始位后(低电位),开

27、始依LSB-MSB顺序接收数据位,直到SCON中的RI=0、SM2=0或RI=0接收到的停止位为l时,才自动把8位数据送入SBUF内。接着把停止位放入RB8中,然后设定接收中断标志RI=l,产生串行端口中断请求。经过-个位时间后,不论上述条件是否成立,RX控制方块均会重新开始检测RXD引脚有无负缘转态信号,以准备接收下一批数据。模式1的波特率串行端口工作于模式1,其波特率将由计时计数器1来产生,通常令计时/计数器1工作于模式2(自动再加载模式)。在此模式下,计算波特率的公式为:波特率=2SMOD*fosc/(32*12*(256-TH1)根据以上式子,带入fosc=11.059MHz,TH1=

28、FAH,可得波特率为4800bps4.3. GPS接收语句设计GPRMC输入语句如下:$GPRMC,*hhGPRMC格式如下:$ 帧头标志符GPRMC GPS推荐的最短数据 GPRMC UTC24小时制标准时间, 格式为. hhmmss. sss# 信号接收状态: A 为数据OK; V 为警告 纬度值, 格式为. ddmm. mmmm 表明南北半球, N 为北半球, S 为南半球 经度值, 格式为. dddmm. mmmm 表明东西经, E为东经、W 为西经 速度, 此处为0 方位角, 范围0. 359. 9. 日月年, 格式为.日日/月月/年年# 磁偏角: 0. 00. 180.。此处不输出

29、 地磁变化方向: 向西偏差为E或W。此处不输出 模式指示(仅NMEA 0183 3. 00版本输出) :A= 自主定位, D= 差分, E= 估算, N= 数据无效* 校验和隔离符号 校验和 帧尾结束符中断程序中涉及GRPMC格式的拆分并且存储,在此简单介绍。void T_R()interrupt 4 while(RI=0); /RI=1表示接收好一帧数据 if(SBUF=$) /判断数据起点 begin=1; /开始接收count_1=0; if(begin=1) /开始接收GPRMC数据 if(SBUF=,)/,为下一个数据的标志count_1+;count_2=0; else if(SB

30、UF=*)/*结束的标志begin=0; count_1=0;count_2=0;else if(count_1=0)if(count_26)/接收到更长的数据时,会越界 messagecount_2+=SBUF; /message0=$if( (message5=C)&(message4=M)/判断GPRMC格式 switch(count_1) case 2:statuscount_2+=SBUF-48;break; /接收状态 case 3:if(count_29)latitudecount_2+=SBUF-48;break; /接收纬度case 4:N_Scount_2+=SBUF-48

31、;break; /接受N或Scase 5:if(count_210)longitudecount_2+=SBUF-48;break; /接收经度case 6:E_Wcount_2+=SBUF-48;break; /接收E或Wdefault: break; RI=0; /串口接收中断标志必须软件清零unsigned char count_1=0;/数据类型累加变量unsigned char count_2=0;/数组下标累加变量设计思路:下面的将介绍完整的一个接收语句,判断语句,拆分语句,存储有关数据的过程。首先要接到一个语句的数据,如果一个语句的起点字符是“$”,将变量begin置1,并且将数

32、据类型累加变量count_1置0;在count_1=0时,当接受的数据既不是结束位“*”,或者类型分隔位“,”时,将语句首的格式名称存储到message数组中,为了防止其它语句的干扰再次判断接收语句是否为GPRMC格式,再次用message数组中的,5位,6位进行条件语句判断,判断为GPRMC后,再根据count_1的值进行相关数据存储,每次的不同的GPS信息间都以“,”隔开,本次接收中只接收 信号接收状态: A 为数据OK; V 为警告; 纬度值, 格式为. ddmm. mmmm; 表明南北半球, N 为北半球, S 为南半球; 经度值, 格式为. ddmm. mmmm; 表明东西经, E为

33、东经、W 为西经的信息,例如接收经度值以及经度类型时(E或S),先CASE 5,接收的经度格式为dddmm.mmmm共10位,根据数组下标累加变量count_2的值由0到9进行存储,刚好将经度(包括小数点)存入longitude数组中,而后,再次进入中断,按照上述过程在程序中判断是否接到“,”符号,如果接到则将count_2置0,count_1加1,再次进行语句类型判断时,到达了CASE 6,将东经或西经存到E_W数组中,然后再次count_2置0,count_1加1进行下一条语句判断。按此顺序即可将经纬度信息以及值存到单片机的数组中。另外GPS传入的格式数据是ASCII码输入,所以,每次存储

34、值时应该都减去48。4.4. LCD1602流程图本次GPS定位系统中采用的液晶是1602,可以显示8行汉字,每行可以显示10个。对于该,液晶,必须要编写液晶驱动程序。图10为液晶的程序流程图。1602通过D0D7的8位数据端传输数据和指令。显示模式设置:(初始化)0011 0000 0x38 设置162显示,57点阵,8位数据接口; 显示开关及光标设置:(初始化) 0000 1DCB D显示(1有效)、C光标显示(1有效)、B光标闪烁(1有效) 0000 01NS N=1(读或写一个字符后地址指针加1 &光标加1), N=0(读或写一个字符后地址指针减1 &光标减1), S=1 且 N=1

35、(当写一个字符后,整屏显示左移) s=0 当写一个字符后,整屏显示不移动 数据指针设置:数据首地址为80H,所以数据地址为80H+地址码(0-27H,40-67H) 其他设置:01H(显示清屏,数据指针=0,所有显示=0);02H(显示回车,数据指针=0)。 图4.3 液晶显示流程图该程序主要完成的是液晶的驱动(驱动中主要的是液晶的读忙函数、读写数据函数、清屏函数、初始化函数)和系统开机的显示,系统工作时的实时状态的显示,各个显示界面的切换等。如下为液晶的初始化函数。void TS1602_INIT(void)RS=0;RW=0;write_com(0x38); /显示模式设置 0011100

36、0 设置16*2显示 5*7点阵 8位数据接口write_com(0x0C); /设置液晶光标 不显示write_com(0x06); /显示光标移动位置write_com(0x01); /清屏write_com(0x80); /光标的位置4.5. ISD1730流程图由于ISD1730只是放音作用,不涉及录入等功能,所以流程图只是放音部分。放数字音和放位置音的过程类似,所以都可以用一个流程图表示。开始有无MISO信号?在给定地址放音,传输回MOSI信号。结束NY图4.3 语音芯片工作流程图放音的一段程序如下:ISD1730_Spio(0x00); /发送数据字节1ISD1730_Spio(c

37、aToneAdd1n); /发送数据字节2,放音起始地址低8位ISD1730_Spio(0x00); /发送数据字节3,放音起邕地址高3位,ISD1730不用ISD1730_Spio(caToneAdd1n+1); /发送数据字节4,放音结束地址低8位ISD1730_Spio(0x00); /发送数据字节5,放音结束地址低8位,ISD1730不用ISD1730_Spio(0x00); /发送数据字节6通过给定的存有每个需要读出数据的地址的数组,其中每两个为一个数据的读音起始终止地址,在程序中选调初始地址,即可读出相应地址的数据。5. 系统调试5.1. 单片机下载口调试图5.1 下载口原理图如图

38、5.1所示,下载器连接口,所用引脚为P15P17,初步下载时,显示“chip error.”内容,检查引脚连接以及电平电压,皆正常。最后检测单片机是否起振,检查原理图以及PCB图,将起振电容由22uf增大到30uf,同时缩小电容与晶振的距离。再次下载程序,显示正常。所以,晶振,单片机,起振电容三者应距离在一定范围内,越近越好。5.2. LCD1602调试图5.2 LCD1602原理图如图5.2所示,LCD1602引脚RS,RW,E由单片机控制,数据口DB0DB7经上拉电阻连接单片机的P0口,背光电源BG VCC经小电阻连接5V,BG GND连接地。主电源VCC开始的设计时,经滑变接5V,上电后

39、,发现液晶只有背光,后来改为主电源VCC直接与5V相连,工作正常。写指令,数据时,开始判断错了地址行,认为第一行地址0X800X8f,第二行地址0Xb00Xbf,经过测试,发现第二行的数据显示有问题,上网查资料对比确认后,确定第二行地址有问题,改为0Xc00Xcf后显示正常。所以,找资料应该找多家资料,找一份资料难免会出现纰漏。LCD1602主电源供电要供5V,没必要接滑动变阻器,调节对比度引脚可以连接滑变。5.3. GPS定位坐标调试图5.3 GPS模块GR-87实物图如图5.3所示,系统中采用的GPS芯片GR-87,台湾HOLUX-GPS模组,另外有独立天线。图中接线颜色,按照自右向左顺序

40、为:红、绿、蓝、黑。图中文字,红线:电源-VCC;绿线:数据发送端-TXA;蓝线:数据接收端-RXA;黑线:地线-GND。供电电压3.5V5.5V,其中可以将串行口与单片机的串行口直接相连。科技楼正北观测点1观测点2观测点3观测点4图5.4 地点模拟图调试过程以科技楼为例,如图5.4所示,科技楼方位正门朝向东南方,在1、2、3、4点分别测出经纬度,确定最大,最小,经纬度,然后程序中用判断语句确定科技楼,然后返回一个常数标志。东经的计算east=longitude0*100+longitude1*10+longitude2+longitude3*0.1+longitude4*0.01+longi

41、tude6*0.001+longitude7*0.0001+longitude8*0.00001;北纬的计算north=latitude0*10+latitude1+latitude2*0.1+latitude3*0.01+latitude5*0.001+latitude6*0.0001+latitude7*0.00001;其中,longitude,latitude数组中的数据来自中断程序中的GR-87传入的数据。传入的经纬度格式如下:纬度值, 格式为. ddmm. mmmm经度值, 格式为. dddmm. mmmm其中,纬度dd为十位,个位,mm.mmmm分别为小数点后16位,同理可得经度的

42、位判断。判断语句:if(east=110.24825&east=25.19037&north=25.19167)return 1;在主程序中,利用包含以上判断语句的函数,确定所在位置,随后播音,或者其他操作。实际调试中,由于GR-87的灵敏度不高,导致测试同一地点的经纬度有小数点第5位的差别,所以选择大范围的定位科技楼,同样,定位4、5、6教以及其它地方时也采用了同样的方式。另外,有些地方,由于GR-87的灵敏度低,直接导致,移动中数据的停滞,在大多数地方,可以实时更新数据。为了减少不必要的测量误差,应把测试范围扩大,以便减小测试中的误差。5.4. ISD1730语音录入调试有两种方式录入:(

43、1) 采用麦克风读入方式(2) 采用电脑读书软件读入方式。语音数据名称0123456789起始地址0x140x1c0x260x300x360x390x460x500x580x61终止地址0x180x1f0x280x350x380x440x490x530x600x64由于个人的声音质量差,以及杂音等种种问题,选择了第二种方式读入,它的缺点是,不好找到每个信息的地址,由于本系统的语音电路中不具备从电脑存入数据的能力,所以,将语音芯片拿下,从本班同学劳家权的语音系统中完成调试。调试过程如下:利用电脑中的读书软件读入信息,其中包括,0、1、2、3、4、5、6、7、8、9、十、百、度、点、教、东经、北纬

44、、科技楼、实训楼等信息。录入完成后,逐步寻找地址,按顺序,利用播放函数中的起始结束地址的可变性,逐步从0x100xff中找到以上各个数字的地址,地址表如下:语音数据名称十百度点教东经北纬科技楼实训楼起始地址0x690x790x850xab0x740x970xa10xb20xc0终止地址0x700x800x890xae0x770x9b0xa50xba0xc9表2 语音数据对应地址寻址的播放函数如下:void ISD1730_SetPlay(char n )/SPI初始条件DISENISD1730_SS;ISD1730_SCLK_H;ISD1730_MOSI_L;ENISD1730_SS;/发送命

45、令ISD1730_Spio(SET_PLAY); /发送命令字节ISD1730_Spio(0x00); /发送数据字节1ISD1730_Spio(caToneAdd1n); /发送数据字节2,放音起始地址低8位ISD1730_Spio(0x00); /发送数据字节3,放音起邕地址高3位ISD1730_Spio(caToneAdd1n+1); /发送数据字节4,放音结束地址低8位ISD1730_Spio(0x00); /发送数据字节5,放音结束地址低8位ISD1730_Spio(0x00); /发送数据字节6DISENISD1730_SS;例如:将caToneAdd1n换为0x14,将caTon

46、eAdd1n+1换为0x18时,即可读出1的声音,以后的信息也都同理读出。在主函数以及语音函数的关联调试过程中,需要延一定的时长,因为函数中的句子是按照顺序以及同样的时间间隔进行的,调试必须要加上延时,延时长了,听起来不连贯,延时短了,会有信息丢失,所以,本次调试采用大范围固定地址的方式进行的,另外,在寻址时应当保证数字的地址间距大致相同,以便延时是固定的,并且可以用于不同经纬度的读出。语音主要是寻址,寻址后延时确定好即可。5.5. LM7805供电部分调试初步设计是用9V的常用电池作为电源供电输出5V后供给系统使用,在初步调试过程中,发现,9V的电池接入系统中,仅仅可以供电35分钟,而后缺乏

47、电力导致液晶无法显示,背光暗淡。因此,决定买锂电池,所用的锂电池型号18650。图5.5 18650实物图18650型锂电池简介:单节标称电压一般为:3.7V 充电电压一般为:4.20V 最小放电终止电压一般为:2.75V最大充电终止电压:4.20V直径:180.2mm高度:652.0mm容量:1000mAh以上(目前已知最高的是松下的3100mAh)调试中,采用两节锂电池,7.4V作为LM7805电路的输入,由于LM7805的规定输入为5V18V,所以可以正常输出,锂电池的电量远远大于常用的9V电池,所以,经过几次外出调试,可以非常好的给整个系统供电。GPS系统需要外出调试,经常背着笔记本很

48、麻烦,所以要主动设计电源供电。谢 辞从论文选题到搜集资料,从写稿到反复修改,期间经历了喜悦、聒噪、痛苦和彷徨,在写作论文的过程中心情是如此复杂。如今,伴随着这篇毕业论文的最终成稿,复杂的心情烟消云散,自己甚至还有一点成就感。那种感觉就宛如在一场盛大的颁奖晚会上,我在晚会现场看着其他人一个接着一个上台领奖,自己却始终未能被念到名字,经过了很长很长的时间后,终于有位嘉宾高喊我的大名,这时我忘记了先前漫长的无聊的等待时间,欣喜万分地走向舞台,然后迫不及待地开始抒发自己的心情,发表自己的感想。这篇毕业论文的就是我的舞台,以下的言语便是有点成就感后在舞台上发表的发自肺腑的诚挚谢意与感想:我要感谢,非常感

49、谢我的导师蒋艳红老师。她为人随和热情,治学严谨细心。在闲聊中她总是能像知心朋友一样鼓励你,在论文的写作和措辞等方面她也总会以“专业标准”严格要求你,从选题、定题开始,一直到最后论文的反复修改、润色,蒋老师始终认真负责地给予我深刻而细致地指导,帮助我开拓研究思路,精心点拨、热忱鼓励。正是蒋老师的无私帮助与热忱鼓励,我的毕业论文才能够得以顺利完成,谢谢蒋老师。我要感谢,感谢我的专业同学们,尤其是陈洪斌,劳家权,黄柏华,黄绍昇同学,在进行系统板制作,以及调试过程中,他们给了我非常大的帮助,在第一次做实验板的过程中遇到了非常多的困难和问题,但在他们的帮助下一一化解了,所以在做第二块正式的系统板的时候,综合了他们的意见以及以前的问题,较为成功的做出了现在的这个板,感谢他们的帮助,如果没有他们的悉心帮助,我不可能这样较为顺利地做出板。参考文献1 张勇,姬志飞,聂萍等.基于单片机的GPS接收和显示的设计J.环球市场信息导报,2011,(9):13.2 董作民,姜木霖,陈晓青等.MCS一51单片机与GPSOEM板数据通讯的研

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论