笔者设计了一个基于单片机STC89C52RC、DS18B20温度传感器、语音芯片ISD1730构成的语音温度测量系统,给出了语音的分段录入、各段语音存放地址的确定、各段语音的修正、多段语音组合输出等环节的详细设计过程。
1 系统结构及软硬件设计
1.1 系统结构及工作原理
具有语音输出功能的单片机测量、显示系统结构框图如图1所示。系统主要由传感器输入、STC89C52RC及其外围电路、显示电路、语音电路和电源电路构成。设计时将需要播报的语音段(或字)录入语音芯片(系统失电后语音信息并不会丢失),系统工作时STC89C52RC会对传感器的信号进行采集,通过处理后一方面将结果输出显示,另一方面分析需要播报哪些语音段,指令语音模块将需要播报的语音段按要求组合进行播报。
1.2 系统硬件电路
1.2.1 数据采集与显示部分
单片机及其外围电路由STC89C52RC、复位电路、振荡电路等构成单片机最小系统;数字温度传感器DS18B20以一线形式与STC89C52RC的P3.7端口连接;采用4位数码管显示,显示数据通过STC89C52RC的P0口,经过74LS573锁存驱动后对数码管段控制,P2.0~P2.2通过74LS 138译码后对数码管的字控制,实现动态扫描显示。
1.2.2 语音电路设计
语音芯片采用美国Winbond公司的ISD1730,工作电压范围为2.4~5.5V,适合与单片机共用电源。该芯片适用于需要多段语音存储与回放的各种高端电子系统,根据其外接振荡电阻的大小不同,可以存储20~60s的信息。语音电路如图2所示。在电路中,振荡电阻为80kΩ,最小存储分辨率为125 ms,可以存放30 s的语音。信号以自然语音的形式按行存储在其内部的多级固态存储器内,可以通过指令中的11位地址对每一行的信息精确寻址,存储的语音信息断电后不会丢失,理论上可以保持一百年,存储10万次。
对该芯片的 *** 作有独立按键和微控制器SPI接口2种方式。当按键方式 *** 作时,通过将图中的S1~S4分别接地,就可以实现对ISD1730芯片复位、语音删除、语音录入、语音回放等 *** 作,这些 *** 作也可以通过STC89C52RC实现。ISD1730提供了4线(SCLK、MOSI、MISO等)SPI接口与STC89C52RC连接,系统采用了STC89C52RC的P1.0、P1.1、P1.2、P1.3口模拟SPI时序对ISD1730进行 *** 作。语音输出方式有2种,系统以PWM的形式驱动一个8Ω的D级扬声器(SPEAKER),也可以配置成AUD(电流)或AUX(电压)单端输出的方式驱动外部的音频放大器。
1.3 对语音信息的 *** 作
1.3.1 语音信号录入
可以采用商业的语音拷贝机或手动录入方式,将语音信号录入语音芯片;手动录入时,首先借助于声音魔法师、文语转换小精灵或其他的文字转声音软件,在电脑上将需要录入的文字转换成多段语音信息,然后将电脑的耳机输出口与如图2所示的Analn引脚连接,也可以将发音设备对准MIC;闭合S33键,打开音源,进行录制,录制时指示灯LED闪亮;松开S33键则该段语音录制结束,LED熄灭,一段语音录制完成。同理可录制下一段;全部语音录制完成后,闭合S44键并保持,器件将会依次将录制的语音全部播放出来,如果录制不理想,可以删除重来;闭合S33键并保持,LED闪烁7次,录制的信息将全部删除。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)