利用单片机实现语音录放

更新时间:2023-10-22 21:13:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

利用单片机实现语音录放

摘 要:本文介绍了一种基于AT89C51单片机控制的语音录放系统,它采用ISD单片语音录放集成电路系列中的ISD2560,实现语音的存储和播放。文章先是介绍了利用AT89C51单片机实现语音录放系统的整体设计思路,然后分别从硬件电路设计和软件设计两方面详细介绍实现语音录放系统的具体方法。经过测试,所设计的语音录放系统可以录音和放音,并且使用方便,音质自然真实。 关键词:AT89C51;ISD2560;语音录放系统 中图分类号:TP319 文献标识码:A

1 系统概述

在声学领域,单片机技术与各种语音芯片相结合,即可完成语音的合成技术,使得单片机语音系统的实现成为可能。所谓语音芯片,就是在人工或者控制器的控制下可以录音和放音的芯片。语音信号是模拟量,语音芯片的存储播放声音的基本工作方式为:声音 模拟量 A/D 存储 D/A 模拟量 播放。采用这种方式的语

2

音芯片外围电路比较复杂,声音质量也有一定的失真。而另一种语音芯片采用EPROM存储方法,将模拟语音数据直接写入半导体存储单元中,不需要另加A/D和D/A变换电路,使用方便,语音音质自然。本设计采用模拟语音数据直接存储语音芯片来设计51单片机的语音录放系统。

2 系统设计思路

2.1 语音芯片的选择

在进行语音录放系统的设计之前,首先需要选择合适的语音芯片。因为语音芯片的好坏直接影响系统的复杂程度和系统的真实性。本设计采用ISD公司生产的ISD2560芯片作为语音芯片。

ISD2560的特点如下:

(1)使用直接电平存储技术,省去了A/D和D/A转换;

2

(2)内部集成了大容量的EPROM,不再需要扩展存储器; (3)控制简单,控制管脚与TTL电平兼容; (4)具有集成度高、音质好、使用方便等优点。 ISD2560的基本功能如下:

(1)具有抗断电、音质好、使用方便、无需专用的语音开发系统的特点;

2

(2)片内EPROM容量大,所以录放时间长,录放时间为90秒; (3)有10个地址输入端,寻址能力可达1024位;

(4)语音最多能分成600段,设有OVF溢出端,便于多个器件级联。 2.2 设计分析

本设计将单片机系统和语音芯片联系起来,形成一个智能化的语音播放系统。单片机需要完成两个功能,一是通过ISD2560语音芯片,录制一段语音信息,二是定时10秒,循环播放一段录制的语音。在单片机系统中使用ISD2560语音芯片时,需要考虑三个方面的内容,一是如何使用ISD2560语音芯片,二是如何根据选择的ISD2560芯片设计外围电路和单片机的接口电路,三是如何编写定时控制语音芯片的单片机程序。本设计的功能模块分为以下三个:

(1)单片机系统:输出控制信号,控制语音芯片定时播放特定的语音; (2)外围电路:实现外围的ISD2560语音芯片和单片机的接口电路;

(3)程序设计:编写定时10秒的程序,并在定时中断到来时播放语音芯片中的内容。

3 硬件电路设计

本设计的硬件电路主要由单片机和语音芯片构成,硬件电路的重点是ISD2560语音芯片的外围电路设计以及单片机的接口电路。

3.1 ISD2560外围电路设计

ISD2560内置了若干操作模式,可用最少的外围器件实现最多的功能。操作模式也由地址端控制;当最高两位都为1时,其它地址端置高就选择某个模式。基本电路原理如图1所示。

录音时按下录音键,使PD端、P/R 端为低电平,此时启动录音:结束时松开按键,单片机又让P/R 端回到高电平,即完成一段语音的录制。用同样的方法可录取第二段、第三段等。注意录音时间不超过预先设定的每段语音时间。放音的操作更为简单,按下录音键高电平,使PD端、P/R 端为低电平,启动放音功能;结束时,松开按

键,即完成一段语音的播放。

图1 ISD2560基本电路原理图

3.2 单片机的接口电路

ISD2560与单片机的连接是指地址分配和连接,本设计中单片机与各个功能管脚的连接和相关的地址分配如下: (1)A0-A9:单片机和ISD2560语音芯片的地址连接,通过对A8、A9的设置,单片机可以控制语音芯片的工作方式;

(2)PD:节电控制,和单片机的P2.4口相连,单片机可以控制芯片的开关;

(3)CE :片选,和单片机的P2.5口相连,单片机可以选中芯片;

(4)P/R :录放模式,和单片机的P2.2口相连,单片机可控制芯片处于录音或者是播放的工作状态; (5)EOM :信息结尾标志,和单片机的P2.3口相连,EOM 标志在录音时由芯片自动插入到该信息的结尾。

4 系统软件设计

4.1 设计思路

本设计主要通过单片机对ISD2560的控制,实现指定地址入口的单循环播放。程序中采用定时器中断的方式来严格控制每个语调的发音,把乐谱变成固定代码表,通过查表的方法来读取发声的定时器/计数器的计数初值,然后通过循环来控制歌曲的播放。单片机控制语音芯片定时播放的程序主要包括两方面的关键内容,一是单片机对ISD2560芯片的控制字的写入,二是定时中断的产生。

录音时,按下录音键,单片机通过A端口线设置语音端的起始地址,再使PD端、P/R端为低电平启动录音;结束时,松开按键,单片机又让P/R端口回到高电平,即完成一段录音。注意录音的时间不能超过预先设定的时间。放音时,根据需播放的语音内容,找到相应的语音段起始地址,并通过口线送出。再将P/R端设为高电平,PD端设为低电平,并让CE端产生一负脉冲启动放音,这时单片机只需等待ISD2560的信息结束语信号。信号为一负脉冲,在负脉冲的上升沿,该段语音才播放结束,所以单片机必须要检测到的上升沿才能播放第二段,否则播放的语音就不连续。 4.2 程序流程

程序流程如图2所示。“开始”键按下后,单片机控制PD、P/R引脚为高电平,并指定录音地址,启动录音过程。在预先设定的时间内结束录音,松开“开始”键,单片机控制P/R引脚回到高电平,即完成一段语音的录制。之后打开外部中断0,指定存放地址,启动放音程序,每次放音结束时,EOM输出会触发单片机的外部中断0,经过适当的延时后,重新启动第二次放音,这样重复3次关闭外部中断0,流程结束,等待下一次录音。

5 结束语

采用单片机AT89C51和语音芯片ISD2560设计和制作语音录放系统,实现了语音的分段录音,分段放音,重复放音及连续放音的功能。该语音系统不仅具有音色自然、使用方便、单片存储、反复录放、扩展容易、功耗低微、不怕断电等特点,而且其硬件电路简单,调试方便,对硬件和软件稍作改动,便可完成其他的功能,如智能语音控制器等,因此具有较好的实用价值。

系统上电外部中断0服务子程序初始化关闭外部中断0“开始”键按下Y调用录音函数“开始”键松开Y延时打开外部中断0调用播放函数NCount<2YCount++N延时打开外部中断0调用播放函数图2 程序流程图

参考文献:

[1] 唐晨光, 唐绪伟, 覃媛,等.单片机原理与应用及上机指导[M].北京: 清华大学出版社, 2010. [2] 任致程.语音录放和识别集成电路应用与制作实例[M].北京: 人民邮电出版社,1999. [3] 张崇武.基于单片机的语音编码系统实现[D].山东大学,2012.

[4] 熊昕,岑人经.一种新型医疗仪器语音录放系统的设计[J].中国医学物理学杂志, 2010. [5] 黄亮.基于AT89C51单片机的串口通信程序的设计[J].电子制作,2006.

本文来源:https://www.bwwdw.com/article/ku6f.html

微信扫码分享

《利用单片机实现语音录放.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档
下载全文
范文搜索
下载文档
Top