基于以AT89S52单片机和语音芯片ISD4004为核心公交车自动报站系统Word下载.docx

上传人:b****9 文档编号:13067160 上传时间:2022-10-04 格式:DOCX 页数:49 大小:1.45MB
下载 相关 举报
基于以AT89S52单片机和语音芯片ISD4004为核心公交车自动报站系统Word下载.docx_第1页
第1页 / 共49页
基于以AT89S52单片机和语音芯片ISD4004为核心公交车自动报站系统Word下载.docx_第2页
第2页 / 共49页
基于以AT89S52单片机和语音芯片ISD4004为核心公交车自动报站系统Word下载.docx_第3页
第3页 / 共49页
基于以AT89S52单片机和语音芯片ISD4004为核心公交车自动报站系统Word下载.docx_第4页
第4页 / 共49页
基于以AT89S52单片机和语音芯片ISD4004为核心公交车自动报站系统Word下载.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

基于以AT89S52单片机和语音芯片ISD4004为核心公交车自动报站系统Word下载.docx

《基于以AT89S52单片机和语音芯片ISD4004为核心公交车自动报站系统Word下载.docx》由会员分享,可在线阅读,更多相关《基于以AT89S52单片机和语音芯片ISD4004为核心公交车自动报站系统Word下载.docx(49页珍藏版)》请在冰豆网上搜索。

基于以AT89S52单片机和语音芯片ISD4004为核心公交车自动报站系统Word下载.docx

3.2DS1302时钟电路 12

3.3DS18B20数字温度传感器 13

3.4语音输出电路的设计 15

3.4.1关于语音芯片 15

3.4.2录音、放音电路的设计 20

3.5LCD12864液晶显示的设计 22

4软件设计 23

4.1主控程序的设计 23

4.2程序清单 24

5系统测试结果及分析 26

5.1测试方法 26

5.2测试结果及分析 27

6结束语与心得体会 27

参考文献 27

附录1 28

附录2 44

2

设计题目

公交车自动报站器的设计

设计要求

设计一种基于以AT89S52单片机和语音芯片ISD4004为核心公交车自动报站系统。

LCD12864液晶显示时间以及车内的温度,实时显示年、月、日、星期、时、分、秒,采用按键式实现时钟对表和快慢调整。

同时,每到一站会有语音提示和标语提示。

设计过程

摘要:

本次课程设计以实现公交车的语音自动报站,即在进站、出站时候自动播报语音提示信息及服务用语,同时利用LCD电路进行汉字显示。

本设计要求利用AT89C52作为主控芯片完成主控电路的设计,辅助电路要求包括语音电路、汉字点阵显示电路、时钟电路、电源电路等。

本系统使用了专门的时钟芯片DS1302,读出其时间在LCD12864上显示,并能通过按键对其进行调时和校准。

温度使用DS18B20数字温度传感器,以显示车内的温度。

语音芯片使用ISD4004-8MP,ISD4004-8MP是使用很广泛的语音芯片。

该芯片具有很强大的功能,可容纳300个站点信息和8分钟语

音广告信息。

关键字:

AT89S52单片机、DS1302,LCD12864,DS18B20,公交报站

1.设计任务和要求

(1)应用AT89S52单片机设计单片机实现对DS1302和DS18B20以及语音芯片ISD4004的控制

(2).选用LCD12864显示,实时显示年、月、日、星期、时、分、秒,采用按键式实现时钟对表和快慢调整;

(3)硬件设计部分,根据设计的任务选定合适的单片机,根据控制对象设计接口电路。

设计的单元电路必须有工作原理,器件的作用,分析和计算过程;

(4)软件设计部分,根据电路工作过程,画出软件流程图,根据流程图编写相应的程序,进行调试并打印程序清单;

(5)原理图设计部分,根据所确定的设计电路,利用Protel99se和

Protues工具软件绘制电路原理图。

2.方案论证

2.1方案比较

2.1.1方案一

放音电路

语音芯片

公交车自动报站器的设计,对车轮轴的转角的脉冲进行计数,将计数值与预置值对比,即可确定报站时刻,达到准确自动的目的。

以AT89C52为主控芯片,对外来脉冲计数,结合语音芯片ISD4004输出语音。

系统由脉冲检测、脉冲计数、CPU控制、控制信号、语音芯片、输出显示等组成。

原理框图如图2.1所示。

控制信号

CPU控制

输出显示

脉冲检测

脉冲计数

图2.1方案1原理框图

(1)脉冲检测:

该系统关键是对转轴所转过的圈数进行计数,考虑到车辆将在复杂的环境中运行,故采用可靠的霍尔元件DN6848作为信号的采集装置,再经光电耦合器4N25输入给单片机。

(2)脉冲计数:

光电耦合器的信号进入C51后,采用中断方式对脉冲计数。

外部晶振12MHz。

(3)CPU控制:

程序中将计数值于预置值进行比较,判断是否到站,当到站时就输出信号控制语言芯片进行报站。

(4)控制按键:

用于手动控制、手动调整、预置值的输入等

(5)语言芯片:

由专用语音芯片ISD4004组成,可擦写,便于在不同公交线上使用。

(6)输出显示:

LCD液晶汉字显示。

(7)预置存储:

采用两种方式存储,一种是在烧写器上将数据写入,另一种是在车上,单片机处于输入状态,车辆行驶一遍,将站与站之间的脉冲数写入片内。

2.1.2方案二

利用8051单片机作为CPU来进行总体控制,当汽车到达某站时,汽车

34

LED点

阵显示电路

司机通过键盘来控制本系统进行工作,并且,系统将使用状态指示电路,向司机指示出当前的行驶方向及站号(如与实际方向不符,司机可通过键盘来调整)。

原理图框图如图2.2所示。

语音合成电路

8051小系统

语音输入输出电路

键盘

状态指示电路

图2.2方案二原理框图

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

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

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

当系统进行语音录制时,语音信号通过语音输入电路输入给语音合成电路中的语音合成芯片,由语音合成芯片进行数据处理,并将生成的数字语音信息存储到语音存储芯片中,从而建立语音库。

2.2方案选择

将方案一与方案二进行比较,方案二是采用8051单片机控制,通过键盘来控制报站时刻,并不完全符合设计的要求,它仍然需要操作员员手动控制,所以本课题决定选用方案一,它使用AT89C51作为主控制芯片,通过对里程的计数来控制报站时刻,完全无需人工介入,选用的语音芯片是美国ISD公司的ISD4004,该芯片与其它语音芯片相比较,其语音音质好,录放时间长。

3.系统硬件设计

公交车报站系统主要由四个部分组成,即主控电路、时钟电路、语音电

路以及LCD液晶汉字显示电路。

各部分电路的设计在本章中做了详细的说明。

3.1主控电路的设计

3.1.1关于AT89C51单片机

AT89C51单片机的结构框图如图3.1所示。

它主要由下面几个部分组成:

1个8位中央处理单元(CPU)、片内Flash存储器、片内RAM、4个8位的双向可寻址I/O口、1个全双工UART(通用异步接收发送器)的串行接口、2个16位的定时器/计数器、多个优先级的嵌套中断结构,以及一个片内振荡器和时钟电路。

在AT89C单片机结构中,最显著的特点是内部含有Flash存储器,而在其他方面的结构,则和Inter公司的8051的结构没有太大的区别。

外部中断

器1

定时

ETC

中断控

片内

RA

片内Flash存储

计数器输入

CP

振荡

总线控

4I/O端口

串行端

(1)主要性能



P0P2P1P3

地址/数

图3.1AT89C51单片机的结构框图

TXD

与MCS-51兼容;

4K字节可编程闪烁存储器;

1000次写/擦循环;

数据保留时间10年;

全静态工作:

0Hz-24Hz;

三级程序存储器锁定;

128*8位内部RAM;

32可编程I/O线;

两个16位定时器/计数器;

6个中断源;

可编程串行通道;

片内振荡器和时钟电路

另外,AT89C51是用静态逻辑来设计的,其工作频率可下降到0Hz,并提供两种可用软件来选择的省电方式——空闲方式(IdleMode)和掉电方式

(PowerDownMode)。

在空闲方式中,CPU停止工作,而RAM、定时器/计数器、串行口和中断系统都继续工作。

在掉电方式中,片内振荡器停止工作,由于时钟被“冻结”,使一切功能都暂停,故只保存片内RAM中的内容,直到下一个硬件复位为止。

(2)引脚功能说明

AT89C51引脚图如图3.2所示。

图3.2 AT89C51引脚图

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:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PS

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

当前位置:首页 > 农林牧渔 > 畜牧兽医

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

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