APP下载

基于单片机的公交语音报站器设计

2017-10-17刘章鹏杨海亮

科学与财富 2017年27期
关键词:公交车

刘章鹏+杨海亮

摘要:在现代的生活中,随着科技的发展,报站是现在公交车、地铁上不可或缺的部分,解决了外地人员对本地不熟或者乘客因为注意力转移而导致错过站的现象,根据这一现象而设计了报站器。报站器采用了单片机控制语音芯片来实现自动报站,主要由语音芯片,STC单片机,显示器,点阵键盘等部分组成。经过实践证明,该报站器具有较大的应用价值。

关键词:STC单片机;自动报站;公交车

中图分类号:TP217 文献标识码:A

报站器存在于公交、地铁等公共交通,提醒人们所到的各个站点,防止人们错过目的地。报站器不仅可以自动报站,司机也可以通过按键手动报站,解决了故障导致不能报站的现象,给司机和乘客带来了便利[1-3]。

公交报站方式:第一种通过GPS全球定位系统的定位报站;第二种是通过红外线传感器报站。第三种是采用电磁波技术来实现;第四种是基于单片机来实现。

本文通过单片机来实现自动语音报站,具体思路是以单片机作为主控芯片,通过矩阵键盘控制选择某一条完整的站点信息,通过文字方式显示在显示屏上,同时控制语音芯片来播放提前录制好的语音信息,由此来达到语音报站的要求。

1 硬件模块的组成

1.1 总体设计流程图

设计组成所示,主要包含以下几个功能模块:

主控芯片模块:由单片机实现来控制其他外设;显示模块:主要由LCD液晶来显示站点文字信息;语音模块:通过ISD语音芯片来实现报站功能;键盘模块:采用4*4点阵键盘来操作。

1.2 语音芯片的选择

采用ISD公司的1400系列语音芯片[4-5],它的录音时间是10s到20s,价格便宜,可以有多种手动控制方式同样可以分段录放。

1.3 显示器的选择

采用LCD12864显示屏[6],它与LCD1602基本一样,但它比LCD1602具有更大的字库,同时显示的信息也比LCD1602多,而且可以显示图形,可以说是集中了LED点阵显示和LCD1602的所有优点于一身[2]。

1.4 主控芯片的选择

本次设计中外设的接口达到32个,其中点阵键盘8个,显示器13个,语音芯片10个,时间设置锁定端口1个。程序设计时的程序文件有7.5K左右。所以我们选择的芯片的基本要求是有32个I/O管脚,8K的程序存储空间。所以我们选择STC89c52单片机[3]。

1.5 控制按键的选取

我们设计的方案中需要的按键功能有:“上一站”,“下一站”,“设置”,“分钟设置”,“小时设置”这5个按键。采用单独按键,我们需要消耗5个管脚;采用4*4点阵式按键,我们需要消耗8个管脚。但是点阵按键拓展出来的按键可以达到16个,所以我们为了是使用更加方便简单,是司机可以准确的控制站点播报,我们采用第二种方案,采用4*4点阵式按键。

2 硬件电路的设计

2.1 STC89C52单片机

单片机就像人体的大脑和脑干,只要给它心跳、血液和四肢,就能按照大脑的要求完成一定的动作。其中心跳相当于时钟脉冲;血液相当于电流;四肢就是外部的一些拓展模块,比如LED、LCD、电机、继电器、三极管等元器件。之后只要通过TXD和RXD把提前编制好的逻辑程序下载进存储器中,通过CPU来执行,这样就是使用单片机的过程。

2.2 单片机最小系统设计

STC89c52单片机具有40个管脚,它的管脚图所示:

这款单片机的复位是高电平复位,所以我们采用的方法是将一个按钮开关串联一只电阻后,再将其两端并联一个电容。

单片机如果要正常运作,必须要有时钟驱动,单片机的内部就拥有一个自己的内部的时钟振荡集成电路,想要有时钟的驱动,就需要在外部接一个外部的时钟振荡源,就可以得到固定频率的时钟脉冲。

2.3 显示模块电路设计

显示板块采用的是12864液晶显示模块,12864与单片机连接的原理:

1管脚和2管脚是12864的基本电源,分别接GND、VCC(+5V)即可,19管脚和20管脚是液晶屏的背光电源,分别接VCC(+3V)、GND即可。3管脚是液晶屏显示的对比度调节它的电压就可以调节液晶显示的对比度,通常是用滑变电阻串联接地。4管脚RS是寄存器选择端,当管脚得到高电平时,寄存器处于数据模式;当管脚得到低电平时,寄存器处于指令模式。5管脚RW是读/写选择端口,当管脚得到高电平时,DB端口处于读数据状态;当管脚得到低电平时,DB端口处于写数据状态。6管脚EN是使能端。17管脚RST是芯片复位端口,且低电平有效。

2.4 语音模块的设计

ISD1420语音芯片是ISD公司出品的一款具有高音质、降噪低,可以断电储存的语音芯片,它具有两种放音方式,一种是下降沿放音方式,这种方式在PLAYE管脚得到了下降沿时,芯片会自动播放提前录制好的录音,直到将内存中的语音信息播放完毕,它才会自动结束放音,当播放完毕时RECLED会有一个短暂的低电压,提醒放音完毕;另一种是低电平放音,这种放音模式时,当管脚PLAYL得到低电平时,芯片会自动放音,直到PLAYL管脚回到高电平或者语音播放结束,才会停止放音。錄音时RECLED会变为低电平,直到录音满或者中途退出录音,RECLED才会重新变为高电平。

3 程序设计

3.1 延时程序设计

采用的是c51系列的单片机,使用的是12MHz的外部晶体晶振。在单片机中一个时钟周期是1/12微秒,12个时钟周期为1个机器周期。当外部时钟振荡器为12MHz时,定时器的每个机器周期可延时12*1/12微秒=1微秒。在一个机器周期内,CPU可以做一次单独的操作[4]。

3.2 液晶显示程序

当我们使用它时,首先要对其进行初始化,然后写指令数据到LCD,最后写入显示数据进入LCD。

写指令数据:RS=L,RW=L,E=高脉冲,D0-D7=指令码。

写显示数据:RS=H,RW=L,E=高脉冲,D0-D7=数据[5]。

3.3 语音模块的程序设计

ISD1420的A0~A7管脚的地址的有效的范围是00000000~10011111,这些地址可以划分为160个语音段,A0~A7的值可以决定每段录音的起始地址值。在本设计中我们要将录音划分为2s每段,这样我们就能将这些地址划分成10段每段时间为2s的语音片段。

3.4 点阵键盘程序设计

单片机与它相连接时,它的四个端口作为输出口,另外四个作为行扫描。当扫面完成后,他们的作用会互换过来,先前作为行扫描的端口设定为输出口,原先的输出口变为列扫描。

4 结论

系统利用STC89C52单片机与ISD1420语音芯片实现了公交语音报站的各种功能,完成后的报站显示功能所示。经过实践,该方法具有稳定性高、抗干扰能力强等优点,为公交语音报站提供了解决方案。

参考文献

[1]曾小宝.AVR单片机在智能公交车报站器中的应用[J].科技信息, 2012(9):116-116

[2]王海燕.带温湿度及时钟显示的公交车自动报站器[J].电子制作, 2014(16)

[3]张恒旭,郭秀清,霍勇.基于ATmega128数字化报站器的设计与实现[J].机电一体化,2011,17(10):66-70

[4]史红梅,余祖俊,李忠晶.ISD系列语音芯片的开發与应用[J].电子产品世界, 2001(12):34-35

[5]高守玮,杨建国,张建华等.ISD系列语音芯片开发平台的设计[J].电声技术,2003(6):40-42

[6]李志广,李晓泉,淮俊霞.中文图形12864点阵液晶显示模块与51单片机的并行接口电路及C51程序设计[J].现代显示,2008(7):41-44

作者简介

刘章鹏,2015年于天津理工大学中环信息学院,获得学士学位,现为天津博祥有限责任公司技术工程师,主要研究方向为自动化控制。

猜你喜欢

公交车
你们认识吗
奇葩的公交车
第一次坐公交车
乘坐公交车注意事项
拒绝公交车上的打扰
公交车上
公交车奇妙日
第一次坐公交车
城里的公交车
公交车上的窃案