公交车语音自动报站器的设计文档格式.docx

上传人:b****6 文档编号:18663567 上传时间:2022-12-31 格式:DOCX 页数:54 大小:272.03KB
下载 相关 举报
公交车语音自动报站器的设计文档格式.docx_第1页
第1页 / 共54页
公交车语音自动报站器的设计文档格式.docx_第2页
第2页 / 共54页
公交车语音自动报站器的设计文档格式.docx_第3页
第3页 / 共54页
公交车语音自动报站器的设计文档格式.docx_第4页
第4页 / 共54页
公交车语音自动报站器的设计文档格式.docx_第5页
第5页 / 共54页
点击查看更多>>
下载资源
资源描述

公交车语音自动报站器的设计文档格式.docx

《公交车语音自动报站器的设计文档格式.docx》由会员分享,可在线阅读,更多相关《公交车语音自动报站器的设计文档格式.docx(54页珍藏版)》请在冰豆网上搜索。

公交车语音自动报站器的设计文档格式.docx

12864具有很强的通用性,可以与AT89C51相连,可已通过软件很好的控制显示器内显示的内容,例如:

可设置上、下行路线,可以预报站名、报站名,可以重复本次的报站;

当汽车将到达某站时和出站,汽车司机通过键盘来控制本系统进行工作,控制行驶方向及站号(如与实际方向不符,司机可通过键盘来调整显示电路、语音电路的站名)。

有关于12864与ISD4004我们将在下面的介绍中作出进一步的解释及特点。

本次毕业设计的硬件系统是在AT89C51的基础上由ISD4004语音芯片、12864液晶显示模块、独立键盘接口等部分组成。

利用AT89C51单片机作为CPU来进行总体控制,通过语音芯片ISD4004组成的语音控制电路能够建立多段语音库信息,并且可以对这些段的语音信息进行自由的组合,形成变化多样的语音提示信息,同时使用12864液晶显示电路进行汉字显示,能够实现公交车的语音报站及汉字显示。

在CPU控制模式下,选用4*4矩阵按键接入单片机的I/O口,CPU不断扫描I/O口状态,当有按键按下时,通过软件求出键值,再通过软件来实现该键号所对应的功能。

因此当汽车到达某站时通过键盘来控制本系统进行工作,通过语音输出电路进行语音报站和提示,CPU同时通过程序读取汉字信息送入LCD液晶显示电路进行汉字提示。

 

2主控电路的设计

2.1Protel99的功能及相关介绍

2.1.1Protel99的基本历史

首先我们在做硬件的过程中,必须用到的一款软件,所以我们必须对该软件非常熟悉才能在做的过程中感到种种的不便。

在此,我将着重介绍一下Protel99的历史以及工作方式:

PROTEL:

PROTEL是PORTEL公司在80年代末推出的EDA软件,在电子行业的CAD软件中,它当之无愧地排在众多EDA软件的前面,是电子设计者的首选软件,它较早就在国内开始使用,在国内的普及率也最高,有些高校的电子专业还专门开设了课程来学习它,几乎所有的电子公司都要用到它,许多大公司在招聘电子设计人才时在其条件栏上常会写着要求会使用PROTEL。

早期的PROTEL主要作为印制板自动布线工具使用,运行在DOS环境,对硬件的要求很低,在无硬盘286机的1M内存下就能运行,但它的功能也较少,只有电原理图绘制与印制板设计功能,其印制板自动布线的布通率也低,而现今的PROTEL已发展到PROTEL99(网络上可下载到它的测试板),是个庞大的EDA软件,完全安装有200多M,它工作在WINDOWS95环境下,是个完整的板级全方位电子设计系统,它包含了电路原理图绘制、模拟电路与数字电路混合信号仿真、多层印制电路板设计(包含印制电路板自动布线)、可编程逻辑器件设计、图表生成、电子表格生成、支持宏操作等功能,并具有Client/Server(客户/服务器)体系结构,同时还兼容一些其它设计软件的文件格式,如ORCAD,PSPICE,EXCEL等,其多层印制线路板的自动布线可实现高密度PCB的100%布通率。

在国内PROTEL软件较易买到,有关PROTEL软件和使用说明的书也有很多,这为它的普及提供了基础。

2.1.2Protel99的组成

按照系统功能来划分,Protel99se主要包含以下俩大部分和6个功能模块。

1、电路工程设计部分

  

(1)电路原理设计部分(AdvancedSchematic99):

电路原理图设计部分包括电路图编辑器(简称SCH编辑器)、电路图零件库编辑器(简称Schlib编辑器)和各种文本编辑器。

本系统的主要功能是:

绘制、修改和编辑电路原理图;

更新和修改电路图零件库;

查看和编辑有关电路图和零件库的各种报表。

  

(2)印刷电路板设计系统(AdvancedPCB99):

印刷电路板设计系统包括印刷电路板编辑器(简称PCB编辑器)、零件封装编辑器(简称PCBLib编辑器)和电路板组件管理器。

绘制、修改和编辑电路板;

更新和修改零件封装;

管理电路板组件。

  (3)自动布线系统(AdvancedRoute99):

本系统包含一个基于形状(Shape-based)的无栅格自动布线器,用于印刷电路板的自动布线,以实现PCB设计的自动化。

2、电路仿真与PLD部分

  

(1)电路模拟仿真系统(AdvancedSIM99):

电路模拟仿真系统包含一个数字/模拟信号仿真器,可提供连续的数字信号和模拟信号,以便对电路原理图进行信号模拟仿真,从而验证其正确性和可行性。

  

(2)可编程逻辑设计系统(AdvancedPLD99):

可编程逻辑设计系统包含一个有语法功能的文本编辑器和一个波形编辑器(Waveform)。

本系统的主要功能是;

对逻辑电路进行分析、综合;

观察信号的波形。

利用PLD系统可以最大限度的精简逻辑部件,使数字电路设计达到最简化。

(3)高级信号完整性分析系统(AdvancedIntegrity99):

信号完整性分析系统提供了一个精确的信号完整性模拟器,可用来分析PCB设计、检查电路设计参数、实验超调量、阻抗和信号谐波要求等。

2.2单片机的功能介绍

主控电路核心部分选用单片机AT89C51是因为其优点较多,比如价格便宜、市场上常见。

2.2.1AT89C51单片机介绍

随着计算机技术的发展,单片机技术已成为计算机技术中的一个独特的分支,单片机的应用领域也越来越广泛,特别是在工业控制和仪器仪表智能化中扮演着极其重要的角色。

实际上,单片机几乎在人类生活的各个领域都表现出强大的生命力,使计算机的应用范围达到了前所未有的广度和深度。

单片机的出现尤其对电路工作者产生了观念上的冲击。

过去经常采用模拟电路、数字电路实现的电路系统,现在相当大一部分可以用单片机予以实现,传统的电路设计方法已演变成软件和硬件相结合的设计方法,而且许多电路设计问题将转化为纯粹的程序设计问题。

诚然,单片机的应用意义远不限于它的应用范畴或由此带来的经济效益,更重要的是它已从根本上改变了传统的控制方法和设计思想。

是控制技术的一次革命,是一座重要的里程碑。

AT89C51是ATMEL公司生产的51系列单片机的一个型号,AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低电压,高性能CMOS8位微处理器,俗称单片机。

单片机的可擦除只读存储器可以反复擦除100次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器。

AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

主要功能特性:

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

寿命:

1000写/擦循环

数据保留时间:

10年

全静态工作:

0Hz-24Hz

三级程序存储器锁定

128*8位内部RAM

32可编程I/O线

两个16位定时器/计数器

5个中断源

可编程串行通道

低功耗的闲置和掉电模式

片内振荡器和时钟电路

2.2.2AT89C51单片机管脚及功能

AT89C51采用模块式的结构,它是DIP40双列直插封装形式的器件,其引脚图和逻辑符号如图2.1所示。

图2.1AT89C51引脚图

VCC正常运行和编程校验时为5V电源,VSS为电源接地端。

P0.0~P0.7:

P0口是一个8位双向I/O口,每位能驱动8个LS型TTL负载。

在访问外部存储器时,分时进行工作。

在指令前半周期,P0口作为地总线的低8位,在ALE的下降沿地址被锁存,在指令的后半周期作为数据总线。

P1.0~P1.7:

P1口是一个带有上拉电阻的8位双向I/O口,每位能驱动4个LS型TTL负载。

当向P1口锁存器中写入1时,P1为输入方式。

P2.0~P2.7:

P2口是一个带有上拉电阻的8位双向I/O口,每位能驱动4个LS型TTL负载。

在访问外部存储器时,P2口送出地址总线的高8位;

在对EPROM编程

时及程序校验时,它可以接受高8位地址。

P3.0~P3.7:

P3口是一个带有上拉电阻的8位双向I/O口,其驱动能力同P1口和P2口。

P3口是一个双功能口,其第一个功能是作为通用的I/O口,第二功能是作为特殊信号线使用,只有第二功能所定义的信号线不使用时,P3口的引脚才能作为一般的I/O口使用。

P3口各引脚的特殊用途见表2.1。

表2.1P3口的特殊功能

P3口

特殊功能

说明

P3.0

RXD

串行输入口

P3.1

TXD

串行输出口

P3.2

外部中断0输入线

P3.3

外部中断1输入线

P3.4

T0

定时器/计数器0外部计数脉冲输入线

P3.5

T1

定时器/计数器1外部计数脉冲输入线

P3.6

外部数据存储器与脉冲输出线

P3.7

外部数据存储读脉冲输出线

2.2.3单片机的时钟及复位

单片机的时钟信号用来提供单片机片内各种微操作的时间基准,复位操作则使单片机的片内电路初始化,使单片机从一种确定的初态开始运行

1、时钟电路

AT89C52单片机的时钟信号通常用两种电路形式得到:

内部振荡方式和外部振荡方式。

在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。

由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。

内部振荡方式的外部电路如2.2图(a)所示。

图中电容Cl和C2起稳定振荡频率、快速起振的作用,其电容值一般在5-30pF。

晶振频率的典型值为12MHz,采用6MHz的情况也比较多。

内部振荡方式所得的时钟信号比较稳定,实用电路中使用较多,外部振荡方式是把外部已有的时钟信号引入单片机内。

这种方式适宜用来使单片机的时钟与外部信号保持同步。

外部振荡方式的外部电路如2.2(b)图所示。

(a)内部振荡方式(b)外部振荡方式

图2.2两种振荡方式电路

由上图可见,外部振荡信号由XTAL2引入,XTAL1接地。

为了提高输入电路的驱动能力,通常使外部信号经过一个带有上拉电阻的TTL反相门后接入XTAL2。

2、基本时序单位

单片机以晶体振荡器的振荡周期(或外部引入的时钟周期)为最小的时序单位,片内的各种微操作都以此周期为时序基准。

振荡频率二分频后形成状态周期或称s周期,所以,1个状态周期包含有2个振荡周期。

振荡频率foscl2分频后形成机器周期MC。

所以,1个机器周期包含有6个状态周期或12个振荡周期。

1个到4个机器周期确定一条指令的执行时间,这个时间就是指令周期。

8051单片机指令系统中,各条指令的执行时间都在1个到4个机器周期之间。

4种时序单位中,振荡周期和机器周期是单片机内计算其它时间值(例如,波特率、定时器的定时时间等)的基本时序单位。

下面是单片机外接晶振频率12MHZ时的各种时序单位的大小:

振荡周期=

=

=0.0833μs

状态周期=

=0.0167μs

机器周期=

=1μs

指令周期=(1~4)机器周期=1~4μs

3、复位电路:

当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。

如果RST持续为高电平,单片机就处于循环复位状态。

根据应用的要求,复位操作通常有两种基本形式:

上电复位和上电或开关复位。

上电复位要求接通电源后,自动实现复位操作。

图2.3单片机的复位电路

上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。

常用的上电或开关复位电路如上图2.3所示。

上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。

当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。

4、单片机复位后的状态

单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。

单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值,见表2.2。

值得指出的是,记住一些特殊功能寄存器复位后的主要状态,对于了解单片机的初态,减少应用程序中的韧始化部分是十分必要的。

  说明:

表中符号*为随机状态;

  A=00H,表明累加器已被清零;

表2.2特殊功能寄存器复位后的状态值

特殊功能寄存器

初始状态

A

00H

TMOD

B

TCON

PSW

TH0

SP

07H

TL0

DPL

TH1

DPH

TL1

P0~P3

FFH

SBUF

不定

IP

***00000B

SCON

IE

0**00000B

PCON

0*******B

PSW=00H,表明选寄存器0组为工作寄存器组;

SP=07H,表明堆栈指针指向片内RAM07H字节单元,根据堆栈操作的先加后压

法则,第一个被压入的内容写入到08H单元中;

P0-P3=FFH,表明已向各端口线写入1,此时,各端口既可用于输入又可用于输出;

IP=×

×

00000B,表明各个中断源处于低优先级;

IE=0×

00000B,表明各个中断均被关断;

系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。

51单片机的复位是由RESET引脚来控制的,此引脚与高电平相接超过24个振荡周期后,51单片机即进入芯片内部复位状态,而且一直在此状态下等待,直到RESET引脚转为低电平后,才检查EA引脚是高电平或低电平,若为高电平则执行芯片内部的程序代码,若为低电平便会执行外部程序。

51单片机在系统复位时,将其内部的一些重要寄存器设置为特定的值,(在特殊寄存器介绍时再做详细说明)至于内部RAM内部的数据则不变[2]。

2.3单片机扩展I/O的设计

2.3.1扩展芯片74LS373的介绍

74LS373是常用的地址锁存器芯片,它实质是一个是带三态缓冲输出的8D触发器,在单片机系统中为了扩展外部接口,通常需要一块74LS373芯片。

其引脚图如图2.4所示

图2.474LS373引脚图

74LS373工作原理简述:

(1).1脚是输出使能(OE),是低电平有效,当1脚是高电平时,不管输入3、4、7、8、13、14、17、18如何,也不管11脚(锁存控制端,G)如何,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部呈现高阻状态(或者叫浮空状态);

(2).当1脚是低电平时,只要11脚(锁存控制端,G)上出现一个下降沿,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)立即呈现输入脚3、4、7、8、13、14、17、18的状态.

锁存端LE由高变低时,输出端8位信息被锁存,直到LE端再次有效。

当三态门使能信号OE为低电平时,三态门导通,允许Q0~Q7输出,OE为高电平时,输出悬空。

74LS373用作地址锁存器时,应使OE为低电平,此时锁存使能端LE为高电平时,输出Q0~Q7状态与输入端D1~D7状态相同;

当LE发生负的跳变时,输入端D0~D7数据锁入Q0~Q7。

51单片机的ALE信号可以直接与74LS373的LE连接。

在MCS-51单片机系统中,常采用74LS373作为地址锁存器使用。

其中输入端1D~8D接至单片机的P0口,输出端提供的是低8位地址,LE端接至单片机的地址锁存允许信号ALE。

输出允许端OE接地,表示输出三态门一直打开。

G是数据锁存控制端;

当G=1时,锁存器输出端与输入端相同;

当G由“1”变为“0”时,数据输入锁存器中。

OE为输出允许端;

当OE=“0”时,三态门打开;

当OE=“1”时,三态门关闭,输出呈高阻状态。

2.3.2扩展芯片74LS244的介绍

74LS244是8路3态单向缓冲驱动,也叫做总线驱动门电路或线驱动。

简单地说,它有8个输入端,8个输出端,可以增加信号的驱动能力.为单向驱动.

G=0的时候,输入->

输出,G=1的时候,输出为高阻态。

图2.574LS244的引脚及功能

1G为1Y1-1Y4输出控制端,低电平有效,高电平称高阻态。

1A1-1A4为输入端,应的输出端为1Y1-1Y4。

2G为2Y1-2Y4输出控制端,2A1-2A4为输入端对应的输出端为2Y1-2Y4。

3键盘与显示接口模块的设计

键盘在单片机系统中是一个很重要的部分。

输入数据、查询和控制系统的工作状态都要用到键盘,键盘是人工干预计算机的手段。

微机所用的键盘可分为编码和非编码键盘两种。

编码键盘采用硬件线路来实现键盘编码,每按下一个键,键盘能自动生成按键代码,键数较多,而且还具有去抖功能。

这种键盘使用方便,但硬件较复杂,PC机所用的键盘就属于这种。

非编码键盘仅提供按键开关状态,其他工作由软件完成,这种键盘键数较少,硬件简单,一般在单片机应用系统中广泛使用。

3.1矩阵式键盘接口电路设计

本系统键盘电路采用定时扫描控制方式。

当有键按下时,系统产生连接,CPU响应连接后,即查询键号,通过软件来实现该键号所对应键的功能(具体电路略)。

键盘的大体设置为:

S3到S12为数字键,即每个键对应一个站位名,S13为加号键,即每按一次都显示下一个站的站名。

S14为减号键。

S15为播放键,按下此键该电路将处于播放状态。

S16为录音键。

S17为停止键,按下此键,电路如果是播放状态,那么将停止播放。

S18为开关键,确定该电路是省电模式还是上电状态(如与实际方向不符,司机可通过键盘来调整显示电路、语音电路的站名)。

3.1.1键盘的去抖问题

(a)(b)

图3.1键操作和键抖动示意图

按键开关在电路中的连接如图3.1(a)所示。

按键未按下时,A点电位为高电平5V;

按键按下时A点电位低电平。

A点电位就用于向CPU传递开关状态。

但由于按键的结构为机械弹性开关,在按键按下和断开时触点在闭合和断开瞬间还会接触不稳定,引起A点电平不稳定,如图3.1.1(b)所示,键盘的抖动时间一般为5~10ms,抖动现象会引起CPU对一次键操作进行多次处理,从而可能产生错误。

因此,必须设法消除抖动的不良后果[4]。

消除按键去抖不良后果的方法有硬件和软件两种。

在此系统中我们采用软件去抖的方法来实现按键去抖问题。

根据抖动的特性,在第一次检测到按键按下后,执行一段延时10ms子程序后再确定该键是否确实按下,从而消除抖动的影响。

本次设计用的是矩阵式键盘,这种键盘连接简单使用较少的I/O口就可以接较多按键,其图如下3.2:

图3.24*4矩阵键盘

3.1.2键盘扫描控制方式

在单片机应用系统中,对键盘的处理工作只是CPU工作内容的一部分,CPU还要

进行数据处理,显示和其他输入操作,因此键盘处理工作既不能占用CPU太多时间,又需要CPU对键盘操作及时作出响应,CPU对键盘处理控制的工作方式有以下几种。

1、程序控制扫描方式

程序控制扫描方式是在CPU工作空余,调用键盘扫描子程序,响应键输入信号要求。

程序控制扫描方式的键处理程序固定在主程序的某个程序段。

当主程序运行到该程序段时,依次扫描键盘,判断有键输入否。

若有,则计算按键编号,执行相应键功能子程序。

这种工作方式对CPU影响小,但应考虑键盘处理程序的运行间隔周期不能太长,否则会影响对键输入响应的及时性。

本系统就采用此种键盘控制方式。

2、定时扫描控制方式

定时扫描控制方式是利用定时器/计数器每隔一段时间产生定时中断,CPU响应中断后对键盘进行扫描,并在有键闭合时转入该键的功能子程序。

程序控制扫描方式与定时控制扫描方式的区别是,在扫描间隔时间内,前者用CPU工作程序填充,后者用定时器/计数器定时控制,还要占用一个定时/计数器。

3、中断控制方式

中断控制方式是利用外部中断源,响应键输入信号。

当无按键按下时,CPU执行正

常工作程序。

当有键按下时,CPU立即产生中断。

在中断服务子程序中扫描键盘,判断是哪一个键被按下,然后执行该键的功能子程序,既能及时处理键输入,又

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

当前位置:首页 > 经管营销

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

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