公交车语音报站系统.docx

上传人:b****5 文档编号:4958050 上传时间:2022-12-12 格式:DOCX 页数:52 大小:678.97KB
下载 相关 举报
公交车语音报站系统.docx_第1页
第1页 / 共52页
公交车语音报站系统.docx_第2页
第2页 / 共52页
公交车语音报站系统.docx_第3页
第3页 / 共52页
公交车语音报站系统.docx_第4页
第4页 / 共52页
公交车语音报站系统.docx_第5页
第5页 / 共52页
点击查看更多>>
下载资源
资源描述

公交车语音报站系统.docx

《公交车语音报站系统.docx》由会员分享,可在线阅读,更多相关《公交车语音报站系统.docx(52页珍藏版)》请在冰豆网上搜索。

公交车语音报站系统.docx

公交车语音报站系统

摘 要

随着国民经济的快速发展,我国城市人口高度集中并大幅增长,交通需求不断扩大导致城市道路交通拥挤,乘坐公交车出行是解决我国城市交通发展问题和实践低碳环保绿色出行的有效途径,随着近年来城市公交事业迅速发展,之前靠售票员报站的方式已经不能满足实际需要,在到站后能够及时报站的公交车语音报站系统不但能解决这个实际问题也有助于提高公交服务质量。

本设计介绍了基于单片机的公交车语音报站系统的设计,对系统软件设计和硬件实现进行了详细的描述,主要内容是用STC89C52单片机为核心控制元件,ISD4004语音芯片为录音模块,以液晶屏为显示模块,以独立按键K1、K2为输入设备,扬声器为语音输出设备,设计一个带语音报站和液晶显示功能的公交车报站系统。

先将语音内容通过录音键录入语音芯片中,当按下放音键时,语音模块进行放音同时通过液晶屏显示对应的文字信息。

本系统运行稳定,硬件电路简单,软件功能完善,控制系统可靠,具有一定的实用和参考价值。

 

关键词:

 单片机 语音提示 液晶屏 公交报站

Abstract

Withthetake-offofthenationaleconomy,China'surbanpopulationisremarkablyexploding.Theincreasingdemandfortransportsgivesrisetotrafficcongestioninurbanareas.Therefore,publicbussystemisnotonlyanefficientwaytosolvetheproblemoftrafficcongestionbutawaytoputthe“Low-CarbonTransportation”intoofdate.Therecentdevelopmentofpublictransportationrequiresaphoneticsystemwhichcanautomaticallyannouncebusstations.Theadvancedsystemisconducivetosolvingmanyproblemsandimprovingservicequalityintransportation.

ThispaperintroducestheautomaticstopannouncerbasedonSTC89C52andaimstoexplicitlydescribethesoftwareandhardwareappliedinthesystem.ThemainfeaturesofthesystemarethatSTC89C52isusedforcorecontrollingcomponents,ISD4004pronunciationchipforrecording,LCD12864screenforvideodisplays,independentkeyK1andK2forinputdevice,loudspeakerforoutputdevice.Thisisdesignedforastopannouncementanddisplaysystemforbuses.Thevoicemessageisrecordedinthepronunciationchipinadvance.Whenthe“Play”keyispressed,thevoiceofstationannouncementsimultaneouslyappearswiththeinformationonthescreen.Thissystemenjoystheadvantageofstability,simplicityandreliability.Thefull-featuredsystemisanidealmodelandiseasilyputintouse.

 

Keywords:

 Microcontroller Voiceprompt LCDscreen Busstopannouncer

目 录

第1章 绪 论

1.1 课题研究的背景

随着社会经济的发展,城市化进程越来越快,城市人口急剧增加从而使城市交通压力不断增大,在倡导绿色低碳环保的今天,公交车作为城市公共交通的重要方式,是城市居民出行的重要工具。

因为公交车具有方便、快捷、经济实惠等优点。

公共汽车为外出的人们提供了方便快捷的服务,而公共汽车的报站直接影响到服务的质量。

1.2 课题研究的意义

传统由乘务人员人工报站的方式工作强度大且效果差,并需要大量的人力资源。

而通过单片机和语音芯片的结合,使得公交车到站信息及提示信息以语音和显示的方式告知乘客,为市民提供更人性化,完善的服务,并且节省了大量的人力资源。

公交车语音报站系统还可以结合每条线路的特点和实际情况自主设定不同的报站方式和站点设置,在为乘客提供方便的同时也便于公交车的运营和司乘人员的操作。

1.3 课题研究的主要内容

本论文主要是对C语言和单片机的一些基本知识、概念的应用学习和研究,以及STC89C52芯片模块、ISD4004语音模块和LCD12864液晶屏的开发设计,该设计的目的是设计一实现单片机与语音控制芯片系统互联,通过按键,系统可播报相应的车站信息或者公益提醒,也可以实现录音和放音功能。

本设计的主要工作有以下几个方面:

1、整体方案的设计

方案的选择要符合芯片功能的要求,既要保证操作简单适合公交司机操作,又要体现出本产品的特点,本文研究设计的带录音功能的公交车语音报站系统是采用STC89C52单片机和ISD4004语音芯片,用来实现公交车站信息的播放以及录音和放音功能,用LCD12864带中文字库的液晶显示屏实现公交站名的显示。

2、程序流程图及软件设计

一个程序要想实现其功能,不能没有次序而盲目下手,必须对其有一个全面的了解后画出流程框图,然后逐个模块的实现其功能,最终把模块之间合理的连接起来,构成完整程序。

本设计的软件设计主要包括系统的初始化设计、延时子程序的设计、录音子程序的设计、放音子程序的设计、液晶屏的显示设计、中断程序设计、以及主程序设计等。

整个系统程序采用模块化结构设计程序相对比较优化易修改和调试,系统软件的开发是用C语言设计的。

3、系统原理图及硬件调试

本设计在进行硬件原理分析后,需要连接实物进行实际操作,检验自己的设计是否可以行得通。

需要在protel99SE环境下画出硬件原理图并进行电气测试,检测无异议后进行硬件系统的调试,为了保证系统的可靠性分析查找,硬件的调试分模块分别进行了模拟。

第2章 系统总体设计方案

2.1 功能要求

1、通过STC89C52芯片实现对按键的读取并将所对应的信息送至扬声器同时将到站信息通过液晶屏显示;

2、语音芯片ISD4004完成语音模块,实现公交站信息的录入及到站时的放音功能;

3、采用两个独立按键,作为录音和放音的控制键;

4、采用LCD12864液晶屏,显示相对应的站的信息;

2.2 设计思路

电路总体上分为主芯片控制部分、语音芯片和液晶显示部分。

以STC89C52单片机最小系统作为核心控制电路,控制独立按键对录音放音的选择,具体显示内容及方式由软件来完成。

语音部分由ISD4004芯片来实现,它是一个多功能的语音芯片,可以多次重复录放,本设计正是运用此特点,完成录音和放音功能的。

具体步骤是:

先录入两站的信息,存储到芯片内部,建立语音库,并且具体锁定到对应的地址中,通过按键的次序播放不同的信息。

2.3 方案选择

2.3.1 显示模块选择方案

方案一:

用LCD1602液晶显示,但是由于1602主要显示英文和字符,不适合用于带汉字的公交车报站。

方案二:

采用LCD12864不带字库芯片,但需要用取模软件取模,PROTEUS可以仿真HT1621(1602)KS0108(12864)T6963C(24064),等系列的模块,需先学会仿真软件

方案三:

采用带字库的LCD12864芯片,可直接调用字库,使用比较方便。

鉴于上述对比与分析,本设计采用方案三。

2.3.2 按键选择方案

方案一:

采用STC89C52的独立键盘,其独立键盘有4个按键,按键数量符合录音和放音两个按键的需要。

方案二:

采用STC89C52的矩阵键盘,其矩阵键盘具有16个按键,数量太多,不如独立按键方便。

故采用K1和K2两个独立按键,K1为放音键,按第一下时,对应播放第一站信息,同时调用显示子程序,在液晶屏上显示对应信息。

按第二下时,对应播放第二站信息,并在液晶屏上显示信息。

K2为录音键,按下时,录制第一段语音信息并存放在对应的地址中,按下第二下时,录制第二段语音信息并存放于第二段语音对应的地址中,以方便调用。

2.3.3 芯片选择方案

方案一:

AT89C51是美国ATMEL公司生产的低电压,高性能CMOS型8位单片机,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大。

其片内的4K程序存储器是FLASH工艺的,这种单片机对开发设备的要求很低,开发时间也大大缩短。

写入单片机内的程序还可以进行加密,这又很好地保护我们的劳动成果。

再者,AT89C51目前的售价比8031低,市场供应也很充足。

AT89C51可构成真正的单片机最小应用系统,缩小系统体积,增加系统的可靠性,降低系统的成本。

只要程序长度小于4K,四个I/O口全部提供给用户。

可用5V电压编程,而且擦写时间仅需l0ms。

AT89C51芯片提供三级程序存储器加密,提供了方便灵活而可靠的硬加密手段,能完全保证程序或系统不被仿制。

PO口是三态双向口,通称数据总线口,因为只有该口能直接用于对外部存储器的读/写操作[1]。

方案二:

STC89C52单片机的指令系统和AT89C51系列的完全兼容

1、AT89C51不带ISP下载,要用下载器才行,STC89C52可以用你的USB转串口下载,下载软件可以到STC厂家网上去下。

2、STC单片机执行指令的速度很快,大约是AT的3-30倍,所以在AT上好使的程序在STC上不一定好用,最典型的例子就是那些对时序有严格要求的模块,比如IIC,DS18B20、DS1302等的时序。

再者,由于执行速度的加快,非定时器控制的精确延时也会受到一定影响,用STC时注意得加长延时,大约是AT的10—30倍。

3、片机对工作环境的要求比较低,电压低于5伏时仍然正常工作,甚至3伏到4伏之间都还可以工作,然而这样的环境下AT肯定不行了,所以当一个系统用STC单片机好用,但用AT的单片机不工作时,直接查最小系统,看单片机的供电是否正常。

比较这两种方案,由于在学校期间学过数字电路、单片机原理、C语言程序设计,综合考虑单片机的各部分资源和作为学生能够获得的资源,经过对比此次设计要求,我选择用STC系列芯片完成。

而且学校也提供了相应的硬件操作平台,实际操作起来比较方便,故STC为更合理的选择。

2.4总体设计框图

按照系统功能的具体要求,在保证实现其功能的然础上,尽可能降低系统成本。

总体设计方案围绕上述思想,初步确定系统的方案如图2-1所示:

 

图2-1 系统初步方案

从图中可以看出,系统有微处理器模块、液晶屏显示模块、独立按键模块和语音模块组成。

在方案设计中,遵循简洁至上的原则,因此所有的外围模块采用串行方式与微处理器模块接口。

该设计以STC89C52系列单片机为控制核心,实现公交车语音报站基本功能。

在设计系统时,为了更好地采用模块化设计法,分步的设计各个单元功能模块,系统的硬件部分可以分为键盘设定、单片机控制、LCD显示和语音控制四大部分。

第3章 系统硬件设计

3.1 概述

此次的毕业设计主要由4个大的模块构成,分别是主控模块、语音芯片模块、LCD液晶显示模块、键盘控制模块,其中主控模块是此次毕业设计的核心模块,主要是指STC89C52芯片,它控制整个系统的运行,利用其各个口分别控制其他模块,使其他模块能够成为一个整体,实现功能的需要;语音模块主要指ISD4004芯片和LM386芯片,用ISD4004来实现录音功能,LM386实现功率放大;而LCD液晶显示模块是整个系统的辅助模块,用来显示到站信息;按键控制模块则是用按键来控制实现的是哪个功能,对应录音、放音。

3.2 主控模块

3.2.1 STC89C52芯片的简介

功能特性:

STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。

与工业80C51产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案,如图3-1所示。

STC89C52具有以下标准功能:

8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。

另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

主要性能:

与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:

0Hz~33Hz 、三级加密程序存储器 、32个可编程I/O口线 、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符[1]。

如图3-1:

图3-1 STC89C52芯片

管脚说明:

P0口:

P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。

当P1口的管脚第一次写1时,被定义为高阻输入。

P0能够用于外部程序数据存储器,它可以被定义为数据/地址的低八位。

在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。

P1口:

P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。

P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,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口也可作为STC89C52的一些特殊功能口,如表3-1所示:

表3-1 P3口的第二功能

接口

第二功能

P3.0

RXD(串行输入口)

P3.1

TXD(串行输出口)

P3.2

INT0(外部中断0)

P3.3

INT1(外部中断1)

P3.4

T0(记时器0外部输入)

P3.5

T1(记时器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:

来自反相振荡器的输出。

XTAL1和XTAL2分别为反相放大器的输入和输出。

该反相放大器可以配置为片内振荡器。

石晶振荡和陶瓷振荡均可采用。

如采用外部时钟源驱动器件,XTAL2应不接。

有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。

3.2.2 主控模块电路原理图

单片机主控模块由STC89C52芯片和晶振复位组成。

复位和晶振电路通过接口与单片机个引脚相连,复位电路接到RST口,晶振接到XTAL1口和XTAL2口上。

如图3-2,3-3所示:

图3-2 STC89C52芯片

 

图3-3 晶振复位

3.3 语音芯片模块

3.3.1 ISD4004芯片简介

ISD4004语音系列芯片是美国ISD公司推出的产品,与普通的录音/重放芯片相比,ISD4004具有如下特点:

首先是记录声音没有段长度限制,并且声音记录不需要A/D转换和压缩。

其次,快速闪存作为存储介质,无需电源可保存数据长达100年,重复记录10000次以上。

此外,ISD4004具有记录时间长(可达16分钟,本文采用的为8分钟的ISD4004语音芯片)的优点。

最后,ISD4004开发应用具有所需外围电路简单的优点,这一点从本文介绍的其在实际应用中可以体会到[10]。

ISD4004芯片如图3-4所示:

图3-4 ISD4004芯片

1、引脚介绍:

电源(VCCA,VCCD):

为使噪声最小,芯片的模拟和数字电路使用不同的电源总线,并A分别引到外封装的不同管脚上模拟和数字电源端最好分别走线尽可能在靠近供电端处相连,而去藕电容应尽量靠近器件。

地线(VSSA,VSSD):

芯片内部的模拟和数字电路也使用不同的地线。

同相模拟输入(ANAIN+):

这是录音信号的同相输入端。

输入放大器可用单端或差分驱动。

单端输入时,信号由藕合电容输入,最大幅度为峰峰值32mV,藕合电容和本端的3KΩ电阻输入阻抗决定了芯片频带的低端截止频率。

差分驱动时,信号最大幅度为峰峰值16mV,为ISD33000系列相同。

反相模拟输入(ANAIN-):

差分驱动时,这是录音信号的反相输入端。

信号通过藕合电容输入,最大幅度为峰峰值16mV

音频输出(AUDOUT):

提供音频输出,可驱动5KΩ的负载。

片选(SS):

此端为低,即向该ISD4004芯片发送指令,两条指令之问为高电平。

串行输入(MOSI):

此端为串行输入端,主控制器应在串行时钟上升沿之前半个周期将数据放到本端,供ISD输入。

串行输出(MISO):

ISD的串行输出端。

ISD未选中时,本端呈高阻态。

串行时钟(SCLK):

ISD的时钟输入端,由主控制器产生,用于同步MOSI和MISO的数据传输。

数据在SCLK上升沿锁存到ISD在下降沿移出ISD。

中断(INT):

本端为漏极开路输出。

ISD在任何操作(包括快进)中检测到EOM或OVF时,本端变低并保持。

中断状态在下一个SPI周期开始时清除。

中断状态也可用RINT指令读取。

OVF标志一指示ISD的录、放操作已到达存储器的未尾。

EOM标志一只在放音中检测到内部的EOM标志时此状态位才置1。

行地址时钟(RAC):

漏极开路输出。

每个RAC周期表示ISD存储器的操作进行了一行(ISD4004系列中的存贮器共2400行)。

该信号175ms保持高电平,低电平为25ms。

快进模式下,RAC的218.75µs是高电平,31.25µs为低电平。

该端可用于存储管理技术。

外部时钟(XCLK):

本端内部有下拉元件。

芯片内部的采样时钟在出厂前已调校,误差在+1%内。

商业级芯片在整个温度和电压范围内,频率变化在+2.25%内。

工业级芯片在整个温度和电压范围内,频率变化在-6/+4%内,此时建议使用稳压电源。

若要求更高精度,可从本端输入外部时钟(如前表所列)。

由于内部的防混淆及平滑滤波器已设定,故上述推荐的时钟频率不应改变。

输入时钟的占空比无关紧要,因内部首先进行了分频。

在不外接地时钟时此端必须接地。

自动静噪(AMCAP):

当录音信号电平下降到内部设定的某一阑值以下时,自动静噪功能使信号衰弱,这样有助于养活无信号(静音)时的噪声。

通常本端对地接1mF的电容,构成内部信号电平峰值检测电路的一部分。

检出的峰值电平与内部设定的阑值作比较,决定自动静噪功能的翻转点。

大信号时,自动静噪电路不衰减,静音时衰减6dB。

1mF的电容也影响自动静噪电路对信号幅度的响应速度。

本端接VCCA则禁止自动静噪

2、操作规则

(1)串行外设接口ISD4000系列语音芯片工作于SPI串行接口。

SPI协议是一个同步串行数据传输协议,设定微控制器的SPI移位寄存器在SCLK的下降沿将数据送至MISO引脚。

以ISD4004为例,协议的具体内容如下[5]:

所有串行数据传输开始于SS下降沿。

SS在传输期间必须保持低电平,在两条指令之间则保持高电平。

数据在时钟上升沿移入,在下降沿移出。

SS变低,输入指令和地址后,ISD4004才能开始录/放操作。

指令格式是(八位控制码)加(十六位地址码)。

ISD4004的任何操作如果遇到EOM或OVF,则产生一个中断,该中断状态在下一个SPI周期开始时被清除。

使用“读”指令使中断状态位移出ISD4004的MISO引脚时,控制及地址数据也应同步从MOSI端移入。

因此,要注意移入的数据是否与器件当前进行的操作兼容。

当然,也允许在一个SPI周期里,同时执行读状态和开始新的操作(即新移入的数据与器件当前的操作可以不兼容)。

所有操作在运行位(RUN)置1时开始,置0时结束。

所有指令都在SS端上升沿开始执行。

(2)信息快进用户不必知道信息的确切地址就能快进跳过一条信息。

信息快进只用于放音模式,放音速度是正常的1600倍,遇到EOM后停止,然后内部地址计数器1,指向下一条信息的开始处。

(3)上电顺序器件延时TPUD(8KHz采样时,约为25ms)后才能开始操作。

因此,用户发完上电指令后,必须等待TPUD,才能发出下一条操作指令。

例如,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1