基于单片机公交车报站器设计
基于单片机的公交车报站器的设计
Basedonsinglechipdesignof busstops
基于单片机公交车报站器设计
目 录
摘 | 要?II |
Abstract?II
第1章绪论?2
1。1课题研究背景及意义?2
1.2国内外研究现状?2
1.3主要设计目标?2
1。4本文研究内容?2
第2章系统硬件设计?2
2。1基于单片机的公交车报站器系统总体设计..........................................2
2。3 处理单元?2 2.3。1 STC89C52单片机主要特性............................................2 w |
2。4.2语音电路设计?2
2。5显示模块?2
2.5.1 8×8点阵模块介绍......................................................................2 2.5.2显示电路设计...................................................................................2 2。6按键控制模块.................................................................................................2 2。6。1键盘扫描原理............................................................................2 2.6。2键盘电路设计..................................................................................2 2。7本章小结.........................................................................................................2第3章系统软件设计?2
3.1 公交车报站器软件总体设计?2 3.2 录音子程序设计?2 |
|
基于单片机公交车报站器设计
3.3报站子程序设计............................................................................................2 3。4本章小结?2
第4章软件仿真............................................................................................................2 4.1仿真电路设计....................................................................................................2 4.2仿真结果....................................................................................................2 4.3本章小结?2
结 论?2
参考文献?2
附录A....................................................................................................................................2附录B....................................................................................................................................2致谢...................................................................................................................................2
基于单片机公交车报站器设计
摘 要
如今公共汽车已经成为人们日常生活中必不可少的伙伴。一方面,城市空气污染严重,鼓励民众少开私家车,更多的使用公共交通出行.有的国家甚至指定一天为禁止机动车日,来警示民众环境污染的严重性。另一方面,大中城市交通拥堵不堪,如北京等特大城市不得不规定私家车限号出行,强制人们使用公共交通。由此以来,公交车还是大众出行不可或缺的工具。
传统公交车采用人工售票的方式,浪费人力的同时还存在很多问题,比如很多乘务员带有口音,普通话很不标准,使外地乘客无法准确得知乘车信息。因此,无人售票公交成为城市公交车的趋势,公交车语音报站器的作用也日益凸显了出来。公交车语音报站器的作用是告诉乘客这辆车要往哪开,即将到达的车站,以及一些提示信息,如车辆转弯或者提醒乘客让座等.公
交车报站器弥补了传统公交人工报站的不足,可以使乘客准确知悉乘车信 本设计应用STCC52微处理器、ISD4004 语音芯片、8*8 点阵显示 放,同时使用LED进行当前到站名称显示。功能完善,同时具备高可靠性的控制系统,性价比较高,具有很好的推广价值。 |
关键词:STC89C52;ISD4004;公交车报站器
基于单片机公交车报站器设计
Abstract
Nowthebushas becomeindispensablein People’sDailylifepartner。Ontheonehand,theurbanairpollutionisserious,thegovernmentis encouragingpeoplelessprivate cars,moreusepublictransportation.Somecountriesevenspecifytoprohibitmotorvehicle,adaytoalertpeopleto theseriousnessof the pollutionoftheenvironment。Trafficcongested,ontheotherhand,largeand medium—sizedcities,suchas largecitiessuchasBeijinghadto travelregulationslimitprivatecars,forcingpeopletouse public transport。Hence,abusor travelindispensabletoolofthem
asses. waste of manpower, while there are still many problems. Traditional bus sells tickets in artificial way, a |
Therefore,unmanned busesincities will beatrend, the busesvoiceannouncer'srolealso increasinglyprominent.Bus voice announcerroleisto tell thepassengercartowheretostart,approachingthestationname,aswellassome tips,suchas turningofthevehicleortoremindseats。Busstations-reportedupfor thelackoftraditionalartificialbus stops,peoplecanmake an accurateknowledgeof passenger travelinformation.
ThedesignapplicationSTCC52microprocessor,ISD4004voice chip,8*8dot matrixdisplaymoduleand 4 *4 keyboardcontrolmoduleforsimplebusstationssystem.Recordandgenerateall kinds ofvoiceprompt
基于单片机公交车报站器设计
sandstops byvoicecontrolcircuit。callprogramstatementtoplaya voice,atthe sametime carry out thecurrentstationnameusingLEDdisplay.The newspaperstation’shardwarecircuit is simple,softwarefunction is perfect,thecontrolsystemis reliable。Itiscost—effective,withgoodpromotionalvalue.
Keywords:STC89C52;ISD4004;busstations-reported
基于单片机公交车报站器设计
第1章绪论
1.1课题研究背景及意义
随着中国城镇化水平的提高,大量人口涌向城市,城市交通系统已不堪重负。同时,中国的持续高速发展及粗放型的开发方式,使环境污染日益严重,现在已经成为影响人们日常生活的重要问题。鼓励人们更多的使用公共交通出行,以减轻对城市交通及环境的压力。同时,公交车方便快捷的乘坐方式及实惠的价格也是普通大众出行首选[1]。
传统公交车有很多需要解决的问题,乘务员在传统公交系统中一直负
责报站的重要任务。但是这种方法事倍功半而且工作强度很大,在很多发
达城市已经摒弃不用了。近几年来世界乃至我国的科学技术飞速发展,在
许多领域微机技术已经变成主导。在现今声学的领域里,公交车语音报站器已经成为可能,可以使用微机与语音芯片相结合来完成语音合成的技术 了公交车语音报站器,在即将到站时进行语音提示同时显示到站名称。 |
1.2国内外研究现状
最近几年,我国经济稳步快速发展,人口数量呈几何递增,人口及环境问题给城市带来了双重压力。私家车的数量急剧增加,更是使原本就拥堵不堪的城市交通情况雪上加霜[2]。在现代城市里,公共汽车已经成为普通大众出行所必不可少的交通工具,人们花费在路上的时间越来越长,公交车的乘车体验直接影响到人们的日常生活.目前在国内的大中城市中,无人售票公共汽车已经成为主流,采用公交车语音报站器来提示到站信息.但是在一些不发达城市,仍然存在着人工售票方式,售票员报站会因为拥挤及口音给乘客带来很多问题。在欧美的一些大城市,电子信息技术和计算机技术已经大范围应用于公交系统,公交车上普遍使用自动定位报站器,极大的提升
基于单片机公交车报站器设计
了公交车的经营效益和服务水平。
公交车报站器在公共交通事业中的作用十分重要,它直接影响着公交车的服务质量和人们的出行体验。现在,国内外普遍采用的报站方式主要有三种[3].一种是利用GPS全球卫星定位系统的公交车自动报站器,这种报站器系统稳定,功能强大,可以根据卫星定位自动播报到站位置,美国的一些城市已经投入使用.我国也在研制此类产品,但是由于系统复杂,投资昂贵,较难在我国城市推广使用。另一种是我国之前普遍采用的人工报站方式,它的服务质量直接依赖于售票员,容易给外地乘客带来不便,在没有售票员的情况下会大大增加司机的工作强度,这种报站方式现在已经越来越少了。最后一种是公交车电子报站器,到站时有司机进行手动控制,可方便快捷的进行语音播报及汉字显示.这种报站器不像GPS报站器那么昂贵,很适合推广使用,是最符合中国国情的公交车报站器。
1.3 主要设计目标 和语音模块实现一套简单、实用的公交车报站器,可以实现以下的功能: 以单片机作为控制核心,采用键盘作为人机交互手段,并用LED点阵
|
④能够非常方便的修改语音提示信息。
1.4本文研究内容
针对我国城市公交车的应用现状,自主研发一套基于单片机的公交车报站器。改变之前公交车由售票员报站的落后模式,在公交车即将到站、即将离站以及车辆转弯时由司机操作报站器,语音播报提示的同时在显示器上显示当前站和将要到达下一站的站名汉字。
公交车报站器是安装在公交车上的,属于车载终端,在系统设计时除了
要实现基本功能外,还要同时做到稳定供电、功耗较小、体积轻便等方面,
而且也要兼顾易于开发、成本低廉、研发周期短等要素。因此本设计采用
STCC52 单片机作为系统的主控制器. |
|
基于单片机公交车报站器设计
在系统设计中,本文将从单片机系统、显示电路、语音电路方面分别展开研究,系统是基于单片机的公交车语音报站器,包括公交车报站器的总体研制方案、报站器硬件电路并实现、软件系统并实现、软件仿真验证。
基于单片机公交车报站器设计
第2章系统硬件设计
2。1基于单片机的公交车报站器系统总体设计
系统以单片机STCC52为控制核心,总体可划分为处理单元、键盘单元、显示单元和语言单元等几部分[4],如图2.1所示。处理单元负责对控制器的整体控制和数据处理。键盘单元进行按键输入,选择所要播放的语音和显示的汉字。显示单元对所要播放的汉字进行显示。语音模块包括两部分:录音和放音。录音部分的作用是进行站名的信息的录入,放音部分是将所要播放的信息进行播放。
STCC52 显示
控
键盘
制
器 语音
图2。1硬件设计框图
2。2电源系统设计
电源系统设计了两个供电电源:一种是通过USB连接,另一种是3脚稳压电源。当调试程序的时候,可以直接通过USB给本模块供电,只需要简单的双向USB连接线与一条USB转串口线就可以把程序下载到开发板上运行了[5]。三角稳压电源采用了市场上常见的5V,1A直插式电源,不必为找不到合适的适配电源而烦恼。另外,本设计中所应用的ISD4004语音芯片的供电电压为3。3V,所以需要用LM1117-33芯片来提供3.3V的工作电压,具体的电路图设计如图2.2所示。
基于单片机公交车报站器设计
J1
J2 | 2 | GND | C1 | C5 | U1 | 2 | C3 | C4 | JP1 | VCC | |||
1 | |||||||||||||
1 | 2 | ||||||||||||
104 | |||||||||||||
3 | 4 | ||||||||||||
3 | C2 | Header 2X2 | |||||||||||
1 | IN | OUT | |||||||||||
2 | GND | ||||||||||||
1 | |||||||||||||
104 | 22uF | LM7805CT 3 | 22uF | 104 | |||||||||
GND
VCC | 1 | U2 | GND | VCC33 | |||
LM1117-33 | |||||||
C2 | IN | OUT | 2 | C3 | C4 | ||
GND | |||||||
22uF | 3 | 22uF | 104 | ||||
GND
图2。2电源系统电路图
图2。2中,J1为USB接口,J2为汽车电瓶接口,输入电压为28V,7805
接口,可以通过跳线将12相连或将34相连对系统进行供电,12相连是选择
的输入电压范围宽达4.5V~36V,完全能够满足电压转换需要,JP1为跳线
USB供电,为程序下载模式,而34相连为工作状态,由公交车电瓶对系统
行供电。VCC33)电压为ISD4004语音芯片进行供电。
2。3处理单元
处理单元的作用是扫描公交报站器中的按键,根据扫描结果采取相应的动作,是整个报站系统的数据处理核心。本文将采用STCC52单片机作为CPU进行设计。
2。3。1STCC52 单片机主要特性
STCC52是一种低电压,高性能的CMOS8位微处理器,STCC52单片机内部带有大小为8K的只读存储器,可以进行擦除编程。STC89C52单片机采用ATMEL存储制造技术,密度很高,而且数据安全、不易丢失,并且可以兼容MCS-51的标准输出管脚和指令集.该款单片机是一种高效的微控制器,芯片封装是40引脚封装,分别有贴片和双列直插两种不同的封
基于单片机公交车报站器设计
装形式,本文将采用双列直插(DIP40)的封装形式,如图2。3所示.
图2.3STC89C52单片机的DIP40封装图
2.3。2单片机的最小系统
单片机最小系统是一种最简单的电路系统,也是保证单片机可以正常开机、运行程序的关键电路,是维持单片机正常工作所必不可少的电路系统。一般来说,单片机最小系统包含单片机本身和复位电路、时钟电路、通信电路以及存储器.从上面的介绍中我们可以看到,STCC52单片机自带程
序存储器,大小为8K 字节,所以STC89C52 单片机的最小系统主要包括单 所示。 7 8 P1.6 P0.5 34 33 P05 P06 7 RST P30 10 9 P1.7 RST/VPD P0.6 P0.7 32 31 P07 8 9 P31 11 P3.0/RxD P3.1/TxD ALE/PROG EA/Vpp 30 10K com1 12 13 14 15 P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 PSEN P2.7 P2.6 P2.5 29 28 27 26 +C1 VDD C4 1 C1+ V+ C1- 1Cout VCC GND 16 15 14 VDD IN 1 C6 30P 16 17 P3.6/WR P2.4 25 24 + C2 4 5 C2+ 1C in 13 12 3 8 JZ1 18 19 P3.7/RD XTAL2 P2.3 P2.2 23 22 IN 6 7 C2- V- 151 in 151out 11 10 P31 4 9 20 XTAL1 Vss P2.1 P2.0 21 C3 OUT 8 2Cout 2Cin |
图2.4STCC52单片机最小系统原理图
从图2.4中可以看到,本设计的单片机最小系统由晶振电路、复位电路和串口通信电路三部分组成。本文选用12MHz的晶振来产生系统时钟,方便进行比较精确地延时,从而减小与ISD4004芯片进行SPI通信时产生错误的概率,但这个频率下的串口通信不能达到标砖的9600bps的波特率,
基于单片机公交车报站器设计
本设计中串口只是用来下载程序,故综合这两点考虑,选择了12MHz的晶振,晶振两端的30pF的电容是用来协助启振,并有一定的滤波作用。复位电路选用按键复位电路,这种电路方便进行硬件陶氏工作.串口通信线路选择MAX232芯片进行电平转换。
2.4语音播报模块
2。4。1 ISD4004语音芯片
本设计中所采用的语音芯片是ISD4004语音芯片,由美国ISD公司推出,性能稳定,品质优良,具有很多其他语音芯片所不具备的优点。首先,录音时不需要通过A/D转换和压缩,不会使声音出现较大失真,对每段录音的时间长度没有;其次,存储时间长,在不外接电源的情况下可保存数据一百年,可多次重复录放至十万次以上,该语音芯片使用快速闪存作为存储介质,不需要额外扩充存储器即可直接使用;第三,芯片需要的外围
2.4。2 语音电路设计 电路十分简单;最后,录音时间长,最多可长达十六分钟。
|
制,由ISD4004语音芯片和LM368功放构成的语音播报电路图如2。6所示.
基于单片机公交车报站器设计
U1
SS 1 28 SCLK
MOSI MISO 2 3 SS MOSI MISO VCCD XCLK SCLK27 26 VCC33 GND
GND
GND 10 11 12 13 14 4 5 6 7 8 9 VSSD NC NC NC NC NC NC VSSA VSSA AUDOUT AMCAP AUAIN+ AUAIN- VCCA VSSA RAC INT
NC
NC
NC
NC
NC 25 24 23
22
21
20
19
18
17
16 15
INT
RAC
C1
0.22uF
C2
0.22uF
MK1
R1
10K
VCC33
R2
10K
ISD4004S
R3 C3 0.22uF 10K
C5 C4 GND1uF 22uF GND
U2 VCC
R4GND GND 2 VS6
5
C6220uF LS1
3
GAINBYP 7 1
10K 4GND GAIN8 Speaker
LM386M-1
GND R510K C7 10uF
图2。6采用ISD4004芯片的语音播报模块电路图
GND
这样一位一位的写入,对ISD4004进行操作。同时也可以根据地址选择所要
播放的语音片段。
考虑到该系统运行在公交车上,工作环境较为嘈杂,而芯片本身驱动功
率比较小,单独使用扬声器播报的声音音量较小,无法满足工作要求。因此
本设计中,在ISD4004芯片口和扬声器之间连接低频功率放大芯片LM386,
放大播报声音,以确保乘客在嘈杂的环境下也能清晰的听到报站信息。LM
386是一种性能优良的音频功率放大器,由美国国家半导体公司生产。L
M386具有很多优点,如芯片功耗非常小、可使用的电源电压范围较大、
总谐波失真小等等。目前,LM386在录音机和收音机的生产中应用十分广泛.
在图2。6中,R4为输入阻抗匹配电阻,调整为5kΩ左右即可,通过调整R5的值
可以调整功率放大倍数,范围是20-00。LM386的输出阻抗为8Ω,能够完美与
所选喇叭进行匹配。
基于单片机公交车报站器设计
2。5显示模块
2.5.1 8×8 点阵模块
本设计的显示模块采用LED点阵显示系统,它包括静态显示和动态显示两种工作方式。其中,静态显示方式易于理解,且控制方便,但是在实际应用中硬件接线十分复杂,不适合批量生产使用。动态显示方式的基本工作原理是逐行扫描,由较大的窄脉冲从上到下扫描显示屏各行,同时向各列发送脉冲信号,该脉冲信号带有想要显示的图形或文字信息。如此循环往复,显示屏上就会显示出我们所要表示的信息。在本设计中,我们选择较易于实现的动态显示方式。
一个8×8的点阵是由个发光二极管按一个规律组成的,如图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所示。
P02
GND
13
12
U1
OE VCC16 VCC
VCC
15
10 QA1
VCC P0511SRCLR SRCLK QB QC2
QD3
P0714SER QE4 5
QF6
QG7
GND 8GND QH' QH9
SN74LS595N R1 R2 R3R4 R5 R6 R7R8 300 300 300300 300 300 300300 U3 VCC
P171 16
P16P15 23 A B C VCC
Y0 Y1 15 14 Q1 0805 Q2 0805 Q3 0805 Q4 0805 Q5 0805 Q6 0805 Q7 0805 Q8 0805P14 OE1 Y2 13 12
5OE2A Y3 11
OE2B
Y4 Y5 Y6 10 9 GND8GND Y7 7
DM74LS138N
GND
U4 VCC
P131 A VCC16
P122 B R9R10 R11R12 R13 R14R15 R16P113 C Y015 14 300300 300300 300 300300 1K
P106 Y113
4OE1 Y2 12
5OE2A OE2B Y3 Y4 Y5 11 10 Q9 0805 Q10 0805 Q11 0805 Q12 0805 Q13 0805 Q14 0805 Q15 0805 Q16 0805 9
8 Y67
GNDY7
DM74LS138N
GND GND
图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×4的键盘电路
则继续给下一位列线低电平,其他列线高电平。如果有某一行行线是低电平,
图如2。9所示.
P36
P35
VCC | R1 | K1 | K5 | K9 | K13 | P34 |
P33 | ||||||
1K R2 | K2 | K6 | K10 | K14 | P32 |
1K
R3 | K3 | K7 | K11 | K15 | P31 |
1K
R4 | K4 | K8 | K12 | K16 | P30 |
1K
图2.94×4键盘电路图
2。7本章小结
本章对基于单片机的公交车报站器硬件系统的设计进行了详细的说明.主要说明了硬件系统的设计方法、设计原则及设计过程.在硬件系统设计的
基于单片机公交车报站器设计
过程中作者参考了大量的文献,充分考虑了系统的各方面需求合理的选择了元器件,同时对一些电路设计做了改进.本章根据系统的主要设计目标,完成了基于STC89C52单片机的公交车报站器的硬件系统设计,介绍了STC89C52单片机的特性,着重分析了语音模块、显示模块和按键模块,并给出了实际应用的电路图。
基于单片机公交车报站器设计
第3章系统软件设计
3。1公交车报站器软件总体设计
在上一章中对公交报站器的硬件系统进行了详细设计,本章将对单片机软件系统进行设计,软件系统的主流程图如图3.1所示。报站器加电后系统首先进行初始化,主要是会单片机的I/O口状态和寄存器状态进行初始化;然后,程序进入循环扫描过程,对键盘进行按键检测,判断是否有键被按下。如果检测到有按键被按下,则进一步判断被按下的按键是否为录音键,如果是录音键被按下,系统进入录音模式,调用录音子程序进行录音,完成后返回到主程序继续进行扫描;如果检测到其他按键被按下,则调用报站子程序,报站完成后,返回到主程序继续进行循环扫描。
开始
系统初始化
调用报站子程序 调用录音子程序
返回主程序循环
图3。1系统主流程图
3.2录音子程序设计
录音子程序的主要功能是进行公交站名播报时所需语音的录入,该程序在检测到录音键被按下时被调用,完成后返回主程序。录音子程序流程图
如图3.2 所示。
基于单片机公交车报站器设计
进入录音子程序
向ISD4004发送录音指令
进入录音模式
设置录音基址
显示录音提示文字
Stop键是否按下 | No |
Yes
完成录音
返回子程序
图3。2录音子程序流程图
从图3.2中可以看到,进入到录音子程序后,首先要通过SPI通讯协议向ISD4004发送录音指令,使ISD4004进入到录音模式,并设置录音的初始地址(录音基址),开始录音;在录音的过程中不需要单片机进行干预,
录音并播放录音提示文字.
3.3报站子程序设计
报站子程序的功能是在检测到有语音播报按键被按下时,进行相应的播报,并进行站名显示功能,完成后返回主程序,报站子程序流程如图3。3所示。
基于单片机公交车报站器设计
进入报站模式
通过SPI指令将ISD4004
设置为语音播报模式
No | 是否有键按下 |
Yes
读键值
判断键值
键值<9
触发语音报站名
根据键值送地址
LED显示站名
图3.3报站子程序流程图
从图3.3中可以看到,进入到报站模式后,首先要向ISD4004发送语音播报命令,将ISD4004设置为语音播报状态,然后进行按键消抖工作,并读取键值,根据键值选择相应的操作,当按值大于9时,重新进行判断;小于9时,根据读到的键值,将地址送到ISD4004中,并发送播放指令,同时启动LED显示,进行站名的显示,延时一定的时间后,返回到主程序之中.
3。4本章小结
本章主要完成了报站器的软件系统设计。公交车报站器的单片机软件系统主要包括主程序、录音程序和报站程序三部分组成.通过对报站器软件系统的设计,配合硬件电路,就能够实现报站器站名的录入与修改;站名的播报与键盘扫描等公交车报站器的基本功能。
基于单片机公交车报站器设计
第4章软件仿真
在第二章和第三章中,我们分别对公交报站器的硬件电路和软件系统程序进行了详细设计。接下来,我们采用软件仿真的方式对设计结果进行仿真,选用proteus仿真软件对设计结果进行仿真,采用KeilC 集成开发环境进行程序编写,并将生成的HEX文件下载到proteus软件中的单片机中,进行仿真,
4.1仿真电路设计
从第二章的硬件电路设计中可以看出,本文所设计的公交报站器的主要电路为语音播报、LED点阵显示和单片机最小系统三部分,由于在protues仿真环境下,采用ISD4004的语音播报模块无法仿真,故这里只对显示部分进行仿真.仿真电路图如图4.1所示。
图4。1仿真电路设计
仿真电路如图4.1所示,采用595与138联合对4个8×8点阵进行驱动,两片74LS138接在了单片机的P3口上,两片74LS595接在了单片机的
基于单片机公交车报站器设计
P2口上,为了方便,在仿真过程中并没有加驱动功率管,点阵仍然能正常工作,但在实际应用中,要加装功率管进行驱动.
4.2仿真结果
将编写好的程序通过KeilC编程软件编译后,将生成的HEX文件添加到单片机U1中,点击运行按钮,程序运行后的仿真结果如图4.2所示,从图中可以看到两片74LS138和两片74LS595能够很好的驱动LED点阵进行汉字显示.
图3.2显示模块仿真结果
4.3本章小结
本章对所设计的公交车报站器的显示模块进行了软件仿真,仿真结果表明,采用74LS138和74LS595对点阵进行联合驱动的硬件设计思路的有效性,证明了本设计的有效性和可靠性。
基于单片机公交车报站器设计
结 论
对公交车报站器的研究有着十分重要的现实意义。基于单片机的公交车报站器原理简单,成本低廉,易于实现,便于实现和推广,有着极高的使用价值和广阔的应用前景。
本文首先深入研究了STC89C52单片机,对其工作原理、各个引脚的功能及应用等各方面进行充分的了解和学习,以STC89C52单片机为处理单元设计一款新的语音公交车报站器。
其次设计了公交车报站器的硬件系统,在设计中尽量选择可靠性较高的元器件以应对报站器较为嘈杂的工作环境。显示电路采用4个8×8的LED点阵构成的16×16LED点阵来构成显示电路,并用74LS595和74LS138芯片联合进行LED点阵驱动,语音芯片选用ISD4004语音芯片进行语音的录制和播放,并以LM386进行音
频功率放大.配合便捷稳定的电源系统及4*4 键盘扫描模块,使整个 然后设计了公交车报站器的软件系统,使用C51作为软件编程 最后对系统调试过程进行了总结,并提出了对于软硬件的改进意 |
见,为下一步的工作指明了研究方向。
Copyright © 2019- baijiahaobaidu.com 版权所有 湘ICP备2023023988号-9
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务