4. 控制按键:用于手动控制、手动调整、预置值的输入等
5. 语言芯片:由专用语音芯片ISD4004组成,可擦写,便于在不同公交线上使用。
6. 输出显示:LED点阵汉字显示。
7. 预置存储:采用两种方式存储,一种是在烧写器上将数据写入,另一种是在车上,单片机处于输入状态,车辆行驶一遍,将站与站之间的脉冲数写入片内。
2.1.2 方案二
利用8031单片机作为CPU来进行总体控制,当汽车到达某站时,汽车司机通过键盘来控制本系统进行工作,并且,系统将使用状态指示电路,向司机指示出当前的行驶方向及站号(如与实际方向不符,司机可通过键盘来调整)。原理图框图如图2.2所示。
语音合成 电路 8031小系统 LED点阵显示电路 语音输入输出电路 键盘 状态指 示电路 图2.2 原理框图
本系统使用8031作为CPU,由CPU来控制语音合成芯片TC8830AF,使其工作在CPU控制模式下。当系统进行语音再生时,由CPU控制语音合成电路中的语音芯片来读取其外接的存储器内部的语音信息,并合成语音信号,再通过语音输出电路,进行语音报站和提示。CPU同时通过程序读取汉字信息,送入LED点阵显示电路来进行汉字提示。当系统进行语音录制时,语音信号通过语音输入电路输入给语音合成电路中的语音合成芯片,由语音合成芯片进行数据处理,并将生成的数字语音信息存储到语音存储芯片中,从而建立语音库。
2.2 方案选择
将方案一与方案二进行比较,方案二是采用8031单片机控制,通过键盘来控制报站时刻,并不完全符合设计的要求,它仍然需要操作员员手动控制,所以本课题决定选用方案一,它使用AT89C51作为主控制芯片,通过对里程的计数来控制报站时刻,完全无需人工介入,选用的语音芯片是美国ISD公司的ISD4004,该芯片与其它语音芯片相比较,其语音音质好,录放时间长。
第3章 硬件电路的设计
公交车报站系统主要由四个部分组成,即主控电路、脉冲检测电路、语音电路以及LED点阵汉字显示电路。各部分电路的设计在本章中做了详细的说明。
3.1 主控电路的设计
3.1.1 关于AT89C51单片机
AT89C51单片机的结构框图如图3.1所示。它主要由下面几个部分组成:1个8位中央处理单元(CPU)、片内Flash存储器、片内RAM、4个8位的双向可寻址I/O口、1个全双工UART(通用异步接收发送器)的串行接口、2个16位的定时器/计数器、多个优先级的嵌套中断结构,以及一个片内振荡器和时钟电路。在AT89C51单片机结构中,最显著的特点是内部含有Flash存储器,而在其他方面的结构,则和Intel公司的8051的结构没有太大的区别。
图3.1 AT89C51单片机的结构框图
P0 P2 P1 P3 地址/数据 外部 中断
片内 Flash 存储器 ETC 定时器1 定时器0 中断控制 片内 RAM 计数器 输入
CPU 振荡器 总线控制 4I/O端口 串行端口 TXD RXD
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. 5个中断源 9. 可编程串行通道 10. 片内振荡器和时钟电路
另外,AT89C51是用静态逻辑来设计的,其工作频率可下降到0Hz,并提供两种可用软件来选择的省电方式——空闲方式(Idle Mode)和掉电方式(Power Down Mode)。在空闲方式中,CPU停止工作,而RAM、定时器/计数器、串行口和中断系统都继续工作。在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,故只保存片内RAM中的内容,直到下一个硬件复位为止。
3.1.1.2 引脚功能说明
AT89C51引脚图如图3.2所示。
图3.2 AT89C51引脚图
VCC:供电电压。 VSS:接地。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8个TTL门电流。当P0口的管脚第一次写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.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脚两个机器周期的高
可视可听公车自动报站系统的设计毕业设计论文



