当前位置:文档之家› 推荐-优秀AT89C51的公车自动语音报站系统的设计 精品

推荐-优秀AT89C51的公车自动语音报站系统的设计 精品

第1章绪论随着科学技术的日益发展和进步,无人售票公交车在街头多起来了,语音报站器也被广泛使用,这在相当大的程度上免除了乘务人员沿途报站的麻烦,给许多不熟悉公交线路的乘客带来了方便。

1.1 课题研究的背景及意义公共汽车为外出的人们提供了方便快捷的服务,而公共汽车的报站直接影响服务的质量。

传统由乘务人员人工报站,该方式因其效果太差和工作强度太大,在很多大城市已经被淘汰。

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

在声学领域,微机技术与各种语音芯片相结合,即可完成语音的合成技术,使得汽车报站器的实现成为可能,从而为市民提供了更加人性化的服务。

鉴于传统公交车报站系统的不足之处,结合公交车辆的使用特点及实际营运环境,设计了一种由单片机控制的公交车自动报站系统[1]。

公交车自动报站器的设计主要是为了弥补改变传统语音报站器必须有司机操控才能工作的落后方式,进站、出站自动播报站名及服务用语,为市民提供更人性化,更完善的服务[2]。

1.2 报站器的动态发展趋势公共汽车行驶在现代文明程度高的市区,它是一道流动的风景线,因而对整车外形乃至色彩都有更高的要求。

作为公共汽车还要求有醒目和减少乘务人员劳动强度的电子报站器,电子显示路牌,无人售票装置,前后电视监视系统等新技术的采用也将越来越普及。

公交车报站器在公交事业中占有举足轻重的地位,它直接影响到公交车的服务质量。

目前公交车报站有三种方式,一种是利用GPS全球卫星定位系统的公交车报站系统,在司机座位后面隔板上,安装了一台15英寸的液晶电视和GPS信号接收器,安装了这套设备后,公交车在语音报站的同时,通过液晶电视还可以显示到站站名的字幕,这样如果没听清报站的话,通过显示屏,乘客也可以一目了然。

当出现紧急情况时,调度中心将会给公交车发出相应的信息,以短信的形式传送到显示屏上,同时车载台会发出相应的提示音;驾驶员也可以通过相应的工具进行回复[3]。

目前在美国部分城市GPS 卫星定位系统已经投入使用,国内也有此类产品的研制开发,其功能强大,系统稳定,但其投资昂贵,尤其是一些中小城市无法承受。

另外两种是手动电子报站和人工报站的方式,而它们都离不开司务人员,加大司乘人员的工作强度。

手动电子报站一般有司机或者乘务员控制,经常出现错报,误报的情况[4]。

城市公共交通是市民出行的主要交通工具之一。

提供舒适,安全、便捷的乘车环境,对于公交企业来说,不仅是应尽的责任,亦是不断追求的目标[5]。

1.3 设计的主要目标任务本课题要求设计一公交车自动报站系统,以实现公交车的语音自动报站,即在进站、出站时候自动播报语音提示信息及服务用语,同时利用LED点阵电路进行汉字显示。

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

1.4 技术指标工作电压24V静态功耗≤6W音频输出≥10W信噪比34DB系统容量可容纳300个站点信息和8分钟语音广告信息环境温度-30℃~80℃最大广告条数100条第2章方案的选择与论证公交车自动报站系统的设计主要是对里程计数来控制报站时刻,进站、出站自动播报站名及服务用语,准确、及时、完全不需要人工介入。

本章介绍了两种不同的方案,并将其进行对比。

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

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

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

原理框图如图2.1所示。

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

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

外部晶振12MHz。

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

4. 控制按键:用于手动控制、手动调整、预置值的输入等5. 语言芯片:由专用语音芯片ISD4004组成,可擦写,便于在不同公交线上使用。

6. 输出显示:LED点阵汉字显示。

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

第3章 硬件电路的设计公交车报站系统主要由四个部分组成,即主控电路、脉冲检测电路、语音电路以及LED 点阵汉字显示电路。

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

3.1 主控电路的设计3.1.1 关于AT89C51单片机AT89C 单片机的结构框图如图3.1所示。

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

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

图3.1 AT89C 单片机的结构框图外部 中断计数器 输入3.1.1.1 主要性能1. 与MCS-51 兼容2. 4K字节可编程闪烁存储器寿命:1000次写/擦循环数据保留时间:10年3. 全静态工作:0Hz-24Hz4. 三级程序存储器锁定5. 128*8位内部RAM6. 32可编程I/O线7. 两个16位定时器/计数器8. 6个中断源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门电流。

当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.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:来自反向振荡器的输出[6]。

3.1.2 振荡器电路的设计89系列单片机的内部振荡器电路如图3.3所示,由一个单级反相器组成。

XTAL1为反相器的输入,XTAL2为反相器的输出。

可以利用它内部的振荡器产生时钟,只要在XTAL1和XTAL2引脚上外接一个晶体及电容组成的并联谐振电路,便构成一个完整的振荡信号发生器,如图3.5示,此方法称为内部方式。

另一种使用方法如图3.4示,由外部时钟源提供一个时钟信号到XTAL1端输入,而XTAL2端浮空。

在组成一个单片机应用系统时,多数采用图3.5所示的方法,这种方式的结构紧凑,成本低廉,可靠性高。

振荡器的等效电路如图3.5上部所示。

在图中给出了外接元件,即外接晶体及电容C1,C2,并组成并联谐振电路。

在电路中,对电容C1和C2的值要求不是很严格,如果用高质的晶振,则不管频率为多少,C1,C2通常都选择30pF 。

有时,在某些应用场合,为了降低成本,晶体振荡器可用陶瓷振荡器代替。

相关主题