收藏 分销(赏)

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

上传人:pc****0 文档编号:7485720 上传时间:2025-01-06 格式:DOC 页数:40 大小:677KB 下载积分:10 金币
下载 相关 举报
基于单片机GPS定位系统的设计.doc_第1页
第1页 / 共40页
基于单片机GPS定位系统的设计.doc_第2页
第2页 / 共40页


点击查看更多>>
资源描述
摘 要 GPS的使用现在已经非常普及,大到航空航海系统,小到个人移动设备,都有着它的身影。随着GPS的民用化与成本的降低,已经走入了人们的日常生活中,很多手机、PDA 等手持设备都配备了GPS功能。就功能而言,GPS就是在地球经纬座标系下对被测对象的方位进行测定,同时可以提供较高精度与实时的测定数据。对于基于单片机的便携式设备,如果要获取持有者的位置信息,则GPS是最好的解决方案。 本文主要研究GPS 的定位原理与技术,单片机的编程及其应用,液晶屏的功能及其实现方法,语音系统及其功能应用。制作了一套设计方案,以软、硬件相结合的方式完成整个GPS数据接收和显示以及播音的过程。本课题采用GPS模块GR-87、单片机AT89S52、液晶显示屏LCD1602、语音芯片ISD1730设计一款可以实时显示当前所在位置的纬度、经度等信息,并且可以语音报告当前经纬度,并且设定了至少5个地点地址,在这5个地址的范围内可以语音报告所在地址,并且显示相应的代码,通过设计,编程,调试,该定位语音系统工作正常,可以满足基本的课题要求。 关键字:单片机;语音芯片;GPS定位 Abstract The use of GPS now very popular, aviation and navigation system, small to personal mobile equipment, all has the figure of it. With GPS and cost reduce the ", has come into People's Daily life, a lot of cell phones, PDA, etc hand-held devices are equipped with GPS function. Say simply, GPS will function is the earth coordinate of the longitude of the orientation of the tested object were, at the same time can provide a high quality and real-time data measured. Based on the single chip for portable devices, if you want to get the holder's location information, the GPS is the best solution. This paper studies the principle and technology of GPS positioning, microcontroller programming and its application, the function of the LCD panel and its realization methods, voice system and its function applications. Produced a design scheme of software and hardware in the way of the combination of the complete the whole GPS data receiving and display, and the process of the broadcast. This subject adopts GPS module GR-87, monolithic integrated circuit AT89S52, LCD display screen LCD1602, voice chip ISD1730 design a can real-time display current location of latitude, longitude and other information, and can report the speech coordinates, and set at least five site address, in the five address within the scope of the speech in address can report, and to show the corresponding code, through the design, programming, commissioning, the positioning phonetic system working properly, can satisfy the basic subject requirements. Key word: Single chip microcomputer; Voice chip; GPS positioning 目 录 1. 引言 1 2. 方案选择 2 2.1. 方案一 2 2.2. 方案二 2 3. 硬件设计 4 3.1. 系统总体结构图 4 3.2. 单片机引脚连接电路 4 3.3. LCD显示电路 6 3.4. ISD语音电路 7 3.5. LM7805稳压电路 8 4. 软件设计 10 4.1. 程序流程图 10 4.2. 单片机串行通信 10 4.3. GPS接收语句设计 11 4.4. LCD1602流程图 13 4.5. ISD1730流程图 15 5. 系统调试 16 5.1. 单片机下载口调试 16 5.2. LCD1602调试 16 5.3. GPS定位坐标调试 17 5.4. ISD1730语音录入调试 18 5.5. LM7805供电部分调试 20 谢 辞 21 参考文献 22 附 录 23 附录1-原理图 23 附录2-PCB图 24 附录3-程序及注释 25 1. 引言 GPS 技术在军事、通讯、气象、勘探、导航、遥感、大地测量、地球动力以及天文等众多学科领域得到极其广泛的应用,推动了科学技术的迅猛发展,也丰富了人类的科学文化生活。现在,GPS 的外型设计已经转向便携式发展,逐步踏入寻常百姓的生活中。所以,对GPS 的研究具有十分重要的意义。 全球定位系统(Global Positioning System 简称GPS)是美国第二代军用导航系统,可实现全球范围内的实时导航和定位。GPS由太空卫星、地面控制系统、用户设备三个部分组成。 太空卫星共有27颗,24颗运行,3颗备用。24颗可操作的工作卫星以55°的倾角分布在地球上空20~200KM的6个轨道面上。这些卫星轨道上的分布状态使地球上的任何位置在任意时候都可以同时收到至少6颗卫星的定位信息,这些卫星则不断地给全球用户发送位置和时间的广播数据。 地面控制系统主要作用有:根据监控系统对GPS的观测数据计算出卫星的星历和卫星钟的改正参数等,并将这些数据注入到卫星中去;对卫星进行控制,对卫星进行发布指令;接收卫星信号,监测卫星状态等。 用户设备用于接收GPS卫星所发出的信号,利用这些信号进行导航定位等工作。 GPS系统的基本定位原理是:每颗GPS卫星时刻发布其位置和时间数据信号,用户接收机可以测量每颗卫星信号到接收机的时间延迟,根据信号传输的速度可以计算出接收机到不同卫星的距离。同时收集至少4颗卫星的数据时,就可以算出三维坐标、速度和时间。 由于GPS具有全球覆盖以及精度高、定位速度快、实时性好、抗干扰能力强等特点,近年来在国内外得到了广泛的应用,在各个领域发挥了极大的作用,已成为了信息时代不可以或缺的一部分。 本文的主要目的是在GPS和单片机的理论和知识上,选用Atmel公司的AT89S52提取GPS模块的接收数据并由1602液晶显示接收数据。在此设计过程中,主要熟悉GR-87 GPS模块各性能指标,结合单片机串行通信知识能实现对GPS接收到的卫星信息进行提取,而后在1602液晶显示平台上选择性的显示数据并且利用语音芯片ISD1730进行播报音。 2. 方案选择 2.1. 方案一 主要芯片器件: GPS,GPS-OEM板;单片机,AT89S54;语音芯片,ISD1730;键盘模块;液晶LCD1602;电平转换MAX232;外置ROM等。 GPS OEM 键盘模块 AT89S54 MAX232 LCD1602 外置ROM ISD1730 图2.1 硬件结构图 OEM模块通过电平转换MAX232与AT89S54进行串行通信,其中GPS传入单片机的为GPRMC格式的语句,需要在单片机中进行数据拆分等操作。将取得的GPS数据发送到单片机中进行处理,通过键盘模块的按键控制,单片机判断后进行操作,或将数据存储到外置rom中,或将已得的经纬度通过ISD1730语音模块播报出,再次期间,LCD1602始终显示当前位置的经纬度。 方案一特点: (1) OEM板军用板,精确度高,是集成模块,易于携带。 (2) 键盘模块按键多,使用功能强大,可以实现多种功能。 (3) AT89S54内存大,方便使用大程序。 (4) 外置ROM,便于存储数据以及调用。 (5) GPS-OEM板需经过电平转化MAX232才可与单片机通信。并且OEM成本高,性价比一般。 (6) AT89S54非常用芯片,不易获取。 (7) 使用外置ROM需要占用至少8个数据口,如图1所示,需要对某个数据口进行分时复用。加大了电路复杂性。 (8) 整个电路硬件多,布局难。 2.2. 方案二 主要芯片器件: GPS,GR-87;单片机,AT89S52;语音芯片,ISD1730;3个按键;液晶LCD1602等 GR-87 AT89S52 摁键 LCD1602 ISD1730 图2.2 硬件结构图 GR-87模块与单片机AT89S52直接可以进行串行通信,其中GPS传入单片机的为GPRMC格式的语句,需要在单片机中进行数据拆分等操作。将取得的GPS数据发送到单片机中进行处理,通过按键控制,单片机判断后进行操作,例如将已得的经纬度通过ISD1730语音模块播报出,并在特殊的经纬度范围内播报地址信息,在此期间,LCD1602始终显示当前位置的经纬度。 方案二特点: (1) 电路硬件少,结构简单易懂。 (2) GR-87成本低,性价比高。 (3) AT89S52流行,内存8K足够使用。 (4) 数据口刚好够用。 (5) 结构简单,硬件及软件功能有一定的局限性。 (6) GR-87以及接线不方便携带。 最终选择了方案二,理由如下: 1. GPS选择GR-87,它可以满足课题要求,并且其性价比高,而且不需要电平转换。 2. 课题按键功能的实现不需要键盘模块,只需4~6个按键即可。 3. AT89S52内存足够用,不用再定做AT89S54 4. 虽然缺少了外置ROM,但减少了分时复用的麻烦。 5. 方案二的I/O口分配合理。 3. 硬件设计 3.1. 系统总体结构图 GR-87 TXD RXD LCD1602 数据口 ISD1730 控制口 按键 单片机 P1.2、P1.3 P0 AT89S52 RXD TXD P2.x 图3.1 系统总体结构图 系统总结构图如图3.1所示,其中,单片机P1.0~P1.3口进行按键控制,GR87与单片机串行通信,单片机的TXD连接GR-87的RXD1,GR-87的RXD2口闲置。LCD经上拉电阻与单片机P0口连接,ISD1730相关控制口与P3口中的部分I/O口相连。系统由统一的电源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个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。 如图3.2、3.3所示,本次课题中,P0口作为标准I/O口进行数据输出端,传入液晶;以P1^0到P1^4的标准I/O口功能进行按键控制,P1^5到P1^7作为下载器连接端口使用,利用P3^0、P3^1的串行数据传输功能与GPS进行数据通信,P3^4作为时钟信号接入语音芯片的时钟端,P2^0到P2^2作为语音芯片的控制端口,P2^5到P2^7作为液晶的控制端口。其他所用端口为:XTAL1、XTAL2、VCC、VPP、GND、RESET。 GPS模块GR-87简介 HOLUX GR-87是一个高效能、低耗电的智慧型卫星接收模组或称做卫星接收引擎,他采用美国瑟孚SiRF star III 公司所设计的第三代卫星定位接收晶片,是一个完整的卫星定位接收器具备全方位功能,能满足专业定位的严格要求与个人消费需求。 特色: (1) 采用SiRF第三代高效能晶片高灵敏度、低耗电量晶片STAR III ,内建ARM7TDMI CPU 可符合客制需求。 (2) 具备快速定位及追踪20颗卫星的能力。 (3) 体积超小,仅 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 VCC GR-87 RXD1 TXD GND VCC TXD AT89S52 RXD GND VCC TXD AT89S52 RXD GND 图3.4 GPS模块GR-87与单片机连接图 天线 如图3.4所示结构图,GPS模块只有4个端口与单片机连接,其中VCC、GND为供电部分,TXD、RXD为串行通信部分。由于GR-87属于独立模块,所以在系统原理图、PCB中未加入其封装,而是采用从PCB中的单片机串行口以及VCC、GND分别引出4条线,采用引线的方式与GPS相连接。 3.3. LCD显示电路 LCD1602简介 工业字符型液晶,能够同时显示16x02即32个字符。(16列2行) 1602液晶也叫1602字符型液晶它是一种专门用来显示字母、数字、符号等的点阵型液晶模块它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用,正因为如此所以他不能显示图形。 其中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)端。 第7~14脚:D0~D7为8位双向数据端。 第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极。 LCD引脚连接介绍 显示电路如图3.2右侧所示,P0^0~P0^7经过上拉电阻10K*8欧姆与LCD的数据口DB0~DB7相连;RS/RW/EN由单片机的P2^7~P2^5控制;对比度控制口VO经过测试后,经5K定值电阻与VCC相连刚好合适;背光灯控制BG VCC经51欧姆的电阻与VCC连接,BG GND连接地。这种接法缺陷是对比度不可调,但在稳定的5V供电的情况下,连接定置电阻经过测试也是行的通的。 3.4. ISD语音电路 ISD1730简介 ISD1700系列录放芯片是一种高集成度,高性能的芯片。它可以多段录音,采样率可在4K至12K间调节,供电范围可以在2.4V至5.5V之间。 ISD1700系列录放芯片可工作于独立按键模式和SPI控制模式。芯片内有存储管理系统来管理多段语音,这样在独立按键模式下也能进行多段语音录放。此芯片内有振荡器,可通过外部电阻来调节其振荡频率;还有带自动增益控制(AGC)的话筒运放,模拟线路输入,抗锯齿滤波器,多级存储阵列,平滑滤波器,音量控制,直接驱动喇叭的PWM输出与接外部功放的电流/电压输出。 ISD1700还有新录音提示功能,当有新的录音后,LED回每几秒闪一次来提示用户有新的录音。此外还有4种音效来提示用户的操作结果,如开始录音、停止录音、擦除、下一曲和全部擦除等。录音数据存储在芯片的FLASH内,没有经过任何压缩,所以有较好的音质和断电存储。芯片有两路独立的语音信号输入通道,话筒输入与模拟信号输入。在独立按键模式下,当某功能操作完成后芯片会自动进入掉电模式来降低功耗。在SPI模式下,用户可对芯片进行更多功能操作。如对任意存储地址进行录放,对模拟通道配置寄存器(Analog Path Configuration register, APC)进行读写等。 如图6所示,电阻R3会影响采样率,采样率与它的关系见下列表。 采样率 12KHz 8KHz 6.4KHz 5.3KHz 4KHz Rosc 53KΩ 80KΩ 100KΩ 120KΩ 160KΩ 表3.1 采样率与电阻关系 图3.5 语音芯片ISD1730电路 如图3.5所示,图3.5右侧的MIC电路部分经过实践测试,音质不好,所以弃用,因为所选芯片为ISD1730,内存足够,所以改用找地址的电脑信号录入方式进行录音,具体的录音地址见下文的系统调试部分;MISO、MOSI、SS与单片机的P2^2~P2^0连接;CLK与单片机的P2^4连接;ROSC与80K电阻连接后接地,采样频率为8KHZ;VOL与一个按键连接后接地,可调音量;AGC端口启用,增益自动可调;SP-、SP+与喇叭直接相连,不用经过功率放大等,经过查找资料,本课题使用的,5欧姆、0.8w的喇叭可以被带动,但是功率大一些的喇叭必须要经过功率放大电路才可以带动;DP2为LED指示灯,在录放音的时候会闪烁。 3.5. LM7805稳压电路 图3.6 稳压电路 如图7所示,其中Pd10为输入口,Pd11为输出口;LM7805输出稳定在5V,输入端要求为5V~18V或24V,本次测试中,采用2节锂电池(型号18650),约7.4V输入。其他部分参考LM7805的标准电路部分。 4. 软件设计 4.1. 程序流程图 开始 液晶初始化 单片机初始化 取得数据 P11是否为0? P12是否为0? 液晶显示 语音报地点 语音报坐标 N N Y Y 中断服务程序 判断GPRMC语句 接收数据并存储 中断结束 图4.1 主程序流程图 图4.2 中断程序流程图 如图4.2所示,在该系统中,接收GPS的是NAEA 0183协议输出的GPRMC语句,在中断程序中判断并且存储相关数据,在如图4.1所示,用函数提取出中断中存储的数据并且显示完成相应的功能,具体步骤见下面的介绍。 4.2. 单片机串行通信 串行端口模式1工作介绍 在模式1时,串行端口经由TXD引脚负责发送及通过RXD引脚接收10位的数据,其中包括1个起始位、8个数据位和1个停止位。由于发送和接收是由不同引脚负责,故可同时进行发送和接收的动作。起始位(低电位)和停止位(高电位)是串行端口在发送数据时自动加上去的,当在接收状态下,接收到的停止位会自动存入SCON寄存器的RB8位中,而发送及接收波特率可用软件设定计时/计数器1,说明如下。 ①模式1的发送 执行写入SBUF指令后,产生一个WRITE TO 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引脚上检测到负缘转态信号后就会激活串行端口的接收动作。在接到正确的起始位后(低电位),开始依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=FAH,可得波特率为4800bps 4.3. GPS接收语句设计 GPRMC输入语句如下: $GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh<CR><LF> GPRMC格式如下: $ 帧头标志符 GPRMC GPS推荐的最短数据 < 0> GPRMC < 1> UTC24小时制标准时间, 格式为. hhmmss. sss# < 2> 信号接收状态: A 为数据OK; V 为警告 < 3> 纬度值, 格式为. ddmm. mmmm < 4> 表明南北半球, N 为北半球, S 为南半球 < 5> 经度值, 格式为. dddmm. mmmm < 6> 表明东西经, E为东经、W 为西经 < 7> 速度, 此处为0 < 8> 方位角, 范围0.~ 359. 9. < 9> 日月年, 格式为.日日/月月/年年# < 10> 磁偏角: 0. 00.~ 180.。此处不输出 < 11> 地磁变化方向: 向西偏差为E或W。此处不输出 < 12> 模式指示(仅NMEA 0183 3. 00版本输出) : A= 自主定位, D= 差分, E= 估算, N= 数据无效 * 校验和隔离符号 < 13> 校验和 < CR> < LF> 帧尾结束符 中断程序中涉及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(SBUF=='*')//‘*’结束的标志 { begin=0; count_1=0; count_2=0; } else { if(count_1==0) { if(count_2<6) //接收到更长的数据时,会越界 message[count_2++]=SBUF; //message[0]='$' } if( (message[5]=='C')&&(message[4]=='M'))//判断GPRMC格式 { switch(count_1) { case 2:status[count_2++]=SBUF-48;break; //接收状态 case 3:if(count_2<9)latitude[count_2++]=SBUF-48;break; //接收纬度 case 4:N_S[count_2++]=SBUF-48;break; //接受N或S case 5:if(count_2<10)longitude[count_2++]=SBUF-48;break; //接收经度 case 6:E_W[count_2++]=SBUF-48;break; //接收E或W default: break; } } } } RI=0; //串口接收中断标志必须软件清零 } unsigned char count_1=0; //数据类型累加变量 unsigned char count_2=0; //数组下标累加变量 设计思路: 下面的将介绍完整的一个接收语句,判断语句,拆分语句,存储有关数据的过程。首先要接到一个语句的数据,如果一个语句的起点字符是“$”,将变量begin置1,并且将数据类型累加变量count_1置0;在count_1=0时,当接受的数据既不是结束位“*”,或者类型分隔位“,”时,将语句首的格式名称存储到message数组中,为了防止其它语句的干扰再次判断接收语句是否为GPRMC格式,再次用message数组中的,5位,6位进行条件语句判断,判断为GPRMC后,再根据count_1的值进行相关数据存储,每次的不同的GPS信息间都以“,”隔开,本次接收中只接收< 2> 信号接收状态: A 为数据OK; V 为警告;< 3> 纬度值, 格式为. ddmm. mmmm;< 4> 表明南北半球, N 为北半球, S 为南半球;< 5> 经度值, 格式为. ddmm. mmmm;< 6> 表明东西经, E为东经、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码输入,所以,每次存储值时应该都减去48。 4.4. LCD1602流程图 本次GPS定位系统中采用的液晶是1602,可以显示8行汉字,每行可以显示10个。对于该,液晶,必须要编写液晶驱动程序。图10为液晶的程序流程图。 1602通过D0~D7的8位数据端传输数据和指令。 显示模式设置:(初始化) 0011 0000 [0x38] 设置16×2显示,5×7点阵,8位数据接口; 显示开关及光标设置:(初始化) 0000 1DCB D显示(1有效)、C光标显示(1有效)、B光标闪烁(1有效) 0000 01NS N=1(读或写一个字符后地址指针加1 &光标加1), N=0(读或写一个字符后地址指针减1 &光标减1), S=1 且 N=1 (当写一个字符后,整屏显示左移) 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); //显示模式设置 00111000 设置16*2显示 5*7点阵 8位数据接口 write_com(0x0C); //设置液晶光标 不显示 write_com(0x06); ////显示光标移动位置 write_com(0x01); //清屏 write_com(0x80); //光标的位置 } 4.5. ISD1730流程图 由于ISD1730只是放音作用,不涉及录入等功能,所以流程图只是放音部分。放数字音和放位置音的过程类似,所以都可以用一个流程图表示。 开始 有无MISO信号? 在给定地址放音,传输回MOSI信号。 结束 N Y 图4.3 语音芯片工作流程图 放音的一段程序如下: ISD1730_Spio(0x00); //发送数据字节1 ISD1730_Spio(caToneAdd1[n]); //发送数据字节2,放音起始地址低8位<S7:S0> ISD1730_Spio(0x00); //发送数据字节3,放音起邕地址高3位<S10:S8>,ISD1730不用 ISD1730_Spio(caToneAdd1[n+1]); //发送数据字节4,放音结束地址低8位<E7:E0> ISD1730_Spio(0x00); //发送数据字节5,放音结束地址低8位<E10:E8>,ISD1730不用 ISD1730_Spio(0x00); //发送数据字节6 通过给定的存有每个需要读出数据的地址的数组,其中每两个为一个数据的读音起始终止地址,在程序中选调初始地址,即可读出相应地址的数据。 5. 系统调试 5.1. 单片机下载口调试 图5.1 下载口原理图 如图5.1所示,下载器连接口,所用引脚为P1^5~P1^7,初步下载时,显示“chip error…..”内容,检查引脚连接以及电平电压,皆正常。最后检测单片机是否起振,检查原理图以及PCB图,将起振电容由22uf增大到30uf,同时缩小电容与晶振的距离。再次下载程序,显示正常。所以,晶振,单片机,起振电容三者应距离在一定范围内,越近越好。 5.2. LCD1602调试 图5.2 LCD1602原理图 如图5.2所示,LCD1602引脚RS,RW,E由单片机控制,数据口DB0~DB7经上拉电阻连接单片机的P0口,背光电源BG VCC经小电阻连接5V,BG GND连接地。主电源VCC开始的设计时,经滑变接5V,上电后,发现液晶只有背光,后来改为主电源VCC直接与5V相连,工作正常。 写指令,数据时,开始判断错了地址行,认为第一行地址0X80~0X8f,第二行地址0Xb0~0Xbf,经过测试,发现第二行的数据显示有问题,上网查资料对比确认后,确定第二行地址有问题,改为0Xc0~0Xcf后显示正常。所以,找资料应该找多家资料,找一份资料难免会出现纰漏。LCD1602主电源供电要供5V,没必要接滑动变阻器,调节对比度引脚可以连接滑变。 5.3. GPS定位坐标调试 图5.3 GPS模块GR-87实物图 如图5.3所示,系统中采用的GPS芯片GR-87,台湾HOLUX-GPS模组,另外有独立天线。图中接线颜色,按照自右向左顺序为:红、绿、蓝、黑。图中文字,红线:电源-VCC;绿线:数据发送端-TXA;蓝线:数据接收端-RXA;黑线:地线-GND。供电电压3.5V~5.5V,其中可以将串行口与单片机的串行口直接相连。 科技楼 正北 观测点1 观测点2 观测点3 观测点4 图5.4 地点模拟图 调试过程以科技楼为例,如图5.4所示,科技楼方位正门朝向东南方,在1、2、3、4点分别测出经纬度,确定最大,最小,经纬度,然后程序中用判断语句确定科技楼,然后返回一个常数标志。 东经的计算 east=longitude[0]*100+longitude[1]*10+longitude[2]+longitude[3]*0.1+longitude[4]*0.01+longitude[6]*0.001+longitude[7]*0.0001+longitude[8]*0.00001; 北纬的计算 north=latitude[0]*10+latitude[1]+latitude[2]*0.1+latitude[3]*0.01+latitude[5]*0.001+latitude[6]*0.0001+latitude[7]*0.00001; 其中,longitude[],latitude[]数组中的数据来自中断程序中的GR-87传入的数据。传入的经纬度格式如下: 纬度值, 格式为. ddmm. mmmm 经度值, 格式为. dddmm. mmmm 其中,纬度dd为十位,个位,mm.mmmm分别为小数点后1~6位,同理可得经度的位判断。 判断语
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

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

关于我们      便捷服务       自信AI       AI导航        抽奖活动

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

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

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

关注我们 :微信公众号    抖音    微博    LOFTER 

客服