公交车车载语音报站LED大屏显示系统毕业设计.docx

上传人:b****8 文档编号:9145448 上传时间:2023-02-03 格式:DOCX 页数:64 大小:709.73KB
下载 相关 举报
公交车车载语音报站LED大屏显示系统毕业设计.docx_第1页
第1页 / 共64页
公交车车载语音报站LED大屏显示系统毕业设计.docx_第2页
第2页 / 共64页
公交车车载语音报站LED大屏显示系统毕业设计.docx_第3页
第3页 / 共64页
公交车车载语音报站LED大屏显示系统毕业设计.docx_第4页
第4页 / 共64页
公交车车载语音报站LED大屏显示系统毕业设计.docx_第5页
第5页 / 共64页
点击查看更多>>
下载资源
资源描述

公交车车载语音报站LED大屏显示系统毕业设计.docx

《公交车车载语音报站LED大屏显示系统毕业设计.docx》由会员分享,可在线阅读,更多相关《公交车车载语音报站LED大屏显示系统毕业设计.docx(64页珍藏版)》请在冰豆网上搜索。

公交车车载语音报站LED大屏显示系统毕业设计.docx

公交车车载语音报站LED大屏显示系统毕业设计

引言

近年来,随着科学技术的发展,微型计算机技术日益发展,已经在许多领域得到了广泛的应用。

在声学领域,微机技术与各种语音芯片相结合,即可完成语音的合成技术,使得公交车报站器的实现成为可能,使得人们能够得到更加人性化的服务。

现在的公交车上大部分都采用投币的购票方式,同时,不再设乘务员。

本系统主要是解决如何方便、准确地指示乘客到站的问题,另外,该系统还可以为乘客提供各种各样的提示或警示服务,同时显示公共信息供乘客参考,使得乘客能愉快、安全地上下车。

本设计中使用AT89C52单片机来控制ISD4004语音芯片,使其工作在CPU控制模式下,在该模式下,语音芯片能够建立2400段语音库信息,每段400ms,并且可以对此2400段语音信息进行自由组合,形成变化多样的语音提示信息,再配合多达10字的汉字LED显示屏提示,就使得该报站系统更加方便、实用。

本系统采用模拟语音数据直接存储ISD4004语音芯片在公交车报站器上的设计应用,使语音报站器的语音自然、音质好。

本系统使用AT89C52作为CPU,由CPU来控制ISD4004语音芯片,使其工作在CPU控制模式下。

当系统进行语音再生时,由CPU控制语音电路中的语音芯片来读取其外部扩展的存储器内部的语音信息,并合成语音信号,再通过语音输出电路和扬声器,进行语音报站和提示。

CPU同时通过程序读取汉字信息,送入LED点阵显示电路来进行汉字提示。

当汽车到达某站时,公交车司机可以通过键盘来控制本系统进行工作,并且,系统使用了状态显示电路,向司机指示出当前的站号,司机可通过键盘来调整当前状态。

第一章方案论证

方案一:

方案一系统框图如图1所示。

此方案充分利用了单片机资源,外围扩展电路较少,ISD4004语音芯片与单片机AT89C52连接简便,外围电路简单。

ISD4004语音芯片记录声音没有段长度限制,声音不再需要A/D转换和压缩,记录时间最长可达16分钟,无需电源可保存数据长达100年,重复记录10000次以上。

该芯片采用CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮陈列。

单片机AT89C52兼容MCS51指令系统,具有可反复擦写的闪存,功能强大,使用方便。

芯片采用CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮陈列。

方案二:

方案二系统框图如图2所示。

此方案的语音电路采用了磁带录放的形式,磁带成本低,语音录制简单方便,单片机采用80C31,AT89C52与80C31相比,优越性在于,其片内闪速存储器的编程与擦除完全用电实现;数据不易挥发可保存10年;编程/擦除速度快,全8KB编程只需几秒,擦除时间约用10ms;AT89C52可实现在线编程;也可下载。

 

比较分析:

比较方案一与方案二,ISD4004语音电路比之磁带录放语音电路,ISD4004芯片具有的多次重复录放、自带存储器、使用简单等优点。

芯片采用多电平直接模拟量存储技术,每个采样值直接存贮在片内闪烁存贮器中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和"金属声"。

而磁带不易保存,容易损坏,音质容易变调,加上放音后还要倒带,不是数字信号,不容易跟LED显示屏幕同步。

AT89C52是一种低功耗、低电压、高性能、内含8KB闪速存储器(FlashMemory)的8位CMOS单片机,与工业标准MCS-51指令系统和引脚完全兼容,片内闪速存储器的程序代码或数据可在线写入,亦可通过常规的编程器编程,反复擦写的Flash存储器有效地降低开发成本。

相对于单片机80C31而言,AT89C52有更强大的功能。

综上所述,方案一比之方案二要好,本设计采用方案一,将在以下章节中对其做详细的阐述。

 

第二章系统的硬件设计

2.1系统控制单元

2.1.1单片机AT89C52:

●AT89C52单片机简介:

AT89C52是由美国Atmel公司生产的至今为止世界上最新型的高性能八位单片机。

AT89C52是一种低功耗、低电压、高性能、内含8KB闪速存储器(FlashMemory)的8位CMOS单片机。

这种器件以ATMEL高密度不挥发存储技术制造,与工业标准MCS-51指令系统和引脚完全兼容。

片内闪速存储器的程序代码或数据可在线写入,亦可通过常规的编程器编程。

AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外部中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。

其将通用的微处理器和Flash存储器结合在一起,特别是反复擦写的Flash存储器可有效地降低开发成本。

AT89C52与80C31相比,优越性就在于,其片内闪速存储器的编程与擦除完全用电实现;数据不易挥发可保存10年;编程/擦除速度快,全8KB编程只需几秒,擦除时间约用10ms;AT89C52可实现在线编程,也可下载。

●AT89C52的特点:

兼容MCS-51指令系统;

8k可反复擦写(>1000次)FlashROM;

256*8bit内部RAM;32个双向I/O口;

3个16位可编程定时/计数器中断;

时钟频率0~24MHz;3级加密位;

2个串行中断;2个外部中断源;

2个读写中断口线;6个中断源;

可编程UART串行通道;

低功耗空闲和丢电模式;

软件设置睡眠和唤醒功能。

●AT89C52的引脚功能:

其引脚图如图2.1.1.1所示。

它有3种封装方式,PDIP、PQFP/TQFP和PLCC/LCC。

AT89C52单片机为40引脚芯片。

各引脚功能说明如下:

1.主电源引脚:

Vcc(40脚):

接+5V电源正端。

GND(20脚):

接+5V电源地端。

2.输入/输出引脚:

(1)P0口(39~32脚):

P0.0~P0.7统称为P0口。

在不接片外存储器与不扩展I/O口时,可作为准双向输入/输出口。

在接有片外存储器或扩展I/O口时,P0口分时复用为低8位地址总线和双向数据总线。

(2)P1口(1~8脚):

P1.0~P1.7统称为P1口,可作为准双向I/O口使用。

出此之外还有第二功能:

P1.0可用作定时器/计数器2的计数脉冲输入端T2,P1.1可用作定时器/计数器2的外部控制端T2EX。

(3)P2口(21~28脚):

P2.0~P2.7统称为P2口,一般可作为准双向I/O口使用;在接有片外存储器或扩展I/O口且寻址范围超过256个字节时,P2口用作高8位地址总线。

(4)P3口(10~17脚):

P3.0~P3.7统称为P3口。

除作为准双向I/O口使用外,还可以将每一位用于第二功能,而且P3口的每一条引脚均可独立定义为第一功能的输入输出或第二功能。

P3口的第二功能如表2.1.1.2所示。

端口引脚

第二功能

P3.0

RXD(串行口输入端)

P3.1

TXD(串行口输出端)

P3.2

(外部中断0请求输入端,低电平有效)

P3.3

(外部中断1请求输入端,低电平有效)

P3.4

T0(定时器/数器0计数脉冲输入端)

P3.5

T1(定时器/数器1计数脉冲输入端)

P3.6

(外部数据存储器写选通信号输出端,低电平有效)

P3.7

(外部数据存储器读选通信号输出端,低电平有效)

3.控制线:

(1)ALE/PROG(30脚):

地址锁存有效信号输出端。

ALE在每个机器周期内输出两个脉冲。

在访问片外程序存储器期间,下降沿用于控制锁存P0输出的低8位地址;在不访问片外程序存储器期间,可作为对外输出的时钟脉冲或用于定时目的。

(2)/PSEN(29脚):

片外程序存储器读选通信号输出端,低电平有效。

当从片外程序存储器读取指令或常数期间,每个机器周期该信号两次有效,以通过数据总线P0口读回指令或常数。

(3)RST(9脚):

RST即为RESET,该引脚为单片机的上电复位端。

当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机回到初始状态。

上电时,考虑到单片机有一定的起振时间,该引脚上高电平必须持续10ms以上才能保证有效复位。

(4)/EA/Vpp(31脚):

片外程序存储器选用端。

该引脚有效(低电平)时,只选用片外程序存储器,否则单片机上电或复位后选用片内程序存储器。

4.外接晶体引脚:

XTAL1(19脚):

接外部石英晶体的一端。

在单片机内部,它是一个反向放大器的输入端,这个放大器构成了片内振荡器。

XTAL2(18脚):

接外部石英晶体的另一端。

在单片机内部,它是片内振荡器的反向放大器的输出端。

●AT89C52控制部件及振荡器

控制部件是单片机的神经中枢,它包括定时和控制电路、指令寄存器、译码器以及信号传送控制等部件。

它先以主振频率为基准发出CPU的时序,对指令进行译码,然后发出各种控制信号,完成一系列定时控制的微操作,用来协调单片机内部各功能部件之间的数据传送、数据运算等操作,并对外发出地址锁存ALE、外部程序存储器选通/PSEN,以及通过P3.6和P3.7发出数据存储器读/RD、写/WR等控制信号,并且接收处理外接的复位和外部程序存储器访问控制/EA信号。

单片机的定时控制功能是用片内的时钟电路和定时电路来完成的,而片内的时钟产生有两种方式:

内部时钟方式和外部时钟方式。

采用内部时钟方式时,如图2.1.1.3所示。

片内高增益反相放大器通过XTAL1、XTAL2外接作为反馈元件的晶体(呈感性)与电容组成的并联谐振回路构成一个自激振荡器向内部时钟电路提供振荡时钟。

振荡器的频率主要取决与晶体的振荡频率,一般晶体可在1.2~12MHz之间任选。

电容C1、C2的值则有微调作用,通常取20pF左右。

●AT89C52的程序存储器:

计算机的工作是按照事先编制好的程序命令序列一条条顺序执行的,程序存储器就是用来存放这些以编好的程序和表格常数,它由只读存储器ROM或EPROM组成。

计算机为了有序地工作,设置了一个专用寄存器——程序计数器PC,用以存放将要执行的指令地址。

每取出指令的一个字节后,其内容自动加1,指向下一字节地址,使计算机依次从程序存储器取出指令予以执行,完成某种程序操作。

AT89C52可寻址的地址空间为8KB。

下图2.1.1.4为AT89C52程序存储器编址图。

单片机执行指令,是从片内程序存储器取指令,还是从片外程序存储器取指令,首先由单片机/EA引脚电平的高低来决定。

/EA=1为高电平时,先执行片内程序存储器的程序,当PC的内容超过片内程序存储器地址的最大值(1FFFH)时,将自动转去执行片外程序存储器中的程序;/EA为低电平时,CPU从片外程序存储器中取指令执行程序。

本设计AT89C52单片机/EA=1接高电平。

程序存储器的7个特殊入口地址见表2.1.1.5所示。

操作

入口地址

复位

0000H

外部中断

0003H

定时器/计数器0溢出

000BH

外部中断1

0013H

定时器/计数器1溢出

001BH

串行口中断

0023H

T2EX端负跳变

002BH

 

●AT89C52数据存储器:

单片机片内、片外数据存储器是两个独立的地址空间,应分别单独编址。

片内数据存储器除RAM块外,还有特殊功能寄存器SFR块。

对于AT89C52单片机,前者有256个字节,其编址为00H~FFH;后者有128个字节,其编址为80H~FFH。

后者与前者高128个字节的地址是重叠的,由于访问它们所用的指令不同,并不会引起混乱。

其数据存储器编址图见图2.1.1.6所示。

片外数据存储器按16位编址时,其地址空间与程序存储器重叠,但不会引起混乱,访问程序存储器是用/PSEN信号选通,而访问片外存储器时,由/RD信号和/WR信号选通。

2.1.28255A可编程并行I/O扩展:

●8255A的扩展连接图:

8255A与单片机AT89C52的接口逻辑简单,其接口电路见图2.1.2.1所示。

因8255A芯片内部无地址锁存能力,所以图中8255A的片选信号CS及口地址选择线A1、A0分别由AT89C52的P0.7和P0.1、P0.0经地址锁存器后提供。

如果把没有参与选址的地址线状态都看作“1”状态,则8255A的A、B、C口及控制口地址分别为FF7CH、FF7DH、FF7EH、FF7FH。

8255A的复位端与AT89C52的复位端相连,都接到AT89C52的复位电路上。

●8255A芯片的简介:

1.芯片引脚:

AT89C52单片机工共有4个并行I/O口,但是这些I/O口并不能完全提供给用户使用。

因此需要进行I/O口的扩展。

而8255是单片机应用系统中广泛被采用的可编程的外部I/O口扩展芯片,它有3个8位并行I/O,每个口有三种工作方式。

其引脚图如图2.1.2.2所示。

各引脚功能说明如下:

Vcc(26脚):

接+5V电源正端;

GND(7脚):

接电源的0V端;

RESET(35脚):

复位信号输入端。

使内部各寄存器清除,置A、B、C口为输入端;

/WR(36脚):

写信号输入端。

使CPU输出数据或控制字到8255A;

/RD(5脚):

读信号输入端。

使8255A送数据或状态信息到CPU;

/CS(6脚):

片选端;

A1、A0(8、9脚):

地址总线的最低2位。

用于决定端口地址:

如A1A0为00,是A口;A1A0为01,是B口;A1A0为10,是C口;A1A0为11,是控制字寄存器;

D7-D0(27-34脚):

双向数据总线;

PA7-PA0(37-40脚1-4脚):

A口的8位I/O引脚;

PB7-PB0(25-18脚):

B口的8位I/O引脚;

PC7-PC0(10-13脚17-14脚):

C口的8位I/O引脚。

2.8255A芯片内部结构:

8255A芯片内部结构可分为四个部分:

(1)数据总线缓冲器:

是一个8位的双向三态驱动器,用于与单片机的数据总线相连;

(2)读/写控制逻辑:

根据单片机的地址信息(A1、A0)与控制信息(/RD、/WR、RESET),控制片内数据、CPU控制字、外设状态信息的传递;

(3)控制电路:

根据CPU送来的控制字使所管I/O口按一定方式工作;

(4)三个并行I/O端口:

A口可编程为位输入,或8位输出,或双向传送;B口可编程为位输入,或8位输出,但不能双向传送;C口分为两个4位口,用于输入或输出,也可用作A口、B口的状态控制信号。

3.8255A的三种工作方式:

方式0(基本输入/输出方式):

这种工作方式不需要任何选通信号。

A口、B口、C口的两个4位口中任何一个端口都可以由程序设定为输入或输出。

作为输出口时,输出数据被锁存;作为输入口时,输入数据不锁存;

方式1(选通输入/输出方式):

在这种工作方式下,A、B、C三个口分为两组。

A组包括A口和C口的高4位,A口可由编程设定为输入口/输出口,C口的高4位则用来作为A口输入/输出操作的控制和同步信号;B组包括B口和C口的低4位B口可由编程设定为输入口/输出口,C口的低4位则用来作为A口输入/输出操作的控制和同步信号。

A口和B口的输入数据或输出数据被锁存;

方式2(双向传送方式):

在这种工作方式下,A口可用于双向传送,C口的PC3-PC7用来作为输入/输出的控制同步信号。

2.1.3AT89C52的复位电路:

与MCS-51单片机一样,AT89C52单片机系统也有上电复位和按扭复位两种方法。

所谓上电复位,是指计算机加电瞬间,要在RESET引脚上出现大于10ms的正脉冲,使单片机进入复位状态。

按扭复位是指用户按下“复位”按扭,使单片机进入复位状态。

复位是靠外部电路来实现的。

图2.1.2.3是上电复位以及按扭复位的一种实现电路。

上电时,+5V电源立即对单片机芯片供电,同时经电阻R对电容C充电。

C上电压建立的过程就产生一定宽度的脉冲,经反相后,RESET上出现正脉冲使单片机实现上电复位。

按扭按下时,RESET上同样出现高电平,实现了按扭复位。

 

2.2LED大屏显示单元

2.2.1大屏幕LED显示模块原理图:

本单元采用10个16*16型LED汉字点阵组成一个16*160的大型汉字显示屏,整个显示屏共16路行线和160路列线,采用单片机扩展口8255A的PA0-PA2和PB2-PB7以及PC4-PC7共13个控制口来控制LED大型汉字显示屏的显示。

大屏幕LED显示模块原理图如图2.2.1.1所示。

行信号控制:

PC4-PC7通过一片4线-16线译码器74LS154芯片译码,再通过两片74LS240芯片,逐一扫描点阵的16路行信号。

列信号控制:

点阵的160路列信号,可以分成20页,每页8路信号,单片机扩展的8255A的PA0-PA2通过一片3-8译码器74LS138进行译码,可以进行8路列信号的扫描。

为了分别扫描20页中的每一列信号,需要对20页中的每一页逐一进行选通,可以设计一个由两片74LS154芯片构成的一个6线-20线的译码器,6路输入信号由8255A的PB2-PB7提供。

并且每页的8路列信号加一个74LS244芯片,20页共需要20个74LS244芯片,对每页的每一路列信号逐一进行译码。

电路逻辑分析:

PC4-PC7通过4线-16线译码器74LS154后,再通过74LS240译码器后,只有1路是高电平,其他15路是低电平,再通过NPN三极管,可以实现某一路选通,同时其他15路截止。

通过8255A的PB2-PB7控制由两片74LS154组成的6线-20线译码器,可以选通20个74LS244芯片中的某一片,即仅选通一页,其他各页中的各路列信号表现为高阻态,同时,单片机通过扩展的8255A的PA0-PA2控制

3-8译码器74LS138,唯一选通这一页中8路列信号中的某一路,并表现为低电平,其他7路表现为高电平。

从电平逻辑上看,由此可以实现16*160点阵中,唯一选通某一个发光二极管,通过循环扫描,可以实现16*160点阵中每一个发光二极管的选通。

2.2.2LED大屏显示单元芯片简介:

1.4线-16线译码器74LS154:

当74LS154的两个选通信号G1和G2为低电平时,它可将4个二进制编码的输入译成16个互相独立的输出之一。

其引脚图见图2.2.2.1所示。

译码关系见表2.2.2.2。

G1

G2

DCBA

译码输出

0

0

0000

/Y0

0

0

0001

/Y1

0

0

0010

/Y2

0

0

0011

/Y3

0

0

0100

/Y4

0

0

0101

/Y5

0

0

0110

/Y6

0

0

0111

/Y7

0

0

1000

/Y8

0

0

1001

/Y9

0

0

1010

/Y10

0

0

1011

/Y11

0

0

1100

/Y12

0

0

1101

/Y13

0

0

1110

/Y14

0

0

1111

/Y15

 

2.3-8译码器74LS138:

3-8译码器74LS138为一种常用的地址译码器芯片,其引脚图如图2.2.2.3所示。

其中G1、/G2A、/G2B为3个控制端,只有当G1为“1”且/G2A、/G2B均为“0”时,译码器才能进行译码输出。

否则8个输出端全为高阻状态。

译码输入端与输出端译码逻辑关系见表2.2.2.4。

C

B

A

译码输出

0

0

0

/Y0

0

0

1

/Y1

0

1

0

/Y2

0

1

1

/Y3

1

0

0

/Y4

1

0

1

/Y5

1

1

0

/Y6

1

1

1

/Y7

使用时,G1、/G2A、/G2B即可直接接至+5V电源端或接地,也可参与地址译码。

但其译码关系必须为100。

需要时也可通过反相器使输入信号满足要求。

 

3.74LS240芯片:

74LS240为反向驱动器或数据缓冲器,其引脚图2.2.2.5所示。

图2.2.2.574LS240引脚图

74LS240分为两组,分别由控制端/1G、/2G控制。

使用时/1G、/2G接地。

 

4.74LS244芯片:

74LS244为单向驱动器或数据缓冲器,其引脚图见图2.2.2.6所示。

图2.2.2.674LS244引脚图

它由8个三态门构成,分成两组,分别由控制端/1G和/2G控制。

使用时两个控制端/1G和/2G均接地,相当于8个三态门均打开。

Vcc接+5V电源端,GND接地。

2.2.3字模数据向显示电路传送的转换原理:

本设计先规定:

ISD4004语音芯片不需要我们把所要播报的站名录入到里面,也不需要我们把站名一个个地存放在外部扩展的EPROM和数据缓冲区中,这些都是由公交车公司技术部门来完成的。

本设计中我们使用完成了的芯片,只需要我们到用时直接提取出来即可。

这里举例说明一个字“十”的字模数据向显示器传送转换原理。

如图2.2.3.1所示。

根据显示站号硬件系统原理图,我们设定下列内容:

1.我们先把这个“十”字的32个字节罗列出来,按照前一半后一半、从上到下的原则,为01H,01H,01H,01H,01H,01H,01H,FFH,FFH,01H,01H,01H,01H,01H,01H,01H(前半个字);80H,80H,80H,80H,80H,80H,80H,FFH,FFH,80H,80H,80H,80H,80H,80H,80H(后半个字),整个“十”字的32个字节。

2.我们只把这256个二极管显示这个“十”字的亮的罗列出它的字节来,设16行的首址为00H,01H,02H,03H,04H,05H,06H,07H,08H,09H,0AH,0BH,0CH,0DH,EH,0FH,我们还设每一列为一个数据条,并设这一数据条结束标志为10H,那么这个“十”字的256个字节就缩为07H,08H,10H(第1列即第1个数据条)07H,08H,10H(第2列即第2个数据条)……00H,01H,02H,03H,04H,05H,06H,07H,08H,09H,0AH,0BH,0CH,0DH,0EH,0FH,10H(第8列即第8个数据条)……07H,08H,10H(第16列即第16个数据条),整个“十”字就转换完了,把256个字节转化为60个行地址加16个结束标志地址,共76个字节。

3.设一个站的结束标志地址为11H,这样EPROM里存放的是见表2.2.3.2中。

4.数据缓冲区RAM由公交车公司技术部门制作完成,我们要提取出所要在大屏幕显示器上显示的站名,只需要确定该站的首地址即可。

2.3语音单元

2.3.1语音电路原理图:

语音电路图如图2.3.1.1所示。

本语音报站系统分为ISD4004主芯片,还包含配套的变压电路,功放电路等。

从图中可以看出AT89C52和ISD4004之间的连线较少,单片机的P2.6接ISD4004的片选断SS,控制ISD4004的选通与否。

P2.7接ISD4004的串行输入引脚MOSI,从该引脚读入放音的地址。

P3.3接ISD4004的中断引脚/INT。

音频信号输出引脚AUDOUT通过功放电路与扬声器连接,AMCAP为自动静音端,使用通过一个电容接地。

此外由于ISD4004的工作电压为3V,而整个系统的电压为5V,因此需要通过采用变压电路得到3V电压供I

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

当前位置:首页 > 高等教育 > 医学

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

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