1、b苏州经贸职业技术学院 学生毕业设计(毕业论文)基于GPS定位公交车自动报站系统设计系 别: 机电系 专 业: 应用电子技术(电子产品营销)班 级: 应电0832班 学 生 姓 名: 李超 学 生 学 号: 指 导 教 师: 王倢婷 王益 12 月 19日目录摘要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.2LCD12864液晶显示
2、电路83.1.3 ISD4004 音频输出电路及按键电路83.1.4 GPS模块接口电路93.2 系统整体电路图10第四章 系统软件研究和设计124.1主程序步骤图124.2语音模块子程序144.3 LCD12864液晶显示子程序15第五章 系统校验165.1系统仿真165.1.2仿真实现步骤165.2系统运行结果截图175.2.1开机界面175.2.2接收信号后17第六章 总结和展望216.1总结216.2展望21致谢22参考文件23附录24摘要智能公交系统是指智能交通系统关键研究内容,此论文设计了一个基于GPS定位公交车自动报站系统,它是利用GPS进行数据采集,从而取得车辆位置信息,并结合
3、了语音播放技术,依据公交车所处位置进行自动报站、温磬提醒之类语音服务。它能够改变传统公交车语音报站必需由司机操控,不然工作落后方法,能够做到不需要人工介入,从而实现公交车报站完全智能化。该系统以GPS定位技术作为基础来实现自动定位,提供自动报站服务。 Intelligent transportation system is an important research content of intelligent transportation system, this paper designed a GPS bus automatic station reporting system base
4、d on it is using GPS data collection, to get the vehicle location information, and a combination of voice playback technology, according to the bus location automatic newspaper station, Wen Qing tips like voice services. It can change the voice of the traditional bus station must be controlled by th
5、e driver, otherwise the work of the backward way, you can do without manual intervention, so as to achieve full intelligent bus station. The system uses GPS positioning technology as the foundation to realize automatic positioning, providing automatic station service.关键词:GPS;自动报站系统; STC89C51 序言从1831
6、英国沃尔特汉考克为她国家制造出了世界上第一辆装载发动机公共汽车起,现在,公交车已经历经过快要2发展过程。从一开始“闷罐头”到现在配套空调系统;从专员售票至无人售票;从人工报站至半自动语音报站,公交车朝着越来越人性化方向设计。可是现在存在一个问题,半自动语音报站系统需要司机在车子进出站时候进行人工操作,因为这两个时间往往是路面情况最复杂时刻,所以轻易给行驶中车辆造成安全隐患。此论文目标就是进行可替换人工操作来实现公交进出站全自动语音报站。利用了STC89C51单片机、ISD4004语音芯片、LCD12864液晶模块来实现需要功效。 单片机体积小,重量轻,拥有很强灵活性且价格廉价,得到越来越广泛应
7、用,比如控制领域、家电产品,智能仪器仪表,计算机外部设备全部相关键用途。在20世纪80年代中期,Intel企业将8051内核使用权以专利交换或出售形式转给世界很多著名IC制造厂商,这么8051以后变成有众多制造厂商支持,并发展出上百个品种大家族。至今,其它任何一个单片机系列全部未发展到如此规模。正因为51单片利用是如此广泛,故学习单片机利用很关键。学好单片机原理也是学习其它嵌入式控制器(如ARM、DSP)基础,任何嵌入式控制器全部不能离开单片机所涵盖(如中央处理器,定时器、中止控制器,IO口控制器, 串行通讯控制器,I2C总线控制器,片内外存放控制器,汇编语言,C语言,操作系统)概念。所以说学
8、好单片机,再学习其它嵌入式控制器(如ARM、DSP)是比较简单。能够说学好单片机是为其它进阶微处理器铺垫。 此次设计课题,是“基于GPS定位公交车自动报站系统设计”, 设计中,利用无线收发模块及编解码实现站台自动识别,经过单片机对液晶模块和语音模块综合控制,来实现全自动语音报站功效。 此次设计以Keil C51开发环境为编程平台进行代码编译、运行,Altium Designer进行原理图设计。第一章 概述1.1GPS中国外发展形势1.1.1国外研究现实状况现在,以GPS为代表卫星导航应用产业已成为当今国际公认八大无线产业之一。伴随技术进步、应用需求增加,GPS以全天候、高精度、自动化、高效率等
9、显著特点及其所独具定位导航、授时校频、精密测量等多方面强大功效,已涉足众多应用领域,使GPS成为继蜂窝移动通信和互联网以后全球第三个 IT经济新增加点。即使含有GPS定位功效公交车市场潜力颇为看好,就现阶段而言仍有几项障碍亟待克服:首先,不管公交车采取内建GPS芯片或是外接GPS模块作为处理方案,这会无可避免地提升公交车运行成本,也影响消费者购置意愿;最终,现在含有提供整合GPS芯片和无线通信技术企业屈指可数,且公交车制造厂是否愿意采取现有处理方案,或是另外自行开发,仍是未定之数。经过近20年发展,GPS已逐步转变为消费型电子产品,且所能应用范围已经扩展到日常生活通信、PDA、定位信息等。不过
10、,经过现阶段来看,因为 GPS接收机单芯片化技术、价格和市场应用服务等仍未成熟,所以,在乐观地看待市场发展时,诸如GPS IC设计技术是否能达成公交车、PDA所需最小体积、成本是否降低和内建GPS新公交车系统能否引发消费者青睐等问题,仍必需审慎地进行深入评定。1.1.2 中国发展现实状况中国GPS市场展现出两个关键发展趋势。(1)以车载导航为关键移动目标监控、管理和服务系统。在GPS应用领域,车辆应用所占百分比较大。最初GPS车辆应用通常分为车辆跟踪和车辆导航两大系统。但当摩托罗拉企业推出集车辆导航和跟踪于一体车辆信息系统后,它就成了发展方向。GPS车辆定位监控系统关键有自导航应用和中心监控两
11、种方法。车辆监控系统是集GPS技术、无线通信技术和地理信息系统技术于一体综合车辆管理系统。通常行业用户车船队监控全部采取中心监控方法,系统由监控中心、在监控中心主站和安装在移动车辆上子站等3部分组成。系统工作原理是:安装在车辆上GPS接收机依据收到卫星信息计算出车辆目前位置,通信控制器从GPS接收机输出信号中提取所需要位置、速度和时间信息,结合车辆身份等信息形成数据包,然后经过无线信道发往控制中心。控制中心主站接收子站发送数据,并从中提取出定位信息,依据各车辆车号和组号等,在监控中心电子地图上显示出来。同时,控制中心系统管理员能够查询各车辆运行情况,依据车流量合理调度车辆。(2)面向个人消费者
12、GPS终端产品。芯片小型化技术、生产成本降低、体积和耗电量减小等有利原因,使GPS产品走下神坛、深入到大家日常生活中。现在面向个人消费者产品关键有车载自主导航系统、移动监控终端和消费类电子产品。有集成了GPS芯片和地理信息系统数字地图移动通信手机、GPS手持机、GPS 手表,甚至GPS相机等,也有基于掌上电脑和笔记本电脑等移动设备插卡(CF卡式GPS接收机)式、外接(GPS接收机)式等集成产品。1.2 课题研究内容及目标自动报站系统是智能公交系统组成部分,公交车自动报站系统是利用全球定位系统(GPS)进行数据采集,依据公交车所处位置进行自动报站、温磬提醒等服务,它将电子、控制、计算机、通信等实
13、用技术集中利用于公共交通系统,改造旧服务模式,建立全新服务体系,不仅提升了其服务质量,同时也将为公交企业和社会带来较大经济和社会效益。1课题关键研究内容针对中国中小城市,自主研发一套基于GPS公交车自动报站系统。该系统采取GPS卫星定位技术,根本改变传统公交车语音报站必需由司机操控才能工作落后方法,在公交车进站、出站、拐弯时能立即、正确地自动播报站名及服务用语,实现公交车报站完全智能化。在进行系统设计时,除了实现系统要求功效以外,同时,因为系统是安装在公交车上,属于车载终端设备,所以必需兼顾电源、功耗、体积等原因,且还要考虑到产品成本、开发工具、研发周期等问题。基于以上原因,整个系统采取了AT
14、89C51单片机作为主控制器设计思绪。2课题研究目标本课题研究是基于GPS公交车自动报站系统,目标是使公交车经过GPS定位,正确获知而且确定车辆位置,然后经过液晶显示站点信息,提醒灯变亮,再由音频系统自动播报站名,从以前完全手动控制变为选择性自动控制,以提升公交系统正确性和安全性。第二章 整体框架及方案比较本系统要实现依据公交车经过不一样路段,然后经过GPS系统定位报出站名功效。系统关键有两大部分,主控制程序单片机和语音芯片部分。每个部分全部有不一样方案可供选择。2.1系统整体框架结构图本设计整体思绪是:经过按键电路和GPS定位系统输入地段信息,直接输出数字信号给单片机AT89C51进行处理,
15、在LCD液晶频上显示目前站名信息。同时经过语音芯片输出放大后语音信息。其结构框图图所表示:GPS模块音频输出音频放大AT89C51扬声器LCD按键电路图2.1 整体框架结构图2.2单片机选择现在基于此课题设计方案关键有两种,分别是基于FPGAVHDL语言设计,基于AT89C51单片机设计,下面具体分析多种设计方案优缺点。方案一:基于FPGAVHDL语言设计 优点: FPGA是一个高密度可编程逻辑器件,器件集成度高,方便易用。FPGA在通信、数据处理、网络、仪器、工业控制、军事和航空航天等众多领域得到了广泛应用。伴随功耗和成本深入降低,FPGA还将进入更多应用领域。 缺点:用VHDL语言编写程序
16、极难实现符合这个课题效果,在逻辑算法上也不及51单片机来得灵活。在仿真环境上无法表现出需要实现功效,不太适适用在这个课题上。 方案二:基于AT89C51单片机设计 优点:51单片机含有高效能,资源占用率低等特点。现在51单片机使用很广泛,相关51单片机设计开发资料很丰富,很适合初学者自学。使用C语言编程能够实现丰富功效,在Proteus仿真环境上也能够很好地表现出本设计欲达成效果。 缺点:对多线程同时需要共享资源任务处理性能有限,无法满足现今对实施效率和存放容量全部有较高要求信息家电等需要。在多任务处理能力上根本无法和基于嵌入式操作系统构架方案同日而语。 本设计采取方案二以AT89C51作为单
17、片机。因为本课题属于小型项目,信息处理量不大,采取FPGA设计存在成本高,开发过程复杂等情况,本项目并不能发挥出这些芯片强大功效。基于以上优缺点分析我选择了第2种设计方案。选择ATMEM企业AT89C51作为控制芯片,成本低,开发周期短,配合多种专用芯片使用能够实现丰富功效。能够在Proteus仿真环境中很好表现出设计所要实现效果。2.3语音芯片比较本论文关键考虑了两种语音芯片,ISD1700S语音芯片和OTP语音芯片,而且对它们做了分析比较。方案一:语音芯片ISD1700SISD1700S 系列芯片是华邦企业新推出单片优质语音录放电路,是ISD1400S和ISD2500S升级产品。该芯片提供
18、多项新功效,包含内置专利多信息管理系统,新信息提醒(vAlert),双运作模式(独立&嵌入式),和可定制信息操作指示音效。芯片内部包含有自动增益控制、麦克风前置扩大器、扬声器驱动线路、振荡器和内存等全方位整合系统功效。 特点: 可录、放音十万次,存放内容能够断电保留一百年 两种控制方法,两种录音输入方法,两种放音输出方法 可处理多达 255 段以上信息 有丰富多样工作状态提醒 多个采样频率对应多个录放时间 音质好,电压范围宽,应用灵活,价廉物美 电特征: 工作电压:2.4V5.5V,最高不能超出6V 静态电流:0.5-1uA 工作电流:20mA 可利用振荡电阻来自定芯片采样频率,从而决定芯片录
19、放时间和录放音质,而芯片采样率能够经过外部振荡电阻来调整方案二:语音芯片OTPOTP能够PWM直接驱动喇叭,也能够经过三极管放大后驱动喇叭,TG1、TG2只能作为输入触发端(和正电源导通时,触发语音播放)另外TG11、TG12既能够作为输入触发端,也能够作为输出驱动端,能够选择播放语音时TG11/TG12输出1HZ闪光、3HZ闪光、6HZ闪光或常亮模式,这么就能实现在播放语音同时LED闪光或实施其它动作,如电机运转等。OTP语音芯片特点 性能高度集成外围无需任何元件,只需一个104滤波电容。 体积超小有DIP8,SOP8两种封装方便用户使用、低电压供电,静态基础不耗电。 音质效果好,音量大 支
20、持多个控制方法,按键控制和单片机串行脉冲控制.语音可分成32段. 批量价格含有绝对优势,交货周期短7天。 输出方法有PWM ,DSK驱动喇叭。本系统中采取方案一。方案一采取ISD1700 系列芯片含有优质语音录放功效,芯片内部包含有自动增益控制、麦克风前置扩大器、扬声器驱动线路、振荡器和内存等全方位整合系统,含有更大灵活性和更低成本,能够充足发挥单片机效能。而因为方案二中芯片价格相对较高,且本程序较小不需要如此高性能芯片,所以相比之下选择方案一最适合。第三章 系统硬件研究和设计系统硬件电路关键包含按键电路,JHD162A液晶显示电路,ISD1700S音频输出电路和GPS模块接口电路。每块电路经
21、过和单片机连接组合,实现其各自功效。3.1各部分电路图3.1.1单片机最小系统AT89C51单片机时钟电路能够由三种方法组成,即内部时钟方法、有源晶振方法和外部时钟信号方法。本自动报站系统为内部时钟方法,即采取外接晶振和电容组成并联谐振电路, AT89C51能够工作在20MHz频率下。电路图3-1所表示复位电路关键完成系统上电自动复位和系统在运行时用户手动按键复位功效。在本系统中采取较简单RC复位电路,单片机在上电瞬间,RST引脚端出现正脉冲,实现自动复位。经实践使用证实,其复位逻辑稳定、可靠。电路图图3-1所表示。图3-1单片机最小系统电路图3.1.2 JHD162A液晶显示电路为了能方便直
22、观了解到目前地段站名和信息,显示内容关键为16字符x 2行,字符点阵为5 x 8点,采取驱动方法为1/16D。基础操作时序为读状态:RSL,RWH,EH ;写指令:RSL,RWL,D0D7=指令码,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模块信息输入,在按键模式工作时,芯
23、片能够经过/LED 管脚给出信号来提醒芯片工作状态,而且伴随有提醒音,ISD1700S芯片含有语音录放功效,经过不一样数字信息输入,系统将会把先前收录好语音经过音频放大器进行处理,最终经过扬声器喇叭播报出来。本系统兼有按键操作功效:按下 REC 键,/REC 管脚电平变低后开始录音,直到松开按键使电平拉高或芯片录满时结束。(1)录音结束后,录音指针自动移向下一个有效地址,而放音指针则指向刚刚录完那段语音地址。(2)放音操作:放音操作有两种模式,分别是边缘触发和电平触发,全部由/PLAY 管脚触发。(3)快进操作:点按一下 FWD 按钮将/FWD 端拉低,会开启快进操作。快进操作用来将播放指针移
24、向下一段语音信息。设计电路图图3-3所表示。图3-3 ISD1700S音频电路图3.1.4 GPS模块接口电路因为电源电压要求为+5.0V5%(即+4.75V+5.25V),所以模块引脚1、引脚2,引脚3均接系统+5V电源。因为该模块无需初始化,上电后模块即可自动接收和发送定位数据,故不需要对其进行控制操作,即系统无须向GPS模块发出控制指令。另外,GPS模块工作电源是+5V,而AT89C51单片机I/O电压为+3.3V,所以在GPS模块和AT89C51单片机之间串接27K保护电阻。具体硬件接口电路图3-4所表示:图3-4 GPS模块接口电路3.2 系统整体电路图系统关键经过单片机AT89C5
25、1处理:GPS模块接口电路,按键电路,ISD1700S音频输出电路和JHD162A液晶显示电路。单片机主芯片经过对按键电路和GPS模块信息处理,将信息发送到音频输出电路和LCD液晶显示电路,从而能够明确获知该地段站名和正确播报信息。系统总体硬件设计电路图3-5所表示。图3-5 系统整体电路图第四章 系统软件研究和设计在自动报站系统硬件电路设计和实现以后,还需要配合设计完善程序才能完全实现自动报站系统各项功效。在本系统中,关键设计了主程序步骤图,语音模块子程序步骤图,而且简单分析了各程序运行步骤。4.1主程序步骤图主程序关键包含各个部分子程序调用。程序初始化后,系统出现开机界面,液晶显示频显示下
26、一站站名。本程序关键兼有两种控制方法:按键控制和GPS接收控制。程序接收到信息后语音将自动播报到站信息,液晶显示频显示下一站,下车指示灯亮。选择NO,则是继续行车报站,选择YES,则停止行车,终止系统。主程序步骤图4-1所表示。开机界面液晶显示下一站是否选择GPS模式?GPS接口电路按键扫描语音播报目前到站信息液晶更新显示下一站下车指示灯亮接收GPS?按键按下?是否停止行车?NNYYYNYN结束图4-1 主程序步骤图4.2语音模块子程序ISD1700S语音模块子程序关键是接收主芯片发送过来音频信号,然后由P25端输出一个负脉冲信号,语音芯片内部指针指向本站点语音段头,再由P26端输出一个负脉冲
27、信号,经过音频放大,经过扬声器播放目前指针指向语音段。步骤图图4-2所表示开机界面P25输出一个负脉冲,语音芯片内部指针指向本站点语音段头 P26输出一个负脉冲,播放目前指针指向语音段 结束收到信号开始是否接收信号?是否播报语音信息?NYY图4-2 语音模块步骤图4.3 JHD162A液晶显示子程序JHD162A液晶显示子程序关键经过接收主程序发出信号,将其设置输入为模式子函数形式,并初始化LCD子函数,显示定位子函数,显示字符子函数,站点信息设置及调用,最终显示站名信息。步骤图图4-3所表示。开机界面显示站名信息接收信号设置输入模式子函数LCD_SetInput()初始化LCD子函数LCD_
28、Initial()显示定位子函数GotoXY()站点信息设置及调用结束显示字符子函数开始是否初始化LCD?YN图4-3 JHD162A液晶显示步骤图第五章 系统校验软件调试关键使用是Proteus集成开始环境和Keil 软件。Keil软件提供了丰富函数和功效强大集成开发调试工具。编译后调试运行,生成HEX文件后直接烧写到AT89C51芯片中,进行系统软件仿真。5.1系统仿真 SIGNAL:模拟GPS接收信号。 GPS接收端收到信号后会从高点平跳变为一个连续低电平直到信号消失,因为Proteus里没有语音器件所以用开关来替换。 D1:播放 灯亮说明/PLAY使能,模拟按键开关负脉冲 D2:快进
29、灯亮说明/FWD使能,模拟负脉冲。 D3:到站指示灯亮,语音播报结束后,到站门开,指示灯D3亮,直到信号消失。 LCD模块:初步选择字符型液晶,能够显示公交车名和下一站站名。在每个SIGNAL信号下降沿跳变显示下一站站名,不然保持不变。 5.1.2仿真实现步骤 公交车在离站100米左右收到GPS信号,SIGNAL给出连续低电平直到车子驰离站点。 这期间可分为三段。 T1:公交车从接收到信号到停靠到站 T2:停靠 T3:驰离公交站,信号消失 T1期间当单片机检测到SIGNAL信号下降沿时,液晶就显示下一站站名同时给D2一个负脉冲,将语音芯片播放指针指向下一段;延时后再给D1一个负脉冲,播放目前指
30、向语音段。然后D3指示灯亮。 T2期间,指示灯D3保持亮状态。语音播报完成。 T3期间,车子驰离信号区,SIGNAL信号上升沿,指示灯D3熄灭,其它不变。5.2系统运行结果截图5.2.1开机界面当系统开机时,系统进入初始化界面。单片机C语言程序自动默认为预设站点,液晶显示该站名信息为“ZhaoHu Z”,此时LED指示灯均灭。图5-1 系统初始化界面5.2.2接收信号后系统接收到GPS发送信息后,单片机P25端口输出一个负脉冲信号,语音芯片内部指针指向本站点语音段头,语音芯片指针下移一位,此时控制开关闭合LED2-BLUE灯亮。接着单片机会在P26端口继续输出一个负脉冲信号,播放目前指针指向语
31、音段,此时LED2-BLUE熄灭,LED1-YELLOW灯亮。公交车继续向前行驶,依据GPS定位系统向单片机输入信息,液晶显示下一站站名更新,即“JuYuan Z”,此时P1.0端口连接LED3-GREEN提醒灯灯亮,待公交车停靠站点后,LED灯灭。 图5-2语音芯片指针下移一位图5-3语音报站图5-4LCD显示下一站站名更新图5-5到站指示灯亮图5-6指示灯灭第六章 总结和展望6.1总结智能交通系统是现在世界上交通运输科学技术前沿,智能公交系统是智能交通系统研究一个关键方向,它建立将最大程度地提升车、路资源利用率,提升公交服务质量,从而发明巨大社会经济效益,所以对智能公交技术研究含有深远意义
32、。全球定位系统GPS已经广泛应用于各个领域。GPS能够确定公交车地理位置,只要把公交站点位置数据(经度和纬度)统计下来,就能够知道公交车是否处于进站、到站和出站状态。利用GPS实现公交车智能报站,大大降低驾驶员工作量,提升公交车运行过程中安全系数,是公交智能化重大改善。所以,本文对GPS定位、语音播放,液晶显示等技术作了具体研究和讨论,总结以下:1)系统总体方案设计。提出了以AT89C51单片机作为主控制器硬件总体设计方案,语音报站和信息显示同时。2)系统硬件电路设计。分析设计了各部分电路,包含液晶显示电路、音频输出电路及按键电路,GPS接口电路等,实现了整个系统硬件电路功效。3)系统软件设计
33、。研究分析了系统主程序,液晶显示模块程序设计和语音模块程序设计等。另外,本文还对GPS在车辆定位进行了相关研究,提升系统定位可靠性和完整性。6.2展望因为时间和精力有限,本文没有设计实现DR系统定位硬件电路,但系统MCU留有足够I/O口能够使用。本文研究GPS定位中数据融合方法采取是简单模式切换,该方法优点是算法简单,轻易实现,但这种方法没有充足利用多传感器冗余信息来提升定位精度和可靠性,以后能够考虑用紧耦合和松耦合多传感器信息融合方法来完善系统定位精度和可靠性。系统下一步发展趋势是将GPS自动报站系统和GPRS技术和GIS相结合,即把GPS定位、GPRS无线通信网和城市地理信息系统结合起来,
34、对城市公交车辆进行实时监控,能够实时掌握整个路网交通多种情况,进行即时分析、处理和估计,并以最快速度反馈给行驶中每个车辆,优化行车路线,以最好方法、最短时间将乘客载至目标地,使车辆和道路智能化,建立智能公共交通营运和调度系统,深入促进智能公交系统发展。致谢在本毕业设计写作过程中,我指导老师王益老师倾注了大量心血,为我确立了研究方向,从论文选题、构思、编排等方面给我详尽指导。到一遍又一遍地指出每稿中具体问题,严格把关,循循善诱,王老师深厚理论功底和丰富经验对我课题完成起到了至关关键作用。在此,谨向王老师致以高尚地敬意和由衷地感谢。同时我还要感谢在我学习期间给我极大关心和支持各位老师和关心我同学和
35、好友。当然,在我求学期间,还要感谢我深爱父母亲一直以来对我无怨无悔付出、支持、关爱、尊重和信任,在我学习、生活、感情、工作上碰到困难时,是您们帮我抵御风霜,谢谢您们。我是幸运而幸福,我知足而且义无反顾在大家关爱下坚持自己信念和理想一路前行。参考文件1 AT89C51汉字资料手册EB2 ISD 1700 系列数码语音电路使用手册EB3 多用途DF无线数据收发模块EB4 LCD1602A汉字资料手册EB5 PT2262/2272编解码集成电路介绍EB6 孙育才.MCS51系列单片机微型计算机及其应用M.南京:东南大学出版社,。 7 周波,冯顽童,胡建龙等.公交车自动报站系统设计J.四川理工学院学报
36、:自然科学版, 。8张伟,孙颖,赵晶.Protel 99 SE高级应用M.北京:人民邮电出版社,.9曹丙霞,赵艳华.Protel 99 SE原理图和PCB设计M.北京:电子工业出版社,。10朱定华,黄松,蔡苗.Protel 99 SE原理图和印制板设计M.北京:清华大学出版社,。附录本附录关键分析设计了三个C语言程序,其中包含系统主程序设计,液晶显示模块设计和语音模块程序设计。附录一:主程序设计公交车自动报站系统是利用GPS进行数据采集,实时解算车辆当初经度、纬度等信息,取得公交车实时坐标,将其和站台坐标相比较,公交车驶入站台一定距离范围内时,不用人工干预,系统自动进行报站、温磬提醒等服务。假
37、如公交车需要临时改变运行线路或更换部分语音广告信息,车载系统将方便、快捷地下载更新语音信息。若是在自动报站状态,则检测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=P30; /GPS发射端 sbit reset=P3
38、4; /语音芯片复位 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 delay() int i,j; for(i=0;i25
39、5;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; /初始化界面 GotoXY(6,1); /初始定位 Print(
40、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(); P25=1; if(i=5)i=0;elsei+; sw
41、itch(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) re=re; / re值取反产生TTL电平附录二:液晶
42、显示模块程序设计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; _nop_(); DBPort=input; _nop_
43、();/注意次序 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_COMMAND, 0x04|InputMode); 5、初
44、始化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)