版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、目录摘要i前言1第一章 概述21.1gps国内外的发展形势21.1.1国外的研究现状21.1.2 国内的发展现状21.2 课题研究的内容及目标3第二章 整体框架及方案比较42.1系统整体框架结构图42.2单片机的选择42.3语音芯片的比较5第三章 系统的硬件研究与设计73.1各部分电路图73.1.1单片机的最小系统73.1.2 jhd162a液晶显示电路83.1.3 isd1700s音频输出电路及按键电路83.1.4 gps模块接口电路93.2 系统整体电路图10第四章 系统软件的研究与设计124.1主程序流程图124.2语音模块子程序144.3 jhd162a液晶显示子程序15第五章 系统校
2、验165.1系统仿真165.1.2仿真实现流程165.2系统运行结果截图175.2.1开机界面175.2.2接收信号后17第六章 总结与展望216.1总结216.2展望21致谢22参考文献23附录24摘要智能公交系统是智能交通系统的重要研究内容,本论文设计了一种基于gps定位的公交车自动报站系统,它利用gps进行数据采集,获得车辆位置信息,并结合语音播放技术,根据公交车所处的位置进行自动报站、温磬提示等语音服务。它可以彻底改变传统公交车语音报站必须由司机操控才能工作的落后方式,完全不需要人工介入,实现公交车报站的完全智能化。该系统是以gps定位技术为基础来实现自动定位,从而提供自动报站服务。关
3、键词:gps;自动报站系统; at89c51 前言从1831英国人沃尔特汉考克为他的国家制造出了世界上第一辆装有发动机的公共汽车起,到今天,公交车已经历经了将近200年的发展过程。从最初的“闷罐头”到如今配套的空调系统;从专人售票到无人售票;从人工报站到半自动语音报站,公交车向着越来越人性化的方向发展。可是目前存在的一个问题,半自动语音报站系统需要由司机在车子进出站的时候人工操作,由于这两个时间点往往是路面情况最复杂的时刻,因此也给行驶中的车辆带来了安全隐患。论文的目标就是彻底抛弃人工操作,实现公交进出站的全自动语音报站。利用at89c51单片机、isd1700系列语音芯片、jhd162a l
4、cd液晶模块来实现所需要的功能。 单片机体积小,重量轻,具有很强的灵活性而且价格便宜,得到越来越广泛的运用,例如工业控制领域、家电产品,智能化仪器仪表,计算机外部设备,特别是机电一体化产品中都有重要的用途。20世纪80年代中期,intel公司将8051内核使用权以专利互换或出售的形式转给世界许多著名ic制造厂商,这样8051就变成有众多制造厂商支持的,发展出上百个品种的大家族。到目前为止,其它任何一个单片机系列均未发展到如此的规模。正因为51单片的运用是如此广泛,因此学习单片机的运用是非常重要的。学好单片机也是学习其他嵌入式控制器如arm、dsp的基础,任何嵌入式控制器都离不开单片机种所涵盖的
5、如中央处理器,定时器、中断控制器,io口控制器, 串行通讯控制器,i2c总线控制器,片内外存储控制器,汇编语言,c语言,操作系统的概念。因此说学好单片机,再去学习其他嵌入式控制器如arm、dsp是比较简单的。可以说学好单片机是其它进阶微处理器的一个台阶。 本次设计的课题是“基于gps定位的公交车自动报站系统的设计”, 设计中利用无线收发模块及编解码芯片实现站台的自动识别,通过单片机对液晶模块及语音模块的综合控制实现全自动语音报站的功能。 本次设计以keil c51开发环境为编程平台进行代码的编译和运行,并在proteus上进行仿真。第一章 概述1.1gps国内外的发展形势1.1.1国外的研究现
6、状目前,以gps为代表的卫星导航应用产业已成为当今国际公认的八大无线产业之一。随着技术的进步、应用需求的增加,gps以全天候、高精度、自动化、高效率等显著特点及其所独具的定位导航、授时校频、精密测量等多方面的强大功能,已涉足众多的应用领域,使gps成为继蜂窝移动通信和互联网之后的全球第三个 it经济新增长点。虽然具有gps定位功能的公交车市场潜力颇为看好,就现阶段而言仍有几项障碍亟待克服:首先,不论公交车采用的是内建gps芯片或是用外接gps模块作为解决方案,将无可避免地提高公交车成本,也影响消费者购买的意愿;最后,目前具有提供整合gps芯片与无线通信技术的公司仍屈指可数,且公交车制造大厂是否
7、愿意采用现有的解决方案,或是另外自行开发仍是未定之数。通过近20年的发展,gps产品已逐渐转变为消费电子产品,且所能应用的范围已扩展到日常生活中的通信、pda、定位信息等。不过,以现阶段来看,由于 gps接收机的单芯片化技术、价格以及市场应用服务等仍未臻成熟,因此,在乐观地看待此市场发展时,诸如gps ic设计的技术是否能达到公交车或pda所需的最小体积、成本是否能降低以及内建gps的新公交车系统是否能引起消费者的青睐等问题,仍必须审慎地深入评估。1.1.2 国内的发展现状国内gps市场呈现出两个重点发展趋势。(1)以车载导航为核心的移动目标监控、管理与服务系统。在gps应用领域,车辆应用所占
8、的比例较大。最初gps车辆应用一般分为车辆跟踪和车辆导航两大系统。但当摩托罗拉公司推出集车辆导航与跟踪于一体的车辆信息系统后,它就成了发展的方向。gps车辆定位监控系统主要有自导航应用和中心监控两种方式。车辆监控系统是集gps技术、无线通信技术和地理信息系统技术于一体的综合车辆管理系统。一般行业用户的车船队监控都采用中心监控方式,系统由监控中心、位于监控中心的主站和安装在移动车辆上的子站等3部分构成。系统的工作原理是:安装在车辆上的gps接收机根据收到的卫星信息计算出车辆的当前位置,通信控制器从gps接收机输出的信号中提取所需要的位置、速度和时间信息,结合车辆身份等信息形成数据包,然后通过无线
9、信道发往控制中心。控制中心的主站接收子站发送的数据,并从中提取出定位信息,根据各车辆的车号和组号等,在监控中心的电子地图上显示出来。同时,控制中心的系统管理员可以查询各车辆的运行状况,根据车流量合理调度车辆。(2)面向个人消费者的gps终端产品。芯片的小型化技术、生产成本的降低、体积与耗电量的减小等有利因素,使gps产品走下神坛、深入到人们的日常生活中。目前面向个人消费者的产品主要有车载自主导航系统、移动监控终端以及消费类电子产品。有集成了gps芯片和地理信息系统数字地图的移动通信手机、gps手持机、gps 手表,甚至gps相机等,也有基于掌上电脑和笔记本电脑等移动设备的插卡(cf卡式gps接
10、收机)式、外接(gps接收机)式等集成产品。1.2 课题研究的内容及目标自动报站系统是智能公交系统的组成部分,公交车自动报站系统是利用全球定位系统(gps)进行数据采集,根据公交车所处的位置进行自动报站、温磬提示等服务,它将电子、控制、计算机、通信等实用技术集中运用于公共交通系统,改造旧的服务模式,建立全新的服务体系,不但提高了其服务质量,同时也将为公交公司和社会带来较大的经济和社会效益。1课题的主要研究的内容针对我国的中小城市,自主研发一套基于gps的公交车自动报站系统。该系统采用gps卫星定位技术,彻底改变传统公交车语音报站必须由司机操控才能工作的落后方式,在公交车进站、出站、拐弯时能及时
11、、准确地自动播报站名及服务用语,实现公交车报站的完全智能化。在进行系统设计时,除了实现系统要求的功能以外,同时,由于系统是安装在公交车上,属于车载终端设备,所以必须兼顾电源、功耗、体积等因素,且还要考虑到产品成本、开发工具、研发周期等问题。基于以上因素,整个系统采用了at89c51单片机作为主控制器的设计思路。2课题研究的目标本课题研究的是基于gps的公交车自动报站系统,目的是使公交车通过gps定位,准确获知并且确定车辆位置,然后通过液晶显示站点信息,提示灯变亮,再由音频系统自动播报站名,从以前完全手动控制变为选择性自动控制,以提高公交系统的准确性和安全性。第二章 整体框架及方案比较本系统要实
12、现根据公交车通过不同路段,然后经过gps系统定位报出站名的功能。系统主要有两大部分,主控制程序单片机和语音芯片部分。每个部分都有不同的方案可供选择。2.1系统整体框架结构图本设计的整体思路是:通过按键电路和gps定位系统输入地段信息,直接输出数字信号给单片机at89c51进行处理,在lcd液晶频上显示当前站名信息。同时通过语音芯片输出放大后的语音信息。其结构框图如图所示:gps模块音频输出音频放大at89c51扬声器lcd按键电路图2.1 整体框架结构图2.2单片机的选择目前基于此课题的设计方案主要有两种,分别是基于fpga的vhdl语言设计,基于at89c51单片机设计,下面具体分析各种设计
13、方案的优缺点。方案一:基于fpga的vhdl语言设计 优点: fpga是一种高密度的可编程逻辑器件,器件集成度高,方便易用。fpga在通信、数据处理、网络、仪器、工业控制、军事和航空航天等众多领域得到了广泛应用。随着功耗和成本的进一步降低,fpga还将进入更多的应用领域。 缺点:用vhdl语言编写的程序很难实现符合这个课题的效果,在逻辑算法上也不及51单片机来得灵活。在仿真环境上无法体现出需要实现的功能,不太适合用在这个课题上。 方案二:基于at89c51单片机设计 优点:51单片机具有高效能,资源占用率低等特点。目前51单片机的使用非常广泛,关于51单片机设计开发的资料非常丰富,很适合初学者
14、自学。使用c语言编程可以实现丰富的功能,在proteus仿真环境上也可以很好地体现出本设计欲达到的效果。 缺点:对多线程同时需要共享资源的任务处理性能有限,无法满足现今对执行效率和存储容量都有较高要求的信息家电等的需要。在多任务的处理能力上根本无法与基于嵌入式操作系统构架的方案同日而语。 本设计采取方案二以at89c51作为单片机。由于本课题属于小型项目,信息处理量不大,采用fpga的设计存在成本高,开发过程复杂等情况,本项目并不能发挥出这些芯片的强大功能。基于以上优缺点的分析我选择了第2种设计方案。选用atmem公司的at89c51作为控制芯片,成本低,开发周期短,配合各种专用芯片的使用能够
15、实现丰富的功能。可以在proteus仿真环境中很好的体现出设计所要实现的效果。2.3语音芯片的比较本论文主要考虑了两种语音芯片,isd1700s语音芯片和otp语音芯片,并且对它们做了分析比较。方案一:语音芯片isd1700sisd1700s 系列芯片是华邦公司新推出的单片优质语音录放电路,是isd1400s与isd2500s的升级产品。该芯片提供多项新功能,包括内置专利的多信息管理系统,新信息提示(valert),双运作模式(独立&嵌入式),以及可定制的信息操作指示音效。芯片内部包含有自动增益控制、麦克风前置扩大器、扬声器驱动线路、振荡器与内存等的全方位整合系统功能。 特点: 可录、放音十万
16、次,存储内容可以断电保留一百年 两种控制方式,两种录音输入方式,两种放音输出方式 可处理多达 255 段以上信息 有丰富多样的工作状态提示 多种采样频率对应多种录放时间 音质好,电压范围宽,应用灵活,价廉物美 电特性: 工作电压:2.4v5.5v,最高不能超过6v 静态电流:0.5-1ua 工作电流:20ma 可利用振荡电阻来自定芯片的采样频率,从而决定芯片的录放时间和录放音质,而芯片的采样率可以通过外部振荡电阻来调节方案二:语音芯片otpotp可以pwm直接驱动喇叭,也可以通过三极管放大后驱动喇叭,tg1、tg2只能作为输入触发端(和正电源导通时,触发语音播放)另外的tg11、tg12既可以
17、作为输入触发端,也可以作为输出驱动端,可以选择播放语音时tg11/tg12输出1hz闪光、3hz闪光、6hz闪光或者常亮模式,这样就能实现在播放语音的同时led闪光或者执行其他动作,如电机运转等。otp语音芯片特点 性能高度集成外围无需任何元件,只需一个104滤波电容。 体积超小有dip8,sop8两种封装方便客户使用、低电压供电,静态基本不耗电。 音质效果好,音量大 支持多种控制方式,按键控制和单片机串行脉冲控制.语音可分成32段. 批量价格具有绝对优势,交货周期短7天。 输出方式有pwm ,dsk驱动喇叭。本系统中采用方案一。方案一采用isd1700 系列芯片具有优质语音录放功能,芯片内部
18、包含有自动增益控制、麦克风前置扩大器、扬声器驱动线路、振荡器与内存等的全方位整合系统,具有更大的灵活性和更低的成本,能够充分发挥单片机的效能。而由于方案二中芯片价格相对较高,且本程序较小不需要如此高性能芯片,所以相比之下选择方案一最适合。第三章 系统的硬件研究与设计系统硬件电路主要包括按键电路,jhd162a液晶显示电路,isd1700s音频输出电路和gps模块接口电路。每块电路通过与单片机的连接组合,实现其各自的功能。3.1各部分电路图3.1.1单片机的最小系统at89c51单片机的时钟电路可以由三种方式构成,即内部时钟方式、有源晶振方式和外部时钟信号方式。本自动报站系统为内部时钟方式,即采
19、用外接晶振和电容组成的并联谐振电路, at89c51可以工作在20mhz频率下。电路如图3-1所示复位电路主要完成系统的上电自动复位和系统在运行时用户的手动按键复位功能。在本系统中采用较简单的rc复位电路,单片机在上电瞬间,rst引脚端出现正脉冲,实现自动复位。经实践使用证明,其复位逻辑稳定、可靠。电路图如图3-1所示。图3-1单片机最小系统电路图3.1.2 jhd162a液晶显示电路为了能方便直观的了解到当前地段的站名和信息,显示的内容主要为16字符x 2行,字符点阵为5 x 8点,采用的驱动方式为1/16d。基本操作时序为读状态:rsl,rwh,eh ;写指令:rsl,rwl,d0d7=指
20、令码,e高脉冲;读数据:rsh,eh ;写数据:rsh,rwl,d0d7=数据,e高脉冲 ,数码管的4,5,6分别与单片机的p2.0p2.2相连;714分别与p0.0p0.7相连,通过单片机的信息处理,从而在液晶显示频上显示各段信息。设计电路图如图3-2所示。图3-2jhd162a液晶显示电路3.1.3 isd1700s音频输出电路及按键电路isd1700s通过按键系统和gps模块的信息输入,在按键模式工作时,芯片可以通过/led 管脚给出信号来提示芯片的工作状态,并且伴随有提示音,isd1700s芯片具有语音录放功能,通过不同的数字信息输入,系统将会把先前收录好的语音通过音频放大器进行处理,
21、最后经过扬声器喇叭播报出来。本系统兼有按键操作功能:按下 rec 键,/rec 管脚电平变低后开始录音,直到松开按键使电平拉高或者芯片录满时结束。(1)录音结束后,录音指针自动移向下一个有效地址,而放音指针则指向刚刚录完的那段语音地址。(2)放音操作:放音操作有两种模式,分别是边沿触发和电平触发,都由/play 管脚触发。(3)快进操作:点按一下 fwd 按钮将/fwd 端拉低,会启动快进操作。快进操作用来将播放指针移向下一段语音信息。设计电路图如图3-3所示。图3-3 isd1700s音频电路图3.1.4 gps模块接口电路由于电源电压要求为+5.0v5%(即+4.75v+5.25v),因此
22、模块引脚1、引脚2,引脚3均接系统的+5v电源。由于该模块无需初始化,上电后模块即可自动接收和发送定位数据,故不需要对其进行控制操作,即系统不必向gps模块发出控制指令。另外,gps模块工作电源是+5v,而at89c51单片机的i/o电压为+3.3v,所以在gps模块与at89c51单片机之间串接27k的保护电阻。具体硬件接口电路如图3-4所示:图3-4 gps模块接口电路3.2 系统整体电路图系统主要通过单片机at89c51处理:gps模块接口电路,按键电路,isd1700s音频输出电路以及jhd162a液晶显示电路。单片机主芯片通过对按键电路和gps模块的信息处理,将信息发送到音频输出电路
23、和lcd液晶显示电路,从而可以明确的获知该地段的站名和准确播报信息。系统总体硬件设计电路如图3-5所示。图3-5 系统整体电路图第四章 系统软件的研究与设计在自动报站系统的硬件电路设计与实现之后,还需要配合设计完善的程序才能完全实现自动报站系统的各项功能。在本系统中,主要设计了主程序的流程图,语音模块子程序流程图,并且简单的分析了各程序的运行流程。4.1主程序流程图主程序主要涉及各个部分子程序的调用。程序初始化后,系统出现开机界面,液晶显示频显示下一站站名。本程序主要兼有两种控制方式:按键控制和gps接收控制。程序接收到信息后语音将自动播报到站信息,液晶显示频显示下一站,下车的指示灯亮。选择n
24、o,则是继续行车报站,选择yes,则停止行车,终止系统。主程序流程图4-1所示。开机界面液晶显示下一站是否选择gps模式?gps接口电路按键扫描语音播报当前到站信息液晶更新显示下一站下车指示灯亮接收gps?按键按下?是否停止行车?nnyyynyn结束图4-1 主程序流程图4.2语音模块子程序isd1700s语音模块子程序主要是接收主芯片发送过来的音频信号,然后由p25端输出一个负脉冲信号,语音芯片内部指针指向本站点的语音段头,再由p26端输出一个负脉冲信号,经过音频放大,通过扬声器播放当前指针指向的语音段。流程图如图4-2所示开机界面p25输出一个负脉冲,语音芯片内部指针指向本站点语音段头 p
25、26输出一个负脉冲,播放当前指针指向的语音段 结束收到信号开始是否接收信号?是否播报语音信息?nyy图4-2 语音模块流程图4.3 jhd162a液晶显示子程序jhd162a液晶显示子程序主要通过接收主程序发出的信号,将其设置输入为模式子函数形式,并初始化lcd子函数,显示定位子函数,显示字符子函数,站点信息设置及调用,最后显示站名信息。流程图如图4-3所示。开机界面显示站名信息接收信号设置输入模式子函数lcd_setinput()初始化lcd子函数lcd_initial()显示定位子函数gotoxy()站点信息设置及调用结束显示字符子函数开始是否初始化lcd?yn图4-3 jhd162a液晶
26、显示流程图第五章 系统校验软件的调试主要使用的是proteus集成开始环境和keil 软件。keil软件提供了丰富的函数和功能强大的集成开发调试工具。编译后调试运行,生成hex文件后直接烧写到at89c51芯片中,进行系统的软件仿真。5.1系统仿真 signal:模拟gps接收信号。 gps接收端收到信号后会从高点平跳变为一个持续的低电平直到信号消失,由于proteus里没有语音器件所以用开关来替代。 d1:播放 灯亮说明/play使能,模拟按键开关的负脉冲 d2:快进 灯亮说明/fwd使能,模拟负脉冲。 d3:到站指示灯亮,语音播报结束后,到站门开,指示灯d3亮,直到信号消失。 lcd模块:
27、初步选用字符型液晶,可以显示公交车名以及下一站站名。在每个signal信号的下降沿跳变显示下一站站名,否则保持不变。 5.1.2仿真实现流程 公交车在离站100米左右收到gps信号,signal给出持续的低电平直到车子驰离站点。 这期间可分为三段。 t1:公交车从接收到信号到停靠到站 t2:停靠 t3:驰离公交站,信号消失 t1期间当单片机检测到signal信号的下降沿时,液晶就显示下一站站名同时给d2一个负脉冲,将语音芯片的播放指针指向下一段;延时后再给d1一个负脉冲,播放当前指向语音段。然后d3指示灯亮。 t2期间,指示灯d3保持亮的状态。语音播报完毕。 t3期间,车子驰离信号区,sign
28、al信号上升沿,指示灯d3熄灭,其它不变。5.2系统运行结果截图5.2.1开机界面当系统开机时,系统进入初始化界面。单片机c语言程序自动默认为预设站点,液晶显示该站名信息为“zhaohu z”,此时的led指示灯均灭。图5-1 系统初始化界面5.2.2接收信号后系统接收到gps发送的信息后,单片机p25端口输出一个负脉冲信号,语音芯片内部指针指向本站点语音段头,语音芯片指针下移一位,此时控制开关闭合led2-blue灯亮。接着单片机会在p26端口继续输出一个负脉冲信号,播放当前指针指向的语音段,此时led2-blue熄灭,led1-yellow灯亮。公交车继续向前行驶,根据gps定位系统向单片
29、机输入信息,液晶显示下一站站名更新,即“juyuan z”,此时p1.0端口连接的led3-green提示灯灯亮,待公交车停靠站点后,led灯灭。 图5-2语音芯片指针下移一位图5-3语音报站图5-4lcd显示下一站站名更新图5-5到站指示灯亮图5-6指示灯灭第六章 总结与展望6.1总结智能交通系统是目前世界上交通运输科学技术的前沿,智能公交系统是智能交通系统研究的一个主要方向,它的建立将最大程度地提高车、路资源的利用率,提高公交服务的质量,从而创造巨大的社会经济效益,因此对智能公交技术的研究具有深远的意义。全球定位系统gps已经广泛应用于各个领域。gps可以确定公交车的地理位置,只要把公交站
30、点的位置数据(经度和纬度)记录下来,就可以知道公交车是否处于进站、到站和出站状态。利用gps实现公交车的智能报站,大大减少驾驶员的工作量,提高公交车运行过程中的安全系数,是公交智能化的重大改进。所以,本文对gps定位、语音播放,液晶显示等技术作了详细的研究与讨论,总结如下:1)系统总体方案设计。提出了以at89c51单片机作为主控制器的硬件总体设计方案,语音报站和信息显示同步。2)系统硬件电路设计。分析设计了各部分电路,包括液晶显示电路、音频输出电路及按键电路,gps接口电路等,实现了整个系统硬件电路的功能。3)系统软件设计。研究分析了系统主程序,液晶显示模块程序设计和语音模块程序设计等。此外
31、,本文还对gps在车辆定位进行了相关研究,提高系统定位的可靠性和完整性。6.2展望由于时间和精力有限,本文没有设计实现dr系统定位的硬件电路,但系统mcu留有足够的i/o口可以使用。本文研究的gps定位中数据融合方式采用的是简单的模式切换,该方式的优点是算法简单,容易实现,但这种方式没有充分利用多传感器的冗余信息来提高定位精度和可靠性,今后可以考虑用紧耦合和松耦合的多传感器信息融合方式来完善系统的定位精度和可靠性。系统下一步发展趋势是将gps自动报站系统和gprs技术和gis相结合,即把gps定位、gprs无线通信网和城市地理信息系统结合起来,对城市的公交车辆进行实时监控,可以实时掌握整个路网
32、交通的各种情况,进行即时分析、处理和预测,并以最快速度反馈给行驶中的每个车辆,优化行车路线,以最佳方式、最短时间将乘客载至目的地,使车辆和道路智能化,建立智能的公共交通营运和调度系统,进一步促进智能公交系统的发展。致谢在本毕业设计的写作过程中,我的指导老师王益老师倾注了大量的心血,为我确立了研究方向,从论文的选题、构思、编排等方面给我详尽指导。到一遍又一遍地指出每稿中的具体问题,严格把关,循循善诱,王老师深厚的理论功底和丰富的经验对我课题的完成起到了至关重要的作用。在此,谨向王老师致以崇高地敬意和由衷地感谢。同时我还要感谢在我学习期间给我极大关心和支持的各位老师以及关心我的同学和朋友。当然,在
33、我求学期间,还要感谢我深爱的父母亲一直以来对我无怨无悔的付出、支持、关爱、尊重和信任,在我学习、生活、感情、工作上遇到困难时,是您们帮我抵御风霜,谢谢您们。我是幸运而幸福的,我知足并且义无反顾的在大家的关爱下坚持自己的信念和理想一路前行。参考文献1 at89c51中文资料手册eb2 isd 1700 系列数码语音电路使用手册eb3 多用途df无线数据收发模块eb4 lcd1602a中文资料手册eb5 pt2262/2272编解码集成电路介绍eb6 孙育才.mcs51系列单片机微型计算机及其应用m.南京:东南大学出版社,2004。 7 周波,冯顽童,胡建龙等.公交车自动报站系统的设计j.四川理工
34、学院学报:自然科学版, 2008。8张伟,孙颖,赵晶.protel 99 se高级应用m.北京:人民邮电出版社,2007.9曹丙霞,赵艳华.protel 99 se原理图与pcb设计m.北京:电子工业出版社,2007。10朱定华,黄松,蔡苗.protel 99 se原理图与印制板设计m.北京:清华大学出版社,2007。附录本附录主要分析设计了三个c语言程序,其中包含系统的主程序设计,液晶显示模块设计和语音模块程序设计。附录一:主程序设计公交车自动报站系统是利用gps进行数据采集,实时解算车辆当时的经度、纬度等信息,获得公交车的实时坐标,将其与站台坐标相比较,公交车驶入站台一定距离范围内时,不用
35、人工干预,系统自动进行报站、温磬提示等服务。如果公交车需要临时改变运营线路或更换一些语音广告信息,车载系统将方便、快捷地下载更新语音信息。若是在自动报站状态,则检测gps信息,确定公交车当前的地理位置,决定是否播放语音信息,播放哪段语音信息。主程序的流程实现如下所示:主程序代码: #include regx52.h #include lcd1602.h #define uchar unsigned char sbit p31=p31; /无线信号接收端 sbit p24=p24; /控制快进 sbit p25=p25; /控制播放 sbit led=p10; /到站指示灯 sbit re=p3
36、0; /gps发射端 sbit reset=p34; /语音芯片复位 char i; uchar code dis1=zhaohu z ; /站点内容可更新或增加 uchar code dis2=juyuan z; uchar code dis3=jin shan; uchar code dis4=shang du; uchar code dis5=shi da ; uchar *p; void delay1ms(unsigned int count) /延时1ms unsigned int i,j; for(i=0;icount;i+) for(j=0;j120;j+); void dela
37、y() int i,j; for(i=0;i255;i+) for(j=0;j120;j+); void send() /gps发送 re=0; tmod=0x02; /计数器工作模式:方式2 自动再装入的8位计数器 ea=1; /允许全部中断 th0=0xf3; /高8位计数器作为初值寄存器 tl0=0xf3; /低8位计数器初值 et0=1; /允许计数器0的中断响应 main() lcd_initial(); /lcd初始化 gotoxy(7,0); /显示定位 print(43); /显示站名 gotoxy(0,1); print(next:); i=0; p=dis1; /初始化界面
38、 gotoxy(6,1); /初始定位 print(p); /初始显示 delay(); reset=0; /语音芯片复位 delay(); delay(); delay(); reset=1; p31=1; send(); /gps发射 tr0=1; /启动计数器 while(1) delay1ms(300); while(p31); /判断p31口是否为1,如果是则循环直到是0后往下执行 delay(); p24=0; / 从p24口输出一个负脉冲使fwd有效,指针指向下一段 delay(); p24=1; delay();p25=0; / play有效,播放当前段 delay(); p2
39、5=1; if(i=5)i=0;elsei+; switch(i) case 0:p=dis1; break; case 1:p=dis2; break; case 2:p=dis3; break; case 3:p=dis4; break; case 4:p=dis5; break; ; gotoxy(6,1); /数据指针定位 print(p); /显示 while(!p31) /判断p31口是否为0,如果为0则执行led=0否则led=1 delay(); led=0; led=1; delay(); void ttl(void)interrupt 1 / 定时器/计数器0(tf0) r
40、e=re; / re值取反产生ttl电平附录二:液晶显示模块程序设计1、内部等待函数lcd_wait(void) unsigned char lcd_wait(void) lcdrs=0; /读状态 lcdrw=1; _nop_(); lcden=1; _nop_(); while(dbport&0x80); /判断读写状态使能标志 lcden=0; return dbport; 2、向lcd写入命令或数据子函数lcd_write() void lcd_write(bit style, unsigned char input) lcden=0; lcdrs=style; lcdrw=0; _n
41、op_(); dbport=input; _nop_();/注意顺序 lcden=1; _nop_();/注意顺序 给en一个高脉冲 lcden=0; _nop_(); lcd_wait(); 3、设置显示模式子函数lcd_setdisplay() void lcd_setdisplay(unsigned char displaymode) lcd_write(lcd_command, 0x08|displaymode); 4、设置输入模式子函数lcd_setinput() void lcd_setinput(unsigned char inputmode) lcd_write(lcd_com
42、mand, 0x04|inputmode); 5、初始化lcd子函数lcd_initial() void lcd_initial() lcden=0; lcd_write(lcd_command,0x38); /8位数据端口,162行显示,5*7点阵 lcd_write(lcd_command,0x38); lcd_setdisplay(lcd_show|lcd_no_cursor); /开启显示, 无光标 lcd_write(lcd_command,lcd_clear_screen); /清屏 lcd_setinput(lcd_ac_up|lcd_no_move); /ac递增, 画面不动 6、显示定位子函数gotoxy() void gotoxy(unsigned char x, unsigned char y) if(y=0) lcd_write(lcd_command,0x80|x); /第一行 设置数据指针地址 if(y=1)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商铺装修合同样本
- 水暖电消防承包合同范本
- 2025农作物种子买卖合同范本
- 柴油运输合同范本年
- 演出化妆服务合同
- 范文二手房买卖定金合同
- 委托合同行纪合同居间合同
- 2025【合同范本】房屋土建施工合同范本
- 2024年中考物理(广州卷)真题详细解读及评析
- 简单的橱柜合同范本
- 公众聚集场所消防技术标准要点
- 幼儿园员工手册与规章制度
- 社团活动经费预算申请表
- 经营范围登记规范表述目录(试行)(V1.0.2版)
- 2023年山东省威海市中考物理真题(附答案详解)
- 第八讲 发展全过程人民民主PPT习概论2023优化版教学课件
- 王崧舟:学习任务群与课堂教学变革 2022版新课程标准解读解析资料 57
- 招投标现场项目经理答辩(完整版)资料
- 运动竞赛学课件
- 2022年上海市初中毕业数学课程终结性评价指南
- 高考作文备考-议论文对比论证 课件14张
评论
0/150
提交评论