公交车站自动报站器的设计.docx
《公交车站自动报站器的设计.docx》由会员分享,可在线阅读,更多相关《公交车站自动报站器的设计.docx(40页珍藏版)》请在冰豆网上搜索。
![公交车站自动报站器的设计.docx](https://file1.bdocx.com/fileroot1/2022-12/14/99bbccab-5859-4355-b031-cde3a3c67337/99bbccab-5859-4355-b031-cde3a3c673371.gif)
公交车站自动报站器的设计
焦作大学
机电工程学院
专科毕业设计
题目(中文):
基于单片机的公交车自动报站器的设计
(英文):
AutomaticreportingsystembasedonSCM
姓名陈易凡
学号08*******
系(部)机电工程系
专业、年级机械制造与自动化2008级5班
指导教师孟超
二○一〇年11月
公交车已经成为一般工薪族和学生族出门必须的交通工具,目前公交车上采用的公交报站系统具有语音和显示报站的基本功能,但由于报站时采用司机手动切换,一方面增加了司机的劳动强度,另一方面由于司机的误报或漏报,造成乘客误下或漏下,对于公交运营产生了很大负面影响,更会对乘客造成很多不必要的影响。
为此,研究公交车自动报站系统是非常必要的。
本课题主要研究的是基于AT89C51的公交车自动报站系统,该系统在公交车到站前语音报站,并且有LED数码管显示,到总站时公交车可向总站发送到站信息,方便总站安排公交车次。
本课题要求设计一公交车自动报站系统,以实现公交车的语音自动报站,即在进站、出站时候自动播报语音提示信息及服务用语,同时利用LED点阵电路进行汉字显示。
本设计要求利用AT89C51作为主控芯片完成主控电路的设计,辅助电路要求包括语音电路、汉字点阵显示电路、电源电路等。
公交车报站系统主要由四个部分组成,即主控电路、脉冲检测电路、语音电路以及LED点阵汉字显示电路。
关键词自动报站,80C51单片机,语音芯片、LED
Abstract
Thepublictransportationhasalreadybecamethegeneralwageraceandthestudentracewentoutmustthetransportationvehicle,atpresentonthepublictransportationusesthepublictransportationnewspaperstationsystemhadthebasicfunctionwhichthepronunciationandthedemonstrationnewspaperstood,butbecausethenewspaperstoodtimeusedthedrivermanualcut,ontheonehandincreaseddriver'slaborintensity,ontheotherhandbecausedriver'smisinformationorfailedtoreport,createdthepassengerbymistakeunderorthemildchronicbloodyvaginaldischarge,hashadtheverygreatlynegativeinfluenceregardingthepublictransportationoperation,couldhaveverymanynonessentialinfluencestothepassenger.Therefore,studiesthepublictransportationautomaticnewspaperstationsystemisextremelyessential.
Thistopicmainresearchisbasedonat89C51publictransportationautomaticnewspaperstationsystemfront,thissystemstationsofarrivalthepronunciationnewspaperstationinthepublictransportation,andhastheLEDnixietubetodemonstrate,tomainterminalwhenthepublictransportationmaystationofarrivaltheinformationtothemainterminaltransmission,convenientmainterminalarrangementpublictransportationcoachnumber.Thistopicrequestdesignsapublictransportationautomaticnewspaperstationsystem,realizesthepublictransportationpronunciationautomaticnewspaperstation,namelyisenteringthestation,outputtingtimedisseminatesnewsthevoicepromptinformationandtheservicelanguageautomatically,simultaneouslycarriesontheChinesecharacterdemonstrationusingtheLEDlatticeelectriccircuit.ThisdesignrequestusingAT89C51tookthemastercontrolchipcompletesthemastercontrolelectriccircuitthedesign,auxiliarycircuitrequestincludingpronunciationelectriccircuit,Chinesecharacterlatticedisplaycircuit,powercircuitandsoon.
Thepublictransportationnewspaperstationsystemmainlyiscomposedbyfourparts,namelymastercontrolelectriccircuit,pulseexaminationelectriccircuit,pronunciationelectriccircuitaswellasLEDlatticeChinesecharacterdisplaycircuit.
KeywordAutomaticnewspaperstation,80C51monolithicintegratedcircuit,pronunciationchip,LED
1绪论
随着科学技术的日益发展和进步,无人售票公交车在街头多起来了,语音报站器也被广泛使用,这在相当大的程度上免除了乘务人员沿途报站的麻烦,给许多不熟悉公交线路的乘客带来了方便。
1.1课题研究的背景及意义
公共汽车为外出的人们提供了方便快捷的服务,而公共汽车的报站直接影响服务的质量。
传统由乘务人员人工报站,该方式因其效果太差和工作强度太大,在很多大城市已经被淘汰。
近年来,随着科学技术的日益发展和进步,微型计算机技术已经在许多领域得到了广泛的应用。
在声学领域,微机技术与各种语音芯片相结合,即可完成语音的合成技术,使得汽车报站器的实现成为可能,从而为市民提供了更加人性化的服务。
鉴于传统公交车报站系统的不足之处,结合公交车辆的使用特点及实际营运环境,设计了一种由单片机控制的公交车自动报站系统
。
公交车自动报站器的设计主要是为了弥补改变传统语音报站器必须有司机操控才能工作的落后方式,进站、出站自动播报站名及服务用语,为市民提供更人性化,更完善的服务。
1.2报站器的动态发展趋势
公共汽车行驶在现代文明程度高的市区,它是一道流动的风景线,因而对整车外形乃至色彩都有更高的要求。
作为公共汽车还要求有醒目和减少乘务人员劳动强度的电子报站器,电子显示路牌,无人售票装置,前后电视监视系统等新技术的采用也将越来越普及。
公交车报站器在公交事业中占有举足轻重的地位,它直接影响到公交车的服务质量。
目前公交车报站有三种方式,一种是利用GPS全球卫星定位系统的公交车报站系统,在司机座位后面隔板上,安装了一台15英寸的液晶电视和GPS信号接收器,安装了这套设备后,公交车在语音报站的同时,通过液晶电视还可以显示到站站名的字幕,这样如果没听清报站的话,通过显示屏,乘客也可以一目了然。
当出现紧急情况时,调度中心将会给公交车发出相应的信息,以短信的形式传送到显示屏上,同时车载台会发出相应的提示音;驾驶员也可以通过相应的工具进行回复。
目前在美国部分城市GPS卫星定位系统已经投入使用,国内也有此类产品的研制开发,其功能强大,系统稳定,但其投资昂贵,尤其是一些中小城市无法承受。
另外两种是手动电子报站和人工报站的方式,而它们都离不开司务人员,加大司乘人员的工作强度。
手动电子报站一般有司机或者乘务员控制,经常出现错报,误报的情况。
城市公共交通是市民出行的主要交通工具之一。
提供舒适,安全、便捷的乘车环境,对于公交企业来说,不仅是应尽的责任,亦是不断追求的目标。
1.3设计的主要目标任务
本课题要求设计一公交车自动报站系统,以实现公交车的语音自动报站,即在进站、出站时候自动播报语音提示信息及服务用语,同时利用LED点阵电路进行汉字显示。
本设计要求利用AT89C51作为主控芯片完成主控电路的设计,辅助电路要求包括语音电路、汉字点阵显示电路、电源电路等。
1.4技术指标
工作电压24V
静态功耗
6W
音频输出
10W
信噪比34DB
系统容量可容纳300个站点信息和8分钟语音广告信息
环境温度-30℃~80℃
最大广告条数100条
2方案的选择与论证
公交车自动报站系统的设计主要是对里程计数来控制报站时刻,进站、出站自动播报站名及服务用语,准确、及时、完全不需要人工介入。
本章介绍了两种不同的方案,并将其进行对比。
2.1方案比较
2.1.1方案一
公交车站自动报站器的设计,对车轮轴的转角的脉冲进行计数,将计数值与预置值对比,即可确定报站时刻,达到准确自动的目的。
以AT89C51为主控芯片,对外来脉冲计数,结合语音芯片ISD4004输出语音。
系统由脉冲检测、脉冲计数、CPU控制、控制信号、语音芯片、输出显示等组成。
原理框图如图2-1所示。
图2-1原理框图
1.脉冲检测:
该系统关键是对转轴所转过的圈数进行计数,考虑到车辆将在复杂的环境中运行,故采用可靠的霍尔元件DN6848作为信号的采集装置,再经光电耦合器4N25输入给单片机。
2.脉冲计数:
光电耦合器的信号进入C51后,采用中断方式对脉冲计数。
外部晶振12MHz。
3.CPU控制:
程序中将计数值于预置值进行比较,判断是否到站,当到站时就输出信号控制语言芯片进行报站。
4.控制按键:
用于手动控制、手动调整、预置值的输入等
5.语言芯片:
由专用语音芯片ISD4004组成,可擦写,便于在不同公交线上使用。
6.输出显示:
LED点阵汉字显示。
7.预置存储:
采用两种方式存储,一种是在烧写器上将数据写入,另一种是在车上,单片机处于输入状态,车辆行驶一遍,将站与站之间的脉冲数写入片内。
2.1.2方案二
利用8031单片机作为CPU来进行总体控制,当汽车到达某站时,汽车司机通过键盘来控制本系统进行工作,并且,系统将使用状态指示电路,向司机指示出当前的行驶方向及站号(如与实际方向不符,司机可通过键盘来调整)。
原理图框图如图2-2所示。
图2-2原理框图
本系统使用8031作为CPU,由CPU来控制语音合成芯片TC8830AF,使其工作在CPU控制模式下。
当系统进行语音再生时,由CPU控制语音合成电路中的语音芯片来读取其外接的存储器内部的语音信息,并合成语音信号,再通过语音输出电路,进行语音报站和提示。
CPU同时通过程序读取汉字信息,送入LED点阵显示电路来进行汉字提示。
当系统进行语音录制时,语音信号通过语音输入电路输入给语音合成电路中的语音合成芯片,由语音合成芯片进行数据处理,并将生成的数字语音信息存储到语音存储芯片中,从而建立语音库。
2.2方案选择
将方案一与方案二进行比较,方案二是采用8031单片机控制,通过键盘来控制报站时刻,并不完全符合设计的要求,它仍然需要操作员员手动控制,所以本课题决定选用方案一,它使用AT89C51作为主控制芯片,通过对里程的计数来控制报站时刻,完全无需人工介入,选用的语音芯片是美国ISD公司的ISD4004,该芯片与其它语音芯片相比较,其语音音质好,录放时间长。
3硬件电路的设计
公交车报站系统主要由四个部分组成,即主控电路、脉冲检测电路、语音电路以及LED点阵汉字显示电路。
各部分电路的设计在本章中做了详细的说明。
3.1主控电路的设计
3.1.1关于AT89C51单片机
AT89C单片机的结构框图如图3-1所示。
它主要由下面几个部分组成:
1个8位中央处理单元(CPU)、片内Flash存储器、片内RAM、4个8位的双向可寻址I/O口、1个全双工UART(通用异步接收发送器)的串行接口、2个16位的定时器/计数器、多个优先级的嵌套中断结构,以及一个片内振荡器和时钟电路。
在AT89C单片机结构中,最显著的特点是内部含有Flash存储器,而在其他方面的结构,则和Inter公司的8051的结构没有太大的区别。
图3-1AT89C单片机的结构框图
3.1.1.1主要性能
1.与MCS-51兼容
2.4K字节可编程闪烁存储器
寿命:
1000次写/擦循环
数据保留时间:
10年
3.全静态工作:
0Hz-24Hz
4.三级程序存储器锁定
5.128*8位内部RAM
6.32可编程I/O线
7.两个16位定时器/计数器
8.6个中断源
9.可编程串行通道
10.片内振荡器和时钟电路
另外,AT89C51是用静态逻辑来设计的,其工作频率可下降到0Hz,并提供两种可用软件来选择的省电方式——空闲方式(IdleMode)和掉电方式(PowerDownMode)。
在空闲方式中,CPU停止工作,而RAM、定时器/计数器、串行口和中断系统都继续工作。
在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,故只保存片内RAM中的内容,直到下一个硬件复位为止。
3.1.1.2引脚功能说明
AT89C51引脚图如图3-2所示。
图3-2AT89C51引脚图
VCC:
供电电压。
VSS:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8个TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3.3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3.7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出
。
3.1.2振荡器电路的设计
89系列单片机的内部振荡器电路如图3-3所示,由一个单级反相器组成。
XTAL1为反相器的输入,XTAL2为反相器的输出。
可以利用它内部的振荡器产生时钟,只要在XTAL1和XTAL2引脚上外接一个晶体及电容组成的并联谐振电路,便构成一个完整的振荡信号发生器,如图3-5示,此方法称为内部方式。
另一种使用方法如图3-4示,由外部时钟源提供一个时钟信号到XTAL1端输入,而XTAL2端浮空。
在组成一个单片机应用系统时,多数采用图3-5所示的方法,这种方式的结构紧凑,成本低廉,可靠性高。
振荡器的等效电路如图3-5上部所示。
在图中给出了外接元件,即外接晶体及电容C1,C2,并组成并联谐振电路。
在电路中,对电容C1和C2的值要求不是很严格,如果用高质的晶振,则不管频率为多少,C1,C2通常都选择30pF。
有时,在某些应用场合,为了降低成本,晶体振荡器可用陶瓷振荡器代替。
如果使用陶瓷振荡器,则电容C1,C2的值取47pF。
图3-3AT89C51单片机内部振荡器电路
图3-4外部时钟接法
图3-5片内振荡器等效电路
通常,在单片机中对所使用的振荡晶体的参数要求如下:
ESR(等效串联电阻):
根据所需频率按图3-6选取。
C0(并联电容):
最大7.0pF。
CL(负载电容):
30pF+3pF。
通常,其误差及温度变化的范围要按系统的要求来确定。
图3-6ESR与频率的关系曲线
在本设计中,采用的是内部方式,即如图3-5所示,在XTAL1和XTAL2引脚上外接一个12MHZ的晶振及两个47pF的电容组成。
3.1.3复位电路的设计
89系列单片机与其他微处理器一样,在启动的时候都需要复位,使CPU及系统各部件处于确定的初始状态,并从初始状态开始工作。
89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。
当系统处于正常工作状态时,且振荡器稳定后,如RST引脚上有一个高电平并维持2个机器周期(24个振荡周期),则CPU就可以响应并将系统复位。
复位时序如图3-7所示,因外部的复位信号是与内部时钟异步的,所以在每个机器周期的S5P2都对RST引脚上的状态采样。
当在RST端采样到“1”信号且该信号维持19个振荡周期以后,将ALE和/PSEN接成高电平,使器件复位。
在RST端电压变低后,经过1-2个机器周期后退出复位状态,重新启动时钟,并恢复ALE和/PSEN的状态。
如果在系统复位期间将ALE和/PSEN引脚拉成低电平,则会引起芯片进入不定状态。
图3-7内部复位定时时序
3.1.3.1手动复位
手动复位需要人为在复位输入端RST上加入高电平。
一般采用的办法是在RST端和正电源VCC之间接一个按钮。
当人为按下按钮时,则VCC的+5V电平就会直接加到RST端。
由于人的动作很快也会使按钮保持接通达数十毫秒,所以,保证能满足复位的时间要求。
手动复位的电路如图3-8所示。
图3-8手动复位电路
3.1.3.2上电复位
AT89C51的上电复位电路如图3-9所示,只要在RST复位输入引脚上接一电容至VCC端,下接一个电阻到地即可。
对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1uF。
上电复位的过程是在加电时,复位电路通过电容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平信号必须维持足够长的时间。
上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms。
在图3-8的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。
另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“1”态。
如果系统在上电时得不到有效的复位,则在程序计数器PC中将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。
图3-9上电复位电路
3.1.3.3复位后寄存器的状态
当系统复位时,内部寄存器的状态如表3-1所列,即在SFRS中,除了端口锁存器、堆栈指针SP和串行口的SBUF外,其余的寄存器全部清0,端口锁存器的复位值为0FFH,堆栈指针值为07H,SBUF内为不定值。
内部RAM的状态不受复位的影响,在系统上电时,RAM的内容是不定的。
表3-1各特殊功能寄存器的复位值
专用寄存器
复位值
专用寄存器
复位值
PC
0000H
TCON
00H
ACC
00H
B
00H
PSW
00H
SP
07H
DPTR
0000H
P0-P3
FFH
IP
×××00000B
IE
0××00000B
TMOD
00H
TH0
00H
TL0
00H
TH1
00H
TL1
00H
SCON
00H
SBUF
不定
PCON(CHMOS)
0×××0000B