基于单片机的公交车报站器的设计Word格式文档下载.docx
- 文档编号:18587530
- 上传时间:2022-12-28
- 格式:DOCX
- 页数:16
- 大小:255.13KB
基于单片机的公交车报站器的设计Word格式文档下载.docx
《基于单片机的公交车报站器的设计Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的公交车报站器的设计Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。
sDailylifepartner.Ontheonehand,theurbanairpollutionisserious,thegovernmentisencouragingpeoplelessprivatecars,moreusepublictransportation.Somecountriesevenspecifytoprohibitmotorvehicle,adaytoalertpeopletotheseriousnessofthepollutionoftheenvironment.Trafficcongested,ontheotherhand,largeandmedium-sizedcities,suchaslargecitiessuchasBeijinghadtotravelregulationslimitprivatecars,forcingpeopletousepublictransport.Hence,abusortravelindispensabletoolofthemasses.
Traditionalbussellsticketsinartificialway,awasteofmanpower,whiletherearestillmanyproblems.Forexample,manyflightattendantswithaccents,mandarinisnotverystandard,sothatforeignpassengerscannotunderstandtravelinformationaccurately.Therefore,unmannedbusesincitieswillbeatrend,thebusesvoiceannouncer’srolealsoincreasinglyprominent.Busvoiceannouncerroleistotellthepassengercartowheretostart,approachingthestationname,aswellassometips,suchasturningofthevehicleortoremindseats.Busstations-reportedupforthelackoftraditionalartificialbusstops,peoplecanmakeanaccurateknowledgeofpassengertravelinformation.
ThedesignapplicationSTC89C52microprocessor,ISD4004voicechip,8*8dotmatrixdisplaymoduleand4*4keyboardcontrolmoduleforsimplebusstationssystem.Recordandgenerateallkindsofvoicepromptsandstopsbyvoicecontrolcircuit.callprogramstatementtoplayavoice,atthesametimecarryoutthecurrentstationnameusingLEDdisplay.Thenewspaperstation'
shardwarecircuitissimple,softwarefunctionisperfect,thecontrolsystemisreliable.Itiscost-effective,withgoodpromotionalvalue.
Keywords:
STC89C52;
busstations-reported
第1章绪论
1.1课题研究背景及意义
随着中国城镇化水平的提高,大量人口涌向城市,城市交通系统已不堪重负。
同时,中国的持续高速发展及粗放型的开发方式,使环境污染日益严重,现在已经成为影响人们日常生活的重要问题。
政府鼓励人们更多的使用公共交通出行,以减轻对城市交通及环境的压力。
同时,公交车方便快捷的乘坐方式及实惠的价格也是普通大众出行首选[1]。
传统公交车有很多需要解决的问题,乘务员在传统公交系统中一直负责报站的重要任务。
但是这种方法事倍功半而且工作强度很大,在很多发达城市已经摒弃不用了。
近几年来世界乃至我国的科学技术飞速发展,在许多领域微机技术已经变成主导。
在现今声学的领域里,公交车语音报站器已经成为可能,可以使用微机与语音芯片相结合来完成语音合成的技术来实现这个目标,从而使市民有了更加人性化完善的服务。
因此,介于以上问题及原因综合实际使用情况,为了解决传统公交存在的报站问题,本文设计了公交车语音报站器,在即将到站时进行语音提示同时显示到站名称。
1.2国内外研究现状
最近几年,我国经济稳步快速发展,人口数量呈几何递增,人口及环境问题给城市带来了双重压力。
私家车的数量急剧增加,更是使原本就拥堵不堪的城市交通情况雪上加霜[2]。
在现代城市里,公共汽车已经成为普通大众出行所必不可少的交通工具,人们花费在路上的时间越来越长,公交车的乘车体验直接影响到人们的日常生活。
目前在国内的大中城市中,无人售票公共汽车已经成为主流,采用公交车语音报站器来提示到站信息。
但是在一些不发达城市,仍然存在着人工售票方式,售票员报站会因为拥挤及口音给乘客带来很多问题。
在欧美的一些大城市,电子信息技术和计算机技术已经大范围应用于公交系统,公交车上普遍使用自动定位报站器,极大的提升了公交车的经营效益和服务水平。
公交车报站器在公共交通事业中的作用十分重要,它直接影响着公交车的服务质量和人们的出行体验。
现在,国内外普遍采用的报站方式主要有三种[3]。
一种是利用GPS全球卫星定位系统的公交车自动报站器,这种报站器系统稳定,功能强大,可以根据卫星定位自动播报到站位置,美国的一些城市已经投入使用。
我国也在研制此类产品,但是由于系统复杂,投资昂贵,较难在我国城市推广使用。
另一种是我国之前普遍采用的人工报站方式,它的服务质量直接依赖于售票员,容易给外地乘客带来不便,在没有售票员的情况下会大大增加司机的工作强度,这种报站方式现在已经越来越少了。
最后一种是公交车电子报站器,到站时有司机进行手动控制,可方便快捷的进行语音播报及汉字显示。
这种报站器不像GPS报站器那么昂贵,很适合推广使用,是最符合中国国情的公交车报站器。
1.3主要设计目标
以单片机作为控制核心,采用键盘作为人机交互手段,并用LED点阵和语音模块实现一套简单、实用的公交车报站器,可以实现以下的功能:
①能够在到站、离站时进行准确无误的语音提示。
②能够在显示屏上准确显示到站信息。
③能够具有上车键、下车键、爱心键、转弯提示键等主要功能键。
④能够非常方便的修改语音提示信息。
1.4本文研究内容
针对我国城市公交车的应用现状,自主研发一套基于单片机的公交车报站器。
改变之前公交车由售票员报站的落后模式,在公交车即将到站、即将离站以及车辆转弯时由司机操作报站器,语音播报提示的同时在显示器上显示当前站和将要到达下一站的站名汉字。
公交车报站器是安装在公交车上的,属于车载终端,在系统设计时除了要实现基本功能外,还要同时做到稳定供电、功耗较小、体积轻便等方面,而且也要兼顾易于开发、成本低廉、研发周期短等要素。
因此本设计采用STC89C52单片机作为系统的主控制器。
在系统设计中,本文将从单片机系统、显示电路、语音电路方面分别展开研究,系统是基于单片机的公交车语音报站器,包括公交车报站器的总体研制方案、报站器硬件电路并实现、软件系统并实现、软件仿真验证。
第2章系统硬件设计
2.1基于单片机的公交车报站器系统总体设计
系统以单片机STC89C52为控制核心,总体可划分为中央处理单元、键盘单元、显示单元和语言单元等几部分[4],如图2.1所示。
中央处理单元负责对控制器的整体控制和数据处理。
键盘单元进行按键输入,选择所要播放的语音和显示的汉字。
显示单元对所要播放的汉字进行显示。
语音模块包括两部分:
录音和放音。
录音部分的作用是进行站名的信息的录入,放音部分是将所要播放的信息进行播放。
图2.1硬件设计框图
2.2电源系统设计
为了满足系统调试和正常工作两种不同的工作环境下对于电源的要求,电源系统设计了两个供电电源:
一种是通过USB连接,另一种是3脚稳压电源。
当调试程序的时候,可以直接通过USB给本模块供电,只需要简单的双向USB连接线与一条USB转串口线就可以把程序下载到开发板上运行了[5]。
三角稳压电源采用了市场上常见的5V,1A直插式电源,不必为找不到合适的适配电源而烦恼。
另外,本设计中所应用的ISD4004语音芯片的供电电压为3.3V,所以需要用LM1117-33芯片来提供3.3V的工作电压,具体的电路图设计如图2.2所示。
图2.2电源系统电路图
图2.2中,J1为USB接口,J2为汽车电瓶接口,输入电压为28V,7805的输入电压范围宽达4.5V~36V,完全能够满足电压转换需要,JP1为跳线接口,可以通过跳线将12相连或将34相连对系统进行供电,12相连是选择USB供电,为程序下载模式,而34相连为工作状态,由公交车电瓶对系统进行供电。
最终得到的5V电压(图中VCC)为单片机、显示电路等器件进行供电。
图中的LM1117-33芯片的作用是将5V电压转换为3.3V(图中VCC33)电压为ISD4004语音芯片进行供电。
2.3中央处理单元
中央处理单元的作用是扫描公交报站器中的按键,根据扫描结果采取相应的动作,是整个报站系统的数据处理核心。
本文将采用STC89C52单片机作为CPU进行设计。
2.3.1STC89C52单片机主要特性
STC89C52是一种低电压,高性能的CMOS8位微处理器,STC89C52单片机内部带有大小为8K的只读存储器,可以进行擦除编程。
STC89C52单片机采用ATMEL存储制造技术,密度很高,而且数据安全、不易丢失,并且可以兼容MCS-51的标准输出管脚和指令集。
该款单片机是一种高效的微控制器,芯片封装是40引脚封装,分别有贴片和双列直插两种不同的封装形式,本文将采用双列直插(DIP40)的封装形式,如图2.3所示。
图2.3STC89C52单片机的DIP40封装图
2.3.2单片机的最小系统
单片机最小系统是一种最简单的电路系统,也是保证单片机可以正常开机、运行程序的关键电路,是维持单片机正常工作所必不可少的电路系统。
一般来说,单片机最小系统包含单片机本身和复位电路、时钟电路、通信电路以及存储器。
从上面的介绍中我们可以看到,STC89C52单片机自带程序存储器,大小为8K字节,所以STC89C52单片机的最小系统主要包括单片机、复位电路、时钟电路以及通信电路。
单片机最小系统的原理图如2.4所示。
图2.4STC89C52单片机最小系统原理图
从图2.4中可以看到,本设计的单片机最小系统由晶振电路、复位电路和串口通信电路三部分组成。
本文选用12MHz的晶振来产生系统时钟,方便进行比较精确地延时,从而减小与ISD4004芯片进行SPI通信时产生错误的概率,但这个频率下的串口通信不能达到标砖的9600bps的波特率,本设计中串口只是用来下载程序,故综合这两点考虑,选择了12MHz的晶振,晶振两端的30pF的电容是用来协助启振,并有一定的滤波作用。
复位电路选用按键复位电路,这种电路方便进行硬件陶氏工作。
串口通信线路选择MAX232芯片进行电平转换。
2.4语音播报模块
2.4.1ISD4004语音芯片
本设计中所采用的语音芯片是ISD4004语音芯片,由美国ISD公司推出,性能稳定,品质优良,具有很多其他语音芯片所不具备的优点。
首先,录音时不需要通过A/D转换和压缩,不会使声音出现较大失真,对每段录音的时间长度没有限制;
其次,存储时间长,在不外接电源的情况下可保存数据一百年,可多次重复录放至十万次以上,该语音芯片使用快速闪存作为存储介质,不需要额外扩充存储器即可直接使用;
第三,芯片需要的外围电路十分简单;
最后,录音时间长,最多可长达十六分钟。
2.4.2语音电路设计
本设计中,将采用ISD4004语音芯片来完成声音录放功能,采用LM386音频放大芯片对ISD4004的输出信号进行功率放大后接一个“8Ω,1W”的喇叭进行语音播报,用一个麦克风作为声音录制的输入,对站名等语音进行录制,由ISD4004语音芯片和LM368功放构成的语音播报电路图如2.6所示。
图2.6采用ISD4004芯片的语音播报模块电路图
从上面的介绍中可知,ISD4004语音芯片采用SPI串行通信协议与单片机之间进行通信,SS为片选端,每次写入指令的时候都需要将SS拉低,之后将要发送的数据写到MOSI端,由SCLK端产生一个脉冲,再写入下一位,就这样一位一位的写入,对ISD4004进行操作。
同时也可以根据地址选择所要播放的语音片段。
考虑到该系统运行在公交车上,工作环境较为嘈杂,而芯片本身驱动功率比较小,单独使用扬声器播报的声音音量较小,无法满足工作要求。
因此本设计中,在ISD4004芯片口和扬声器之间连接低频功率放大芯片LM386,放大播报声音,以确保乘客在嘈杂的环境下也能清晰的听到报站信息。
LM386是一种性能优良的音频功率放大器,由美国国家半导体公司生产。
LM386具有很多优点,如芯片功耗非常小、可使用的电源电压范围较大、总谐波失真小等等。
目前,LM386在录音机和收音机的生产中应用十分广泛。
在图2.6中,R4为输入阻抗匹配电阻,调整为5kΩ左右即可,通过调整R5的值可以调整功率放大倍数,范围是20-00。
LM386的输出阻抗为8Ω,能够完美与所选喇叭进行匹配。
2.5显示模块
2.5.18×
8点阵模块
本设计的显示模块采用LED点阵显示系统,它包括静态显示和动态显示两种工作方式。
其中,静态显示方式易于理解,且控制方便,但是在实际应用中硬件接线十分复杂,不适合批量生产使用。
动态显示方式的基本工作原理是逐行扫描,由较大的窄脉冲从上到下扫描显示屏各行,同时向各列发送脉冲信号,该脉冲信号带有想要显示的图形或文字信息。
如此循环往复,显示屏上就会显示出我们所要表示的信息。
在本设计中,我们选择较易于实现的动态显示方式。
一个8×
8的点阵是由64个发光二极管按一个规律组成的,如图2.7所示是一个共阴型的8×
8点阵,各行给高电平信号,各列给低电平信号。
图2.78×
8点阵组成图
目前,LED显示屏使用十分广泛,而使之可以推广使用的生理性基础就是视觉惰性。
视觉惰性是指当光源消失时,人眼的亮度感觉并不会立即消失,而是有一个延时。
这是因为,人眼在处理和传输亮度信息时需要一定的时间,从而使视觉具有低通性。
目前广泛使用的扫描驱动方式就是人们充分利用人眼的视觉惰性而改良的驱动电路。
扫描驱动方式的特点在于不是给每一给灯泡都提供单独的驱动电路,而是将若干个灯泡划分为一个小组,每个小组提供一个驱动电路。
在扫描过程中,各组灯泡逐次点亮,在保证扫描频率不低于临界闪烁频率的前提下,由于视觉惰性,人眼看起来就如同所有的灯泡都被点亮。
采用这种扫描驱动方式可以减少驱动电路的数量,在显示屏中LED灯数量较大时,能够节约的成本还是较为可观的。
2.5.2显示电路设计
为了在显示复杂汉字的同时节约成本,本文采用4个8×
8的LED点阵构成的16×
16LED点阵构成显示电路,并用74LS595和74LS138芯片联合进行LED点阵驱动,其中74LS595负责进行列扫描,74LS138负责列扫描,74系列芯片的管教的输出电流为30mA,不足以驱动16×
16的点阵,会出现明暗不均的现象,故采用PNP型三极管作为功放管,并选用300Ω的限流电阻,显示模块的电路图如图2.8所示。
图2.8显示模块电路图
下面根据显示模块电路图,来分析LED点阵显示电路的控制原理。
以显示一行汉字为例,首先从字库中取出这一行汉字的点阵,放入缓存中。
之后调用扫描显示函数,即可显示出这一行汉字。
扫描显示函数的主要功能是显示缓存的内容。
如果我们想让这一行汉字显示出其他的效果,比如左移,只需要将缓存中的每一位进行左移,然后再调用扫描显示函数显示缓存的内容即可。
如果我们不想显示汉字,而是显示英文或图片等,只需要按照扫描显示函数对这些内容显示缓存的协议要求进行显示即可。
从图2.8可以看到,显示电路使用了74HC595移位存储器,它需要一个简单的驱动。
在一位一位传输数据时,每传输一位给一个时钟信号,一行数据全部传输完时给一个锁存时钟。
然后由74H138选通改行。
这样,一行的操作结束,再按照相同的方式进行下一行的操作。
如此循环往复,最终就会显示出一幅完整的内容。
需要注意的是,每送完一行数据内容,显示屏需要短暂的黑屏一小段时间,也就是所谓的消隐动作。
否则,在显示过程中,人眼会看到拖影现象,影响显示效果。
2.6按键控制模块
按键控制电路的作用是进行人机交互,进行录音、放音、报站、爱心键提示灯功能的选择,由于公交报站器的功能较多,故需要的按键数量也较多,同时单片机的I/O口数量有比较有限,综合以上两点考虑,本设计中即采用4×
4键盘矩阵来构成按键控制模块。
2.6.1键盘扫描原理
在单片机按键使用过程中,如果按键的数量较多,就不能再使用传统的键盘排列方式,而是要将键盘按照矩阵方式排列,以减少占用的端口数。
这种排列方式比传统的键盘排列方式更合理,但是结构相对复杂,对单片机来说,矩阵式键盘要比独立式键盘更难于识别。
在这种键盘结构中,每条水平线和垂直线相交,要注意相交处不能直接连通,而是要通过按键相连接。
在扫描键盘上哪一个按键被按下时,通常采用行扫描法,它是最简单应用最广泛的多按键识别方法。
2.6.2键盘电路设计
4×
4键盘扫过的过程如下:
首先,判断是否有按键被按下。
方法是循环不断的给低四位独立的低电平。
具体来说,将低四位P3.0至P3.3中的任意一列置为低电平,然后检查高四位行线的状态。
如果检查到某一行为低电平,先延时一段时间将抖动消除,之后再次检查行线的状态,如果这一行依然为低电平,则说明键盘中确实有键按下。
如果这一行变为高电平,则继续将下一列置为低电平,如此循环往复的检查。
如果最后,所有的行线都为高电平,则说明键盘中没有键被按下。
其次,判断按下键的具体位置。
方法是循环的给其中一位列线低电平,其他三位列线给高电平,同时检测各行线的状态。
如果各行线都为高电平,则继续给下一位列线低电平,其他列线高电平。
如果有某一行行线是低电平,则说明该行线与置为低电平的列线交叉处的按键被按下。
4的键盘电路图如2.9所示。
图2.94×
4键盘电路图
2.7本章小结
本章对基于单片机的公交车报站器硬件系统的设计进行了详细的说明。
主要说明了硬件系统的设计方法、设计原则及设计过程。
在硬件系统设计的过程中作者参考了大量的文献,充分考虑了系统的各方面需求合理的选择了元器件,同时对一些电路设计做了改进。
本章根据系统的主要设计目标,完成了基于STC89C52单片机的公交车报站器的硬件系统设计,介绍了STC89C52单片机的特性,着重分析了语音模块、显示模块和按键模块,并给出了实际应用的电路图。
第3章系统软件设计
3.1公交车报站器软件总体设计
在上一章中对公交报站器的硬件系统进行了详细设计,本章将对单片机软件系统进行设计,软件系统的主流程图如图3.1所示。
报站器加电后系统首先进行初始化,主要是会单片机的I/O口状态和寄存器状态进行初始化;
然后,程序进入循环扫描过程,对键盘进行按键检测,判断是否有键被按下。
如果检测到有按键被按下,则进一步判断被按下的按键是否为录音键,如果是录音键被按下,系统进入录音模式,调用录音子程序进行录音,完成后返回到主程序继续进行扫描;
如果检测到其他按键被按下,则调用报站子程序,报站完成后,返回到主程序继续进行循环扫描。
图3.1系统主流程图
3.2录音子程序设计
录音子程序的主要功能是进行公交站名播报时所需语音的录入,该程序在检测到录音键被按下时被调用,完成后返回主程序。
录音子程序流程图如图3.2所示。
图3.2录音子程序流程图
从图3.2中可以看到,进入到录音子程序后,首先要通过SPI通讯协议向ISD4004发送录音指令,使ISD4004进入到录音模式,并设置录音的初始地址(录音基址),开始录音;
在录音的过程中不需要单片机进行干预,此时单片机做两项工作:
一是播放“正在录音”提示字样;
二是进行按键扫描,判断stop键是否按下,如果按下,则停止录音,返回到珠城路中,否则继续录音并播放录音提示文字。
3.3报站子程序设计
报站子程序的功能是在检测到有语音播报按键被按下时,进行相应的播报,并进行站名显示功能,完成后返回主程序,报站子程序流程如图3.3所示。
图3.3报站子程序流程图
从图3.3中可以看到,进入到报站模式后,首先要向ISD4004发送语音播报命令,将ISD4004设置为语音播报状态,然后进行按键消抖工作,并读取键值,根据键值选择相应的操作,当按值大于9时,重新进行判断;
小于9时,根据读到的键值,将地址送到ISD4004中,并发送播放指令,同时启动LED显示,进行站名的显示,延时一定的时间后,返回到主程序之中。
3.4本章小结
本章主要完成了报站器的软件系统设计。
公交车报站器的单片机软件系统主要包括主程序、录音程序和报站程序三部分组成。
通过对报站器软件系统的设计,配合硬件电路,就能够实现报站器站名的录入与修改;
站名的播报与键盘扫描等公交车
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 公交车 报站 设计