周宗耀
(东南大学成贤学院,江苏 南京210088)
随着我国城市建设进程加快,交通运输事业获得快速发展。城市公交作为市民出行的重要工具,其服务质量关系到交通运输事业发展[1]。城市公交服务质量提升,不能拘泥于单个角度,就特殊人群而言,报站系统是提升公交与乘客联系的重要途径,是优化城市公交的重要措施,通过设计可行性报站系统,可以显著提升公交车为乘客提供服务的能力。
公交车报站系统设计所用硬件设备包含有显示元器件、语音元器件、按键元器件、89C51 单片机。显示元器件选择使用的是LCD1602。该元器件拥有较高的显示质量,并且接口位置呈数字式,具有较低的功能消耗。正是因为选择使用的是数字式接口,能够更加简单的实现显示模块与单片机系统之间的连接,降低操作难度[2]。语音元器件选择使用的是ISD4004。该元器件在对声音进行记录的时候,能够摒弃传统元器件的长度限制,同时在记录声音的时候,也不必完成压缩和A/D 转换。在进行介质存储的时候,可以实现快速闪存,在没有电源支撑的条件下,仍旧可以将数据保存至100 年,完成一万次以上的信息重复记录[3]。另外,ISD4004 具有良好音质和较长时间的记录,在便携式电子产品中被广泛使用。开发与使用ISD4004 硬件设备的时候,对于外围电路的要求同样不高。按键元器件是最为简单的设备,公交车报站系统设计的时候,只需要选择三个按键进行操作即可,在功能设计的时候,要保证每个按键功能的可实现性。89C51 单片机是使用最为平常的一种51 芯片。89C51 是一种带4K 字节闪烁可编程可擦除只读存储器(FPEROM-Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8 位微处理器,俗称单片机。在制造该元件的时候,需要选择使用ATMEL 高密度非易失存制造技术,兼具输出管脚和指令集。
单片机又被称作为单片微控制器,该设备综合定时器/计时器、中央处理器、输入输出接口、程序存储器以及数据存储器等元件功能,进而可以实现相对较为复杂的运算和逻辑控制功能,达到通信的目的[4]。就本次选择使用的单片机而言,最小系统同样包含有上述结构。在本次设计中,单片机作为系统的中央处理器,可以总体控制液晶显示模块、语音模块和按键模块。液晶显示模块在运行中的基本原理是通过使用液晶物理特性,利用电压控制显示区域。只要通电,那么便可以将图形显示出来。其实在显示一个字符的时候使用LCD,相对较为复杂。但是因为内带字符发生器中具有相应的控制而简单地将字符显示出来。公交车报站系统中的按键是集合多个按键的表现形式,可以将数据和命令传输到系统当中。根据键盘的类型不同可以将其划分成为编码键盘和非编码键盘。
公交车报站系统语音模块所使用的硬件设备具有十分强的信息处理能力,其最高频率可以达到49.152MHz,在进行运算的时候其具有比较高的速度,这种优势能够为播放语音、录放语音、合成语音和分辨语音提供支持。在处理语音的时候可以将其大致划分成为五个环节,详细如下所示:
图1 单片机对语音处理过程图
在语音处理的环节中,具备多种不同的API 函数库以及音频编码算法,在语音处理的环节中,综合编码环节、A/D 转换环节、存储环节、解码环节以及D/A 转换环节,从而获得相应模块[5]。在每个模块当中,都必须拥有连接口。设计人员在系统设计环节当中需要对模块所具备的功能充分了解,并且对其参数内容清晰掌握之后,将API 函数进行调用,实现相应的功能。在表1 中针对性地列出相应的功能。
表1 常用应用程序接口API 功能表
在控制语音芯片的时候,选择使用单机端口完成信号输出。其程序子函数模块代码如下所示:
在按键部分设计的时候,选择使用的方法是扫描法。当系统感知到有按键下按以后,可以判断键值,同时要完成相应的程序显示与跳转语音播放程序,完成公交车语音报站[6]。在本次设计中,按键部分所实现的主要功能流程为读取数据信息,判断完成按键操作以后是否存在系统感知,若有则继续完成延时去抖,否则无任何反应。按下按键1,若是有意义,则液晶显示,同时播放内容。若是不显示,则按下按键2。若是有反应则基于Num 值显示内容,同时播放内容。若是不显示,则按下按键3,若是有反应则基于Num 值显示内容,同时播放内容,否则返回。
扫描法在按键部分中的程序如下所示:
在本次系统设置当中选择使用液晶显示,液晶显示模组选择应用的芯片为驱动控制。该模组能够与其他微控制器接口的总线实现直接相连,通过使用微控制器能够将数据显示出来[7]。通过一种八位数据总线或者是串行接口将数据信息写入到硬件元件之中,从而显示出所需要的信息。在显示模组的元件当中内置显示RAM。在RAM当中,一位数据控制液晶屏上的一个像素点的亮暗状态。当为1 的时候,则表示“亮”状态,当为0 的时候,则表示“暗”状态。
显示定位子函数程序如下所示:
在调试公交车报站系统时,从软件调试与硬件调试两个角度展开,首先要对其硬件电路板进行调试,之后通过使用万用表工具检查电路调试,最后调试应用程序的功能。在调试硬件的时候所耗费的时间要多,也必须要求调试人员拥有耐心和细心,熟练掌握电路的原理[8-10]。
其次,完成仿真调试。例如单片机编辑软件所提供的开发环境,如宏编辑器、库管理、C 编辑器,通过运行能力可以对程序存在的错误进行检查。但是这种方法的使用,仍旧要求调试人员对元器件的工作方式与管脚连接方式充分了解。
在本次设计当中直接完成了硬件设备的调试,可以得知硬件几乎没有出现任何问题。在进行软件调试的时候,曾遇到以下问题。
第一,在初次启动硬件时发现,LED 的亮度存在着不均匀现象。通过分析可以得知,在程序当中的相关程序显示时出现延时。
第二,在对按键进行调试的时候,当按下任意一个按键的时候,系统处于定格状态,再按下按键没有出现任何反应。对程序进行查询得知,在循环和延时的程序当中,对于寄存器的重复使用导致该现象出现。
本文简要概述了公交车语音报站系统,通过本文的研究认识到系统的软件和硬件组成。文章中概述了不同模块的工作原理和实现方式,同时对系统软件作出设计,给出总体思路,为公交车语音报站系统的后期研究工作提供支持。