基于ISD4004和51单片机的公交车报站系统含程序和原理图.docx
- 文档编号:9757821
- 上传时间:2023-02-06
- 格式:DOCX
- 页数:88
- 大小:587.68KB
基于ISD4004和51单片机的公交车报站系统含程序和原理图.docx
《基于ISD4004和51单片机的公交车报站系统含程序和原理图.docx》由会员分享,可在线阅读,更多相关《基于ISD4004和51单片机的公交车报站系统含程序和原理图.docx(88页珍藏版)》请在冰豆网上搜索。
基于ISD4004和51单片机的公交车报站系统含程序和原理图
摘要
本设计是基于单片机的公交车语音文字报站系统,主要解决如何方便、准确地指示乘客到站的问题,具有模拟人声进行报站和预报站,对所报站数和站名进行文字显示和站名语音信息录放及站名选择控制等功能。
系统包括微控制器模块,语音录放电路,站数、站名显示模组,键盘接口电路,复位电路及电源等。
系统使用51单片机来控制语音合成芯片和液晶显示模组。
语音合成芯片ISD4004,用模拟数据半导体存储器直接存储的专利技术,即将模拟语音数据直接写入单个存储单元,不需经过A/D、D/A转换,因此能够较好地真实再现语音的自然效果,避免了一般固体语音电路因为量化和压缩造成的量化噪声和失真现象。
配合液晶屏显示,就使得该报站系统更加实用。
关键词单片机;语音提示;文字显示;公交报站
Abstract
Thedesignmainlysolvetheproblemofhowtoeasilyandaccuratelyindicatethatpassengersarriving.Ithasthefunctionofanalogvoicereportingandforecastingstationonthetextdisplay,reportingnumberandstationname,andvoiceinformationrecordingandstationnameselectioncontrol.
Thesystemincludesmicro-controllermodule,voicerecordingandplaybackcircuitry,stationnumber,stationnamedisplaymodules,interfacecircuitofthekeyboard,resetcircuitandpowersupply.Thesystemuses51Single-chipMicrocomputertocontrolspeechsynthesischipandliquidcrystaldisplaymodule.SpeechsynthesischipISD4004adoptsthepatentedtechnologyforsemiconductormemorydirectlysimulateddatastorageofanalogvoice,thatanalogvoicedataiswrittendirectlytotheindividualstorageunits,notthroughA/DandD/Aconversion,sowecanreceivethenaturalemergenceofbettervoiceeffectsandavoidthequantizationofnoiseanddistortioncausedbythequantizationandcompressioninthegenerallysolidvoicecircuit.Besides,LCDmakesthereportingsystemmorepractical.
KeywordsSingle-chipMicrocomputer;AudioPrompt;CharacterDisplay;Bus-StopAuto-Announce
第1章绪论
随着科学技术的日益发展和进步,无人售票公交车在街头多起来了,语音报站器也被广泛使用,这在相当大的程度上免除了乘务人员沿途报站的麻烦,给许多不熟悉公交线路的乘客带来了方便。
1.1课题研究的背景及意义
公共汽车为外出的人们提供了方便快捷的服务,而公共汽车的报站直接影响服务的质量。
传统由乘务人员人工报站,该方式因其效果太差和工作强度太大,在很多大城市已经被淘汰。
近年来,随着科学技术的日益发展和进步,微型计算机技术已经在许多领域得到了广泛的应用。
在声学领域,微机技术与各种语音芯片相结合,即可完成语音的合成技术,使得汽车报站器的实现成为可能,从而为市民提供了更加人性化的服务。
鉴于传统公交车报站系统的不足之处,结合公交车辆的使用特点及实际营运环境,设计了一种由单片机控制的公交车自动报站系统。
公交车自动报站器的设计主要是为了弥补改变传统语音报站器必须有司机操控才能工作的落后方式,进站、出站自动播报站名及服务用语,为市民提供更人性化,更完善的服务。
1.2报站器的发展趋势
随着国民经济的持续发展和各级政府对县域经济的高度关注,乡镇的城市化正在全国如火如荼地展开,基础设施得到了突飞猛进的发展。
在这个过程中,乘坐公交车逐步取代了以前落后的出行方式,成为广大城乡人民短途出行的首选。
近年来城市公交事业迅速发展,以前靠售票员报站的方式已经不能满足实际需要,很多大中城市都在推广实行无人售票。
在广大乡镇,公交车如何实现自动报站还缺乏人们的重视。
目前,公交车自动报站主要有以下几种方式:
一种是通过全球定位系统(GPS)的用户终端接收工作卫星的导航信息,从而解算出车辆的经纬度信息,进而计算出实时坐标,将其与站点坐标相比较,当车辆驶入站点一定距离范围内时,不用人工干预,系统自动报站;另一种是利用无线射频识别(RadioFrequencyIdentification)技术,在每一个公交站台设置一个具有唯一ID的射频发射器,采用间歇工作方式发射信号,当公交车即将到达车站时,车载系统接收到站信号并解码出站台的ID号,由单片机控制自动播放对应站台编号的报站语音;还有一种是对车轮轴的转角脉冲进行计数,将计数值和预置值对比,即可确定报站时刻,
达到准确报站的目的。
然而,这三种方式都不太适合乡镇的发展现状。
第一种设备造价过高,定位精度也难以达到要求;第二种站台建设投入较大,站点一旦变更,射频发射装置即须移动,较为麻烦;第三种需要公交线路严格固定,稍有改变,报站就难以准确。
为此,本文试图设计一种既方便易行又经济实惠的公交车自动报站系统。
1.3设计的主要目标及任务
本设计采用人工按键的操作方式,实现公交车对站名的语音提示和文字显示功能。
当公交车到达某一站时,司机或乘务人员只需按动按键,就可以使单片机控制语音模块对站名进行语音提示,并控制显示模组在液晶屏上显示站数和站名。
系统由一片八位单片机,一个语音模块,一个液晶模组,一块稳压芯片,若干电阻电容和与非门等组成。
经过本课题的研究,我们得到了一种公交车自动报站的低成本解决方案。
1.4技术指标
工作电压24V
静态功耗
6W
音频输出
10W
信噪比34DB
系统容量可容纳300个站点信息和8分钟语音广告信息
环境温度-30℃~80℃
第2章方案设计
2.1原理
本系统使用八位单片机作为控制器件。
当系统进行语音再生时,单片机控制语音合成电路中的语音芯片来读取其外接的存储器内部的语音信息,并合成语音信号,再通过语音输出电路,进行语音报站和提示。
同时,单片机通过程序读取文字信息,送入液晶显示模组来进行站数和站名的显示。
当汽车到达某站时,司机或乘务人员通过键盘来控制系统进行工作。
而且,系统具有根据公交车的行驶方向确定报站顺序的功能(司机或乘务人员可以通过按键来控制)。
当系统进行语音录制时,语音信号通过语音录入电路送给语音合成电路中的语音芯片,由语音芯片进行数据处理,并将生成的数字语音信息存储到语音存储芯片中,从而建立语音库。
2.2方案设计
图2-1原理框图
为了降低控制仪器成本并减小体积,系统采用了Intel生产的AT89C51单片机作为主控芯片。
语音提示模块选用ISD4004系列语音芯片,外接话筒和音箱组成语音录制和播放电路。
其中,音箱由音频功率放大器LM386驱动。
文字显示模组采用LCD12864液晶屏作为显示单元,液晶显示器LCD(LiquidCrystalDisplay)广泛应用于微型计算机系统中,与LED相比,具有功率低,抗干扰能力强,体积小,价格低廉等优点。
键盘接口电路采用独立按键设计,通过触发器来消除按键抖动。
电源采用7805作为稳压器件,将公交车上的+24V直流电压转变为+5V直流电压。
7805是集成稳压器具有稳压精度高、工作稳定可靠、外围电路简单、体积小、重量轻等显箸优点。
第3章硬件电路的设计
公交车报站系统主要由四个部分组成,即主控电路、键盘接口电路、语音电路以及LCD点阵汉字显示电路。
各部分电路的设计在本章中做了详细的说明。
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所示。
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口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
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编程和校验时接收高八位地址信号和控制信号。
图3-2AT89C51引脚图
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端输入,
图3-3AT89C51单片机内部振荡器电路
而XTAL2端浮空。
在组成一个单片机应用系统时,多数采用图3-5所示的方法,这种方式的结构紧凑,成本低廉,可靠性高。
图3-4外部时钟接法
图3-5片内振荡器等效电路
振荡器的等效电路如图3-5上部所示。
在图中给出了外接元件,即外接晶及电容C1,C2,并组成并联谐振电路。
在本设计中,采用的是内部方式,即如图3-5所示,在XTAL1和XTAL2引脚上外接一个12MHZ的晶振及两个10pF的电容组成。
3.1.3复位电路的设计
89系列单片机与其他微处理器一样,在启动的时候都需要复位,使CPU及系统各部件处于确定的初始状态,并从初始状态开始工作。
89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。
当系统处于正常工作状态时,且振荡器稳定后,如RST引脚上有一个高电平并维持2个机器(24个振荡周期),则CPU就可以响应并将系统复位。
复位时序如图3-6所示,因外部的复位信号是与内部时钟异步的,所以在每个机器周期的S5P2都对RST引脚上的状态采样。
当在RST端采样到“1”信号且该信号维持19个振荡周期以后,将ALE和/PSEN接成高电平,使器件复位。
在RST端电压变低后,经过1-2个机器周期后退出复位状态,重新启动时钟,并恢复ALE和/PSEN的状态。
如果在系统复位期间将ALE和/PSEN引脚拉成低电平,则会引起芯片进入不定状态。
图3-6内部复位定时时序
3.1.3.1手动复位
手动复位需要人为在复位输入端RST上加入高电平。
一般采用的办法是在RST端和正电源Vcc之间接一个按钮。
当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。
由于人的动作很快也会使按钮保持接通达数十毫秒,所以,保证能满足复位的时间要求。
手动复位的电路如图3-7所示。
图3-7手动复位电路
3.1.3.2上电复位
AT89C51的上电复位电路如图3-8所示,只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。
对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1uF。
上电复位的过程是在加电时,复位电路通过电容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平信号必须维持足够长的时间。
上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms。
在图3-7的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。
另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“1”态。
如果系统在上电时得不到有效的复位,则在程序计数器PC中将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。
图3-8上电复位电路
3.1.3.3复位后寄存器的状态
当系统复位时,内部寄存器的状态如表3-1所列,即在SFRS中,除了端口锁存器、堆栈指针SP和串行口的SBUF外,其余的寄存器全部清0,端口锁存器的复位值为0FFH,堆栈指针值为07H,SBUF内为不定值。
内部RAM的状态不受复位的影响,在系统上电时,RAM的内容是不定的。
在本设计中复位电路采用的是上电复位,即如图3-8所示。
表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
3.1.4电压变换电路的设计
公交车上所使用的电源电压为24V,而AT89C51芯片的工作电压为5V,所以需要将24V的电压转换成5V电压。
设计中采用了三端固定正电压集成稳压器7805,来得到+5V稳定电压。
电压变换电路如图3-9所示。
集成稳压器是指将不稳定的直流电压变为稳定的直流电压的集成电路。
由于集成稳压器具有稳压精度高、工作稳定可靠、外围电路简单、体积小、重量轻等显箸优点,在各种电源电路中得到了普遍的应用。
常用的集成稳压器有:
金属圆形封装、金属菱形封装、塑料封装、带散热板塑封、扁平式封装、双列直插式封装等。
在电子制用中应用较多的是三端固定输出稳压器。
78xx系列集成稳压器是常用的固定正输出电压的集成稳压器,输出电压有5V、6V、9V、12V、15V、18V、24V等规格,最大输出电流为1.5A。
它的内部含有限流保护、过热保护和过压保护电路,采用了噪声低、温度漂移小的基准电压源,工作稳定可靠。
根据输出电流值的不同,选用不同系列的芯片,当电流小于100mA时,可以选用78L00系列;当电流在0.5A以内时,可选用78M00系列;当电流在1.5A以内,应选用7800系列的芯片。
7805的最大输出电流为1.5A。
图3-9电压变换电路
3.2语音输出电路的设计
3.2.1关于语音芯片
3.2.1.1ISD—Winbond语音芯片概述
美国ISD(InformationStorsgeDevices)公司是专业研制和生产先进的半导体语音芯片的著名厂家和领导者,其开发的高密度“多级”存储方法称作“ChipCorder”的专业技术,可以在一个存储单元存储256级的不同电平,即存储相同信息仅需要用传统存储技术1/8的存储空间。
该公司与1998年12月被台湾华邦(Winbond)并购,1990年改名为WECA(WinbondElectronicCorprationAmerican),但保留其ISD名称和标识,这个合并将把ISD公司领先的信息存储、语音录放技术和强大的用户群与Winbond公司的高效率的制造能力和分布于全时间的营销能力结合起来。
ISD系列语音芯片有ISD1100系列、ISD1200系列、ISD1400系列、ISD2500系列、ISD4000系列和ISD5000系列几种。
ISD1100系列中有10s和12s的单片声音录放器件ISD1110和ISD1112。
ISD1200系列中有10s和12s的单片声音录放器件ISD1210和ISD1212。
ISD1400系列中有16s和20s的单片声音录放器件ISD1416和ISD1620。
ISD1800系列中有8s、10s、12s和16s的单片单段声音录放器件ISD1810。
ISD2500系列中有32s、40s、48s、64s和60s、75s、90s、120s的单片声音录放器件ISD2532、ISD2540、ISD2548、ISD2564和ISD2560、ISD2575、ISD2590、ISD120。
ISD4000系列中有120s、150s、180s和240s的单片声音录放器件ISD4001、ISD4002、ISD4003和ISD4004。
ISD5000系列中有4min、5min、6min和8min的单片声音录放器件ISD5008。
其中ISD1100系列、ISD1200系列和ISD1400系列都是独立使用;ISD2500系列是手动切换或则与微控制器兼容,放音时可以用边沿或电平进行触发;ISD4000系列、ISD5000系列都带有微控制器SPI或Microwire串行接口。
3.2.1.2语音芯片ISD4004
ISD4000系列单片声音录放器件是用CMOS工艺实现的高语音质量、3V工作电压的集成电路芯片,特别适用于移动电话和各种便携式产品。
按录放时间又分ISD4002、ISD4003和ISD4004三个子系列。
片内集成有振荡器、抗混叠滤波器、平滑滤波器、自动静音电路、音频放大器和高密度多级Flash存储阵列。
这个系列的新片要求用于微处理器或微控制器系列,通过串行外围接口SPI或Microwire串行接口进行寻址和控制。
录音数据被存放方法是通过ISD的多级存储专利技术实现的,用声音和声频信号的自然形式直接存放在故态存储器中,从而提供高质量回放语音的保真度。
1.ISD4004的主要性能及其特点:
(1)单片实现声音录放功能
(2)采用单一3V工作电压
(3)低功耗:
典型的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 ISD4004 51 单片机 公交车 报站 系统 程序 原理图