【基于单片机的公交报站模拟系统设计与实现(论文)7400字】_第1页
【基于单片机的公交报站模拟系统设计与实现(论文)7400字】_第2页
【基于单片机的公交报站模拟系统设计与实现(论文)7400字】_第3页
【基于单片机的公交报站模拟系统设计与实现(论文)7400字】_第4页
【基于单片机的公交报站模拟系统设计与实现(论文)7400字】_第5页
已阅读5页,还剩13页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

基于单片机的公交报站模拟系统设计与实现摘要随着经济的快速发展和区域化建设的扩大,带来的是公共交通的发展,公交车依然是人们出行的主要方式。传统的人工报站方式已经不能满足现在公交车的需要,为了给乘客带来更多的便利性,设计一款公交报站系统就显得尤其重要了。本论文设计的是一款公交报站模拟系统,以AT89C52单片机作为其主控制器芯片,加上了语音模块、LCD显示模块、按键模块等。插上USB接口,按下电源开关,再按下按键后,系统开始自动报站。此外本设计还加装了一个末站示意设备,当到达公交末站时,单片机会给语音芯片传递一个指令,控制扬声器完成下车语音播报。关键词:AT89C52单片机;语音播报;电路模块;目录TOC\o"1-3"\h\u7763摘要 I31946目录 III22175第一章绪论 1306101.1研究背景与意义 1261381.2研究现状 1205551.3研究内容 212935第二章设计方案 289172.1设计思路 2247272.2系统构成 316446第三章硬件电路设计 4183623.1STC89C52简介 4108523.2单片机最小系统 445353.4电源电路设计 6321823.5LCD12864液晶显示电路 792233.6语音播报模块电路的搭建 8167963.7系统硬件原理图的设计 92291第四章软件系统设计 1075784.1软件主程序架构 10324604.2LCD12864显示流程 11178434.3按键子程序流程 12281664.4报警流程设计 12186314.5编程软件简介 138900第五章系统调试 14260475.1焊接调试 14150875.2功能调试 15282025.3问题总结 156134参考文献 17第一章绪论研究背景与意义当今我们所处的时代,交通发展迅速,方式多种多样。公交车是我们代步的主要方法之一[1]。然而,传统的公交车报站存在极大地缺陷,当公交车上人较多时,乘客们很容易分不清到的是那一站,从而坐过站,这给出行带来了极大的不便。所以为了实现公交车的自动报站,设计一款低廉,优异的公交自动报站系统可以很好地满足现实的需求。此外,公共交通智能化系统已经成为了公交信息化系统中不可或缺的一部分了,对于改善公共交通服务,让乘客们有一个很好的乘坐体验的必要手段。它还能很好地说明一个城市的交通现代化管理程度,是解决中国交通问题的一个重要工具[2-4]。公交报站模拟系统在公交车行业中起着不可忽视的作用,因为它可以很好地满足乘客想要更好地乘坐体验。现时,报站方式出现了这么三类,在这三类中,有这样一类牢固的系统:搭载GPS的公交语音报站系统,很多国家的大城市中已经投入实际使用,中国也正在开发这样的产品。但其成本代价极高,很多地方都被迫放弃了。人工报站和相对落后的电子报站依然流行于大都数地区,但其缺点十分明显:那就是依赖于人,离不开人,还有很重要的是其通常建立在有乘务员陪同的情况下,这就不可避免地导致一些错误。这类也就自然而然被抛弃了。为了解决这个问题,本文设计了一种操作简单的报站系统,该系统在C52单片机基础上完成。系统一共有六个站台,用3个按键表示。每到一个地方,按下按键就可以完成报站了。为了使系统更好地进行服务,以满足更多人的需求,还特意设计了下车语音提示。不过,这只有在最后的站台才能生效[5-6]。研究现状在一些发达国家,特别是美国,欧洲部分国家和日本,私家车的数量十分之多,城市交通面临的压力越来越大了。在交通运输方面,发展的重点自然也就倾向于公交行业了,各类具有先进技术的公交报站系统也就一一诞生了,所以这些国家公交车的发展十分健全。一开始的报站形式逐渐被淘汰,取而代之的是自动化和智能化。人工报站是公交车初期采用的,但无人售票的出现改变了这样的格局。取而代之的是由司机手动报站。这样的报站方式同样也存在很多问题,比如极容易出现误报或者错报的情况,因此出现了各种自动报站的设备。其中较为实用的是基于无线射频技术的报站器,它将司机解放了出来。但是这类报站器存在一个棘手的问题:那就是当需要对车站重新规划时,它的报站就明显更不上变化了。举一个简单的例子:公交到了一个地方,它却显示成其他地方了。随着GPS的出现以及推广,现在部分公交车已经配置了GPS报站系统[7]。在我国,随着公交优先战略的明确,缓解城市交通拥堵的重要法宝便是公交系统,伴随着乘坐公交车人数越来越多,现有的公交服务系统面临巨大的压力,越来越跟不上时代的潮流,这显然会影响到公交对乘客的吸引力。所以,怎么样优化公交系统的服务质量,成为现代公交行业的重中之重。我国也走在了发展智能运输的前沿,但技术的推广需要走很长的一段路。因此,开发一款性能优异的自动报站系统以改善公交服务成为了一个重要的研究方向。目前,GPS定位车载智能系统已在国际上广泛的运用了起来,并在我国多个大城市中得到了应用,公交系统的调节也达到了更好的效果。同时,公交自动报站系统的水准越来越高,真正做到了自动报站、无线联络。由于其成本极高,对于我们国家来说,司机辅助、配以半自动化的报站系统依然发挥着很大的作用[8-9]。研究内容本文设计了一款基于52单片机的公交报站模拟系统,主要由两大部分组成:硬件电路和软件系统的设计。硬件方面主要是各电路模块的搭建;利用AD10绘制系统的硬件原理图。软件系统方面主要是:基本程序的编写和优化,能通过编译且达到设计的最终目的;各电路模块的显示流程[10]。在硬件电路以及软件系统的设计完成后,再对电路板进行焊接,完成实物的制作,实验的最终成品要能够演示基本功能,达到设计的要求和目的。设计的内容主要有以下几个方面:依据设计的要求和目的,画出整体工作原理图;根据整体的工作原理图完成硬件电路的设计;利用相关软件绘制出系统的硬件原理图、软件程序的编写和优化;装配相关的电路元件,并及时地做好焊接,调试的工作;最后演示系统的基本功能。第二章设计方案2.1设计思路整体思路的设计需要不断地翻阅各类书籍,一定要保证其工作的合理性。该系统由三个模块组成:检测、显示和报警。CPU方面的选择至关重要,我选用的是C52单片机。当公交车行驶到目的站台时,按键部分开始工作,按下即可完成播报。末站时,单片机将发送一个信号给WT588D语音芯片,系统再传化成具体的信息,提示乘客们及时下车,避免下错车。图2-1就是是整体工作原理图:电源电路电源电路设置按键电路设置语音播报实现单片机处理单元LCD12864显示电路设置图图2-1工作原理图2.2系统构成硬件系统和软件是构成公交报站系统的核心。硬件系统的搭建首先需要我们准备好材料,最为重要的一点是该选用什么类型的单片机。准备工作完成后,第一步要做好的便是制作合适的电子电路。电路图作为整个系统的大脑,用来指导我们进行焊接,将各个板块捏合成一个整体。那么如何使这个系统能正常工作,还需要用到软件部分,这是用来控制整个单片机的。程序的书写是在keil05上完成的,用到的C语言。确定没有错误后才能将生成的hex文件烧录进C52单片机中。STC89C52单片机作为整个系统的核心处理器,整体分为检测部分、显示部分、按键操作和语音播报。LCD12864液晶显示屏将用于显示部分。此外原理图是利用ad10制作而成的。以下为部分元器件的选用:(1)10uf的电解电容;(2)20pf的陶瓷电容;(3)2个1k的电阻、排针和排组等;(4)一个喇叭;(5)3个按键;(6)几个备用的万能板。硬件电路设计3.1STC89C52简介STC89C52单片机是一个高性能的微控制器,具有较低的功率消耗。很多类别的传感器和外设都离不开它的声影。而且它还具有一个十分独特的功能:将收集到的信息进行加工,然后传输给系统的各个模块,广泛运用于工业的生产[11-12],就相当于我们的大脑。此外,一个单片机就相当于一台计算机,它的出现为我们制作各类电器提供了有效的支持。像我们日常生活中使用的电磁炉,手机等内部都存在大量的单片机。C52单片机引脚图如图3-1所示:图3-图3-1C52单片机引脚图3.2单片机最小系统考虑到本次设计需要制作出实物,所以要搭建一个基本的电路系统:由单片机本身外接一个振荡电路和复位电路。振荡电路提供一个特殊的时钟频率,使得单片机能够正常工作。复位电路可以分为两种:上电复位和按键复位。我这里采用的是上电复位,其作用就是当单片机程序跑偏或者卡死时,直接重启电源就可以使单片机从头启动。这跟我们重启电脑一个道理。具体的单片机最小系统如图3-2所示:图3图3-2单片机的最小系统3.3按键控制电路的设计按键其实就是用来进行设置相关的信息参数,其中按键有4个引脚:对角连接到单片机引脚或者GND。12和34引脚是内部导通的,所以只需要12或34连接到单片机或者连接到GND就可以了,按键时输出低电平,松开时输出高电平。按键实物图如图3-3:图图3-3按键实物图按键开关的审核,看的就是高低电平的变化。在按下按键的过程会耽误一点时间,这自然而然地就有了一点偏差。因此,编写按键函数时,必须添加一个去抖函数,提高其精确性。本次设计共含有3个按键:本次车站,下一站以及末班站台。单片机反复依次地扫描按键,判断其是否闭合。图3-4为按键控制电路原理图:图3图3-4按键控制电路原理图3.4电源电路设计整个系统采用USB,5v,2a的直流给整个电路供电[13]。此外,电源模块包含两个部分:电源座子和开关。其中,电源座子为3脚,开关为6脚。外部电源插头的连接靠的是电源座子,开关用来操控整个单片机的开和关。电源座子的2口引脚接地,3口引脚仅仅起到固定的作用,没有特殊的用处,1口引脚连接到电源开关的3口引脚,电源开关的1、3口引脚和4、6口引脚的作用相同,用于电源的正极输出。电源开关的2、5口引脚作为单片机的接地引脚,在使用时采取相对的选择,即选择1、3口引脚作为输出,那么就要选择5口引脚作为接地引脚,选择4、6引脚作为输出端口,2口引脚则作为接地引脚。本次设计的电源电路如图3-5所示:图3图3-5电源电路电源有很多种连接的形式,上面就是一种。3.5LCD12864液晶显示电路当下,液晶显示器的应用无处不在,像我们日常使用的手机,电脑等。同样本次设计也离不开液晶显示屏,我在这里采用的是LCD12864液晶显示屏。它具有很多优点,比如价格低。此外,LCD液晶显示屏不仅仅能够显示数字,还可以显示符号和字母。实物图如图3-6所示:图图3-6LCD12864液晶显示屏LCD12864显示电路如图3-7所示:图图3-7LCD12864液晶显示电路图从字面上我们不难理解,它横向128个点阵,而纵向有64个。这就构成了可以显示中文字符的显示屏。此外,液晶它又分为两种,一个带中文字库,而另一个不带。像我们这里采用的就是带中文字库的,使用起来比较方便。想要显示某个中文,直接在程序里面转码一下就可以了。它还有一个显著的特点就是比较便宜,可操控性也很强!此外,液晶由于光线强度的不一样,从而导致液晶的背光亮度不同。这里接入了一个RT(滑动变阻器),当旋转滑动变阻器时会改变当前的电阻值,即改变了当前的电压,那么v0口会自动调节其液晶的亮度。3.6语音播报模块电路的搭建本次设计的报警模块采用是wt588d语音芯片。它用于语音播报和报警提示。当超声波感应到目标后,会通过C52单片机控制语音芯片来完成当前内容的播报。此外,当检测到低于安全距离时,一样可以触发播报系统。语言芯片电路引脚图如图3-8所示:图图3-8语音播报上图为语言芯片电路引脚图,扬声器就是喇叭,用来进行语音播报。值得注意的是,P03口才是数据引脚,而P02只是一个复位引脚,可接可不接。这里特意说明的一点就是:在播报时可以握住喇叭,这样声音可以更大、更清晰。WT588D它可以有很多种方式进行播报,而我们这里采用的是将当前语音生成一个地址。然后这个地址发送给单片机进行相应的处理。处理好的信息将再次反馈给语音芯片,从而完成下车提示播报的。值得我们注意的是这种语音芯片是一线串口模式。故而,数据的使用依赖p03即可,其他的I/O口均可用作按键。而图中有十个这样的I/O口。WT588D功能优异,可以实现反复擦除和烧录。WT588D不再需要寻找适合控制模式的外围单片机电路。高度集成的微控制器技术可以替代任何复杂的外围控制电路。WT588D上位机操作软件,可以随意改变WT588D中的控制模式,然后通过SPIFlash接收相关的信息。简单易懂的操作方式,再加上语音合成技术,可以快速降低语音编辑的时间。此外,它还可以实现在线下载。即使在WT588D开机的状态下,依然可以通过下载器下载到相关的SPIFlash信息。再通过对语音芯片电路进行一次复位,即可轻松实现对控制模式的更新了。3.7系统硬件原理图的设计本设计利用AD10进行系统硬件原理图的绘制。系统硬件原理图如图3-9所示:图3图3-9系统硬件原理图值得注意的是在进行原理图的绘制过程中,需要对每一个元件的位置进行合理的布局,这样可以有效减少错误,也十分利于布线。第四章软件系统设计4.1软件主程序架构搭建好合适的硬件系统后,接下来开始对单片机和各个板块进行软件设计了。好的构思可以有效地帮助我们开展工作,这时候流程图就显得格外重要了。流程图可以帮助我们清楚的知道每一步该做什么些事情。第一步完成各个硬件的初始化操作,执行后各个电路模块就开始一一的工作了。详细的过程为:LCD12864液晶屏模块初始化,然后按下按键,这时候在液晶屏上会显示出对应的中文站台名称。特别值得注意的是,公交车进入到目的地后,C52会给WT588D传递一个有用的信号,以便通过扬声器完成下车语音的提示,乘客们做好准备,有序地下车。下面是整个主流程图,如下图4-1所示:开始开始LCD12864初始化WT588D初始化LCD12864显示当前信息是否按下按键语音播报当前站台是否按下末站语音播报末站返回否否是是图4图4-1主流程图4.2LCD12864显示流程 LCD12864中DO到D7这几个引脚是反着接到I/O口中的[14-15],故而这里需要一个倒序函数。程序如下:unsignedcharLCD12864B_Reversebit(unsignedcharx){x=(((x&0xaa)>>1)|((x&0x55)<<1));x=(((x&0xcc)>>2)|((x&0x33)<<2));return((x>>4)|(x<<4));}设置完成倒序函数后,首先就是LCD的初始化设定、清屏等一系列的操作。接下来就开始检查LCD忙状态了,也就是读液晶的状态,这里的话看它的时序图即可。从图中不难看出判断它的忙就是去读它的命令(即RS=0)而非它的数据。当BF(最高位)=1的话就是忙的状态,反之为0的话就可以写新的指令与数据了。紧接着就是一个写指令的操作了,RW=0后执行,EN=1后将指令发出去。写数据的操作类似,只不过这里RW=1后再执行。LCD12864显示流程图如图4-2所示:子程序入口子程序入口LCD初始化LCD清屏单片机向LCD写命令单片机向LCD写数据显示数据返回否是图图4-2LCD12864显示流程图4.3按键子程序流程该报站系统中按键电路实现的功能有很多,一共包含了3个按键,前面2个依次表示本次车站和下一站,最后一个按键表示末班。当单片机检测到2个按键被按下时,单片机会控制LCD12864液晶屏显示对应的站台中文名称,当第三个按键被检测到按下时,单片机控制语音芯片进行播报,提醒乘客们有序下车,流程图如图4-3所示:图4-3图4-3按键子程序流程图4.4报警流程设计主函数开始跑动后,要一直检测是否发生中断,一旦检测到紧急报警按键被按下时,就会立即进入到中断函数,单片机驱动三极管控制蜂鸣器完成报警的工作,此外,通过延时函数,单片机还可以控制红色LED灯闪烁,起到提示作用。报警流程图如图4-4所示:子程序入口子程序入口紧急按键是否按下报警返回图图4-4报警流程图4.5编程软件简介我在这里采用的是KEIL5进行程序的编译和调试。KeilC51是用于8051单片机的C51语言编程的集成开发环境,它具有很多优点:生成的程序代码运行速度极快,对存储器的空间要求很低等等。待程序编写完成后,下面我们就需要对其进行编译以及调试了。当确定编译调试没有问题后,在菜单栏里面选择输出文件,就可与生成仿真所需要的HEX文件了。KEIL软件使用界面如图4-5所示:图图4-5KEIL使用界面在这里特别要注意的是使用KEIL软件时,一定要将一个程序设计中所需要用到的,相关联的程序放在同一个文件夹里。否则会极大影响到程序的编译。第五章系统调试5.1焊接调试按照设计的要求,我开始收集需要的器件和一些必备的工具,并且在系统硬件原理图的基础上,着手完成对各个器件的组装以及焊接。要值得注意的一点是焊接工作必须在实验室内进行,并且要得到老师的同意才行。本次我采用的电路板为万能板。第一步先将小一点的元器件进行焊接,例如一些贴片元件。这步完成之后,立刻将排针焊接好。然后分别将其他的元器件一一焊接好,焊接过程这里就不再赘述了。但布局一定要工整,不能随意的焊接。经过不断地调整,焊接工作就结束了。下面接通电源开始进行调试。按下开关发现显示屏正常发光,但会经常闪来闪去。反复测试几次,问题依旧存在。这时候考虑是否是显示屏的原因。重新更换了一个,问题迎刃而解。接着开始测试其他部件能否正常使用。一切正常后,焊接调试就完成了。在焊接过程中,最为重要的一点就是具体问题具体分析,遇到问题结合所学知识一个个的解决。焊接实物图如图5-1所示:图图5-1焊接图5.2功能调试单片机焊接测试达到我的要求以后,接下来就是功能的测验了,主要目的就是看这个实物是否对得上我写的程序。首先接通电源,打开开关。我们能看到显示屏最上面的一行字,这反映了整个系统可以跑程序了。接下来,开始进行按键操作。每当我按一次,系统就会报站一次,且所显示的站台也符合我编写的程序。说明该设备功能的执行没有任何问题。功能的调试到这里也就结束了。实物图如图5-2所示:图图5-2实物图5.3问题总结毕业论文的设计过程中,单片机焊接的时候,出现了一些问题,例如线接错;外设不会合理的摆放好。通过自己不断的修改和调试,最后完成了单片机的焊接工作。然后就是功能调试的过程中也遇到了不大不小的一些问题,首先是实物制作完成后,接通电源发现LCD12864液晶屏即不显示背光又不亮。我首先想到的是会不会是驱动的问题,我开始测试LCD背光的电流、电压是否正常,然而,结果却是正常的。排除这个因素后,我仔细地检查了一下设备,发现排线接反了。找到问题后,我重新焊接,排除了故障。第二个问题是再次上电,LCD12864液晶屏背光亮,按键后却无法进行语音播报。这个问题我首先通过排查LCD12864焊接状况是否良好,然后再逐一去掉外围器件进行检验,最后只保留单片机最小系统,可是依旧没有办法显示。接着我检查是否有错误的焊缝。快要崩溃时留意到了晶振两边的电容数值,发现电容接错了,重新换了个电容,问题这才得到了解决。第三个问题就是发现站台只能显示一半,起初我以为是单片机板子的问题,换了一个后发现并不是。然后我开始从源程序入手,没想到竟然是程序的问题,有3个站台没有写完整。最后我补齐了程序,并且认真的重新检查了程序,在确定无误后,重新开始了单片机的焊接以及功能的调试,最后问题得到了很好的解决。第四个问题就是在进行几轮

温馨提示

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

评论

0/150

提交评论