APP下载

基于51单片机的语音提示饮水杯的设计

2011-10-09郭凤雨龚成龙

电子设计工程 2011年16期
关键词:话筒录音饮水

郭凤雨,龚成龙,张 磊

(1.中国矿业大学 信电学院,江苏 徐州 221008;2.淮海工学院 电子工程学院,江苏 连云港 222005)

目前,随着生活节奏的加快,在忙于工作的同时,许多人忽略了生活中的小细节,即适当饮水,特别是春秋季节,适当饮水可以很好地预防感冒等疾病的发生,同时适当饮水还有很多好处,在此,就不一一列举。怎样提示按时适当喝水呢?语音提示饮水杯即可实现此效果。与现有杯子相比,本饮水杯具有定时语音提示功能,使用者只要设定饮水时间和录下想要提示的录音,到达时间后,杯子上的语音提示装置就会提示使用者饮水。使用这种杯子,有益于使用者形成正确的饮水习惯。同时此杯子还可送给老人,小孩。在无暇照顾他们的时候,提示他们适时喝水,保持身体健康。

1 语音提示饮水杯外观的设计

以图1圆柱形饮水杯为例:杯盖分为两层,下层为普通的水杯盖,上层为语音提示盖,盖中装有语音提示装置。语音提示盖上有两个孔,即用作录音的话筒孔和用作放音的扬声器孔。打开语音提示盖上面的长方形保护盖,下面为:a:3个按键,分别是:开/关按钮、录/放音按钮、定时按钮。b:LED录音指示灯。当按住录音按键录音时,LED指示灯亮;松开按键停止录音时,LED指示灯灭。

图1 语音提示饮水杯的外观设计图Fig.1 Exterior design of voice prompts drinking cup

2 硬件电路的设计

由图2的框图可知:本设计框图包括3个按键,AT89C51单片机,ISD2560语音芯片,话筒和扬声器。其中AT89C51单片机为本设计的控制核心,它控制ISD2560语音芯片,实现对声音的录制,定时和播放。

图2 系统设计总框图Fig.2 General block diagram of system design

2.1 芯片的选取

2.1.1 语音芯片的选取

美国 ISD公司的 2500芯片,分为 ISD2560、2575、2590和25120 4个品种。它们的录放时间分别为:60 s、75 s、90 s和120 s。而在此设计中录放时间60 s的ISD2560芯片完全可以满足要求,所以选用ISD2560芯片。

ISD2560是ISD2500系列单片语音录放集成电路的一种,是一种永久记忆型录放语音电路。录音时间为60 s,最多可以分成600个段,能重复录放达10万次。它采用模拟量电平直接存储技术。把每个采样值直接存储在片内单个EEPROM单元中。因此能够非常自然地再现语音、音乐等。又省去了A/D、D/A转换器,具有良好的音色,又避免了一般固体录音电路因量化和压缩造成的量化噪声。片内集成了很多功能电路。包括前置放大器、定时器、内部时钟、采样时钟、滤波器、自动增益控制、逻辑控制、模拟收发器、解码器和480 k字节的EEPROM。可以直接连接录音输入和放音输出,使用方便并且价格低廉。使得该系列芯片得到十分普遍的应用。在公共汽车语音报站器、电话自动应答系统、语音讲解仪、便携式语音记录装置、电子词典、语言复读机等诸多方面都有应用[1-3]。其引脚图如图3所示。

图3 ISD2560引脚原理图Fig.3 Schematic of ISD2560 pins

为了能够更深入地了解ISD2560芯片的工作原理。先介绍一下该系列芯片引脚功能[4]。

Pin28(数字电源 VCCD)和 Pin16(模拟电源 VCCA):芯片内部的数字和模拟电路使用不同的电源总线,并且分别引到外封装上。数字和模拟电源端最好分别走线,并应尽可能在靠近供电端处相连,而去耦电容则应尽量靠近芯片,这样可以最大限度地减小噪声。

Pin12(数字地 VSSD)和 Pinl3(模拟地 VSSA):这两脚最好通过低阻抗通路连接地。

Pinl4(扬声器输出 SP+)和 Pinl5(SP-):单端输出时必须在输出端和喇叭间接耦合电容。而双端输出则不用电容就能将功率提高至4倍。

Pin20(模拟输入ANA IN):录音信号输入端。

Pin21(模拟输出ANA OUT):前置放大器输出。

Pin17(话筒输入MIC):该端连至片内前置放大器,外接话筒应通过串联电容耦合到该端。耦合电容值和该端的输入阻抗决定了芯片频带的低频截止点。

Pin18(话筒参考MIC REF):该端是前置放大器的反向输入,当以差分形式连接话筒(即话筒的一端连接MIC,另一端连接MIC REF)时,可减小噪声,并提高共模抑制比。

Pin19(自动增益控制AGC):AGC可动态调整前置增益以补偿话筒输入电平的宽幅变化,减少失真度。

Pin1~Pinl0(地址 /模式输入 A0/M0~A6/M6~A9):当最高两位中有一个为0时,作为当前录音或放音的1O位起始地址(实际仅用0~599作为芯片内部EEPROM的地址码)。该地址码在的下降沿被锁存。当最高两位全为1时,A0~A6称为M0~M6,用做命令操作模式或者按键模式(M6也为1时)的命令位。

Pin24(节电控制PD):高电平可使芯片停止工作而进入节电状态。

Pin26(外部时钟XCLK):外部时钟输入,不用时应接地。

Pin27(录放控制P/R):高电平选择放音,低电平选择录音。

2.1.2 单片机选取

随着集成电路工艺的迅速发展,出现了51系列单片机、DSP、ARM 等多种单片机。DSP:它从16位~32位,内部采用哈佛结构,特别适合数据处理。其中16位DSP适合中高级工控到简单语音/图片处理;32位DSP适合复杂语音/图片/视频处理。ARM:是32位单片机,由于结构和计算速度的原因,目前适合做事务处理或者中低端应用,从中高级工控到简单语音/图片处理。AT89C51是一种带4 k字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。51单片机虽然和DSP,ARM相比处理速度和运算速度上都比较慢,但它的体积小、质量轻、价格便宜,它的速度可以满足本设计的要求,所以采用AT89C51单片机。

2.2 语音提示装置硬件电路

AT89C51单片机的4组I/O端口中,作为普通I/O端口的只有P1口。用外部中断0(即P3.2位)与录放器件的 EOM端(作为录音时的结尾标志输出端口)连接,录/放模式选择端,器件使能输入端CE、节电控制端PD分别与P1口的P1.5~P1.7相连,作为语音芯片和单片机的输入控制端口,10位地址端与单片机的低8位和高2位连接组成A0~A9。麦克风和扬声器与相应的ISD2560引脚相连,并接相应的电容电阻进行稳压和稳流[5],整个系统电路原理如图4所示。

图4 语音提示装置电路图Fig.4 Schematic of voice prompts device

到此,硬件电路芯片的选型以及电路的搭建已设计完成。

3 软件的设计

随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机程序的软件。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVison)将这些部分连在一起。

因此本设计的软件部分通过Keil进行程序的编程,下面主要介绍程序中的主要子程序和一些重要部分:

初始函数主要是对定时/计数器和一些参数初值的设定:

录音函数:

定时函数及原理

当单片机工作于定时状态时,定时/计数器对机器周期进行计数,每个机器周期包括12个振荡周期,以晶振频率为6 MHz为例,则:

1个机器周期=12/晶振频率=12/6 000 000=0.002 ms

定时时间为:TC=XTP。其中,TP为机器周期,TC为定时时间。

则应装入计数/定时器的初值为:

对于方式一,一次最大的定时时间为:T=(216-0)×0.002=131.072 ms,为了便于计算,设定每次最大定时时间为100 ms,计算应装入的初值[6]:

本设计软件默认定时时间为30 min,而每次耗时100 ms,所以30 min需循环18 000次。定时的时间间隔为1 h,即按一次按键定时为1 h,2次为2 h,3次为3 h。按到第4次就恢复到默认值,即30 min。

定时函数:

放音函数:

放音时,使PR为高而PD为低。置CE为低电平(此处通过编写C程序,将CE置为低电平)就开始从指定的地址开始放音。起到提示效果。

通过上述程序,稍加增减,设计所要求的软件部分即可实现,在此就不一一赘述。

4 结束语

本设计的语音提示饮水杯采用ISD2560语音芯片,省去A/D转换和D/A转换,语音自然真实。给出以AT89C51单片机为核心所编写的C程序,通过实验验证该语音录放系统录音和放音效果良好,单片机控制相当准确。完全可以起到语音提示饮水的效果。

在应用方面,这种为饮水杯所设计的语音提示装置还可用于其他领域,作为一个模块可与其他功能电路集成,实现各种功能复杂的语音系统,如手机话费查询系统、电脑语音钟、监控系统语音报警及公共汽车报站器等,具有一定的实用价值。

[1]王南阳.ISD系列单片语音录放集成电路 [J].电子世界,2005(12):41-42.

WANG Nan-yang.Integrated circuit of ISD series single voice recorders[J].Electronic World,2005(12):41-42.

[2]翟祺,金文臣.ISD系列单片语音录放电路的原理及应用[J].山西电子技术, 2001(3):24-27.

ZHAI Qi,JIN Wen-chen.Principles and applications of ISD series single voice recorders circuit[J].Shanxi Electronic Technology, 2001(3):24-27.

[3]刘连吉.ISD单片语音录/放器件及电路设计[J].海洋技术,1997,16(3):38-45.LIU Lian-ji.ISD single-chip voice record/playback devices and circuit design[J].Marine Technology,1997,16(3):38-45.

[4]杨志远,谢秋华.ISD2500系列语音芯片随机语音分段方法[J].三明学院学报, 2007,24(2):160-165.

YANG Zhi-yuan,XIE Qiu-hua.Segmentation method of random voice of ISD2500 series voice chips[J].Journal of Sanming College, 2007, 24(2):160-165.

[5]吕印晓,谢震宇,张宝军.单片语音录放芯片ISD5102的原理及应用[J].电子工程师,2004,30(4):14-15.

LV Yin-xiao, XIE Zhen-yu, ZHANG Bao-jun.Principles and applications of single voice recorders chip ISD5102[J].Electronics Engineer, 2004,30(4):14-15.

[6]陈桂友,孙同景.单片机原理及应用[M].北京:机械工业出版社,2007.

猜你喜欢

话筒录音饮水
简易饮水鸟
把话筒传给鹏鹏特
Funny Phonics
funny phonics
Listen and Choose
小话筒
Listen and Color
怎样做到科学饮水
简易无线话筒扩音系统设计及实现
饮水