基于单片机的录音器的设计Word格式.docx

上传人:b****6 文档编号:22229829 上传时间:2023-02-03 格式:DOCX 页数:17 大小:190.50KB
下载 相关 举报
基于单片机的录音器的设计Word格式.docx_第1页
第1页 / 共17页
基于单片机的录音器的设计Word格式.docx_第2页
第2页 / 共17页
基于单片机的录音器的设计Word格式.docx_第3页
第3页 / 共17页
基于单片机的录音器的设计Word格式.docx_第4页
第4页 / 共17页
基于单片机的录音器的设计Word格式.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

基于单片机的录音器的设计Word格式.docx

《基于单片机的录音器的设计Word格式.docx》由会员分享,可在线阅读,更多相关《基于单片机的录音器的设计Word格式.docx(17页珍藏版)》请在冰豆网上搜索。

基于单片机的录音器的设计Word格式.docx

方案一:

利用单片机及其外围硬件电路(如A/D、D/A、存储器等),就能完成语音信号的数字化处理,实现语音的存储与回放,及单片机测控系统的语音提示报警及语音提示操作。

但是语音信号容易受到外界干扰而失真,并且信号的压缩存储比较复杂,硬件电路不宜调试。

方案二:

直接采用单片机AT89C52与专用的语音处理芯片ISD2560设计实现语音存储与回放,实现语音的分段录取、组合回放。

语音信号抗干扰能力强,存储方便,调试简单,还可以作为语音服务的子系统。

所以,选择此方案。

本设计基于语音回放系统,可实现录音,循环放音功能。

系统框图如下图所示:

图3-1系统框图

2.2单片机AT89C52

AT89C52是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,与标MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器和Flash存储单元,功能强大AT89C52单片机适合于许多较为复杂控制应用场合。

2.2.1主要性能参数

·

与MCS—51产品指令和引脚完全兼容

8k字节可重擦写Flash闪速存储器

1000次擦写周期

全静态操作:

0Hz—24MHz

三级加密程序存储器

256×

8字节内部RAM

32个可编程I/O口线

3个16位定时/计数器

8个中断源

可编程串行UART通道

低功耗空闲和掉电模式

图3-2AT89C52引脚分布

功能特性概述:

AT89C52提供以下标准功能:

8k字节Flash闪速存储器,256字节内部RAM,32个I/O口线,3个16位定时/计数器,一个6向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

同时,AT89C52可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。

掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

2.2.2引脚功能说明

P0口:

P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上

拉电阻。

P1-P3口:

P3口是一组带有内部上拉电阻的8位双向I/O口。

P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表所示:

图3-3

RST:

复位输入。

ALE/PROG:

地址锁存允许端

PSEN:

程序储存允许(PSEN)输出是外部程序存储器的读选通信号。

EA/VPP:

外部访问允许。

XTAL1:

振荡器反相放大器的及内部时钟发生器的输入端。

XTAL2:

振荡器反相放大器的输出端。

2.3ISD2560语音芯片

2.3.1ISD2560的简介

ISD2560语音芯片是美国Winbond公司产品,是ISD系列单片语音录放集成电路的一种。

这是一种永久记忆型语音录放电路,录音时间为60s,可重复录放10万次。

芯片采用多电平直接模拟量存储专利技术,省去了A/D、D/A转换器。

每个采样值直接存储在片内单个EEPROM单元中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。

ISD2560集成度较高,内部包括前置放大器、内部时钟、定时器、采样时钟、滤波器、自动增益控制、逻辑控制、模拟收发器、解码器和480K字节的E2PROM等,内部原理框图及引脚排列如图3-4所示。

ISD2560控制电平与TTL电平兼容,接口简单,使用方便。

该器件的采样频率为8.0KHz,同一系列的产品采样频率越低录放时间越长但通频带和音质会有所降低。

此外,ISD2560还省去了A/D和D/A转换器。

其集成度较高,内部包括前置放大器、内部时钟、定时器、采样时钟、滤波器、自动增益控制、逻辑控制、模拟收发器、解码器和480K字节的EEPROM。

ISD2560内部EEPROM存储单元均匀分为600行,有600个地址单元,每个地址单元指向其中一行,每一个地址单元的地址分辨率为100ms。

此外,ISD2560还具备微控制器所需的控制接口。

通过操纵地址和控制线可完成不同的任务,以实现复杂的信息处理功能,如信息的组合、连接、设定固定的信息段和信息管理等。

ISD2560可不分段,也可按最小段长为单位来任意组合分段。

2.3.2引脚功能说明

ISD2560具有28脚SOIC和28脚PDIP两种封装形式。

图3-5所示是其引脚排列。

各引脚的主要功能如下:

电源(VCCA,VCCD):

模拟和数字电源。

为了最大限度的减小噪声,芯片内部的模拟和数字电路使用不同的电源总线,并且分别引到外封装上。

模拟和数字电源最好分别走线,并应当尽可能在靠近供电段相连,而去耦电容则应当尽量靠近芯片。

地线(VSSA,VSSD):

数字和模拟地。

由于芯片内部使用不同的模拟和数字地线,因此,这两脚最好通过低阻抗通路连接到地。

节电控制(PD):

节电控制引脚。

该端拉高可使芯片停止工作而进入节电状态。

芯片发生溢出,即OVF引脚输出低电平后,应将此引脚变高以将地址指针复位到录音/放音空间的开始位置。

片选(CE):

芯片使能输入引脚,低电平有效。

该端变低且PD也为低电平时,允许进行录、放操作。

芯片在该引脚的下降沿将锁存地址线和P/R引脚的状态。

A0/M0~A6/M6,A7~A9(1~10引脚):

地址线/模式输入。

共有1024种组合状态。

是前面的600个状态作内部存储器的寻址用,最后256个状态作为操作模式。

当A8或A9有一个为0时,为地址线,作为当前录音/放音操作的起始地址,地址端只用做输入,不输出操作过程中的内部地址信息,地址输入在CE的下降沿被锁存。

当A8和A9均为1时,当模式输入,共有6种操作模式(见表7-1),由M0~M6决定,允许多种模式同时存在。

录放模式(P/R):

该端状态一般在CE的下降沿锁存。

高电平选择放音,低电平选择录音。

录音时,由地址端提供起始地址,直到录音持续到CE或PD变高,或内存溢出;

如果是前一种情况,芯片将自动在录音结束处写入EOM标志。

放音时,由地址端提供起始地址,放音持续到EOM标志。

如果CE一直为低,或芯片工作在某些操作模式,放音则会忽略EOM而继续进行下去,直到发生溢出为止。

信息结尾标志(EOM):

信息结尾标志输出引脚,低电平有效。

EOM标志在录音时由芯片自动插入到该信息段的结尾。

当放音遇到EOM时,此引脚输出低电平脉冲。

另外,ISD2560芯片内部会自动检测电源电压以维护信息的完整性,当电压低于3.5V时,此引脚变低,此时芯片只能放音。

溢出标志(OVF):

芯片处于存储空间末尾时,该端输出低电平脉冲以表示溢出,之后该端状态跟随CE端的状态,直到PD端变高。

话筒输入(MIC):

麦克的输入通过此引脚将信号送至片内的前置放大器,片内自动增益电路(AGC)将此前置放大器的增益控制在-15~24dB。

外接话筒应该通过一系列电容交流耦合进此引脚,耦合电容值和芯片内部此引脚的10kΩ输入阻抗共同决定了ISD2560芯片频带的低频节截止点。

话筒参考(MICREF):

该端是前置放大器的反向输入,当以差分形式连接话筒时,可减少噪声,提高共模抑制比。

自动增益控制(AGC):

AGC可动态调整前置增益以补偿话筒输入电平的宽幅变化,这样在录制变化很大的音量(从耳语到喧嚣声)时就能保持最小失真。

模拟输出(ANAOUT):

前置放大器输出。

其前置电压增益取决于ACG引脚的电平。

模拟输入(ANAIN):

该端为芯片录音信号输入。

对话筒输入来说,ANAOUT端应通过外接电容连至该端,该电容和本端的3KΩ输入阻抗决定了芯片频带的附加低端截止频率。

其它音源可通过交流耦合直接连至该端。

扬声器输出(SP+、SP-):

可驱动16Ω以上的喇叭。

ISD2500系列的所有器件在芯片上都有一个差分扬声器驱动器。

扬声器输出端在录音和节电模式时保持为VSSA电平,因此多个ISD2500系列器件同时使用时,他们的扬声器输出端不能并接,并行连接可能会造成芯片的损坏。

单端输出时必须在SP输出端和扬声器间接耦合电容,双端输出既不用电容又能将输出功率提高4倍。

辅助输入(AUXIN):

当CE和P/R为高,不进行放音或处入放音溢出状态时该端的输入信号将通过内部功放驱动喇叭输出端。

当多个ISD2560芯片级联时后级的喇叭输出将通过该端连接到本级的输出放大器。

为防止噪声建议在存放内存信息时该端不要有驱动信号。

外部时钟(XCLK):

该端内部有下拉元件,不用时应接地。

地址/模式输入(AX/MX):

地址端的作用取决于最高两位(MSB,即A8和A9)的状态。

当最高两位中有一个为0时,所有输入均作为当前录音或放音的起始地址。

地址端只作输入,不输出操作过程中的内部地址信息。

地址在CE的下降沿锁存。

当最高两位全为1时,A0~A6可用于模式选择。

操作模式

由于ISD2560内置了若干种操作模式,因而可用最少的外围器件实现最多的功能。

操作模式也由地址端控制;

当最高两位都为1时,其它地址端置高可选择某个(或某几个)特定模式。

因此操作模式和直接寻址相互排斥。

具体操作模式见表7-1所列。

操作模式可由微控制器也可由硬件实现。

使用操作模式要注意两点:

(1)所有操作最初都是从0地址即存储空间的起始端 开始。

后续的操作根据选用的模式可从其它地址开始。

但是,电路由录转放或由放转录(M6模式除外),或都执行了掉电周期后,地址计数器将复位为0。

(2)当CE变低且最高两地址位同为高时,执行操作模式。

这种操作模式将一直有效,直到CE再次由高变低,芯片重新锁存当前的地址/模式端电平并执行相应的操作为止。

表7-1ISD2560操作模式列表

第3章硬件电路及软件实现

3.1系统硬件电路设计

1.本系统主要可分为3个部分:

单片机控制部分、语音播报部分、和键盘输入部分,采用52单片机作为主控制芯片,利用ISD2560实现语音录放,简单易行且控制方便。

2.系统采用的微控制器是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存技术生产,与标准MCS-51指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C52单片机适合于许多较为复杂控制应用场合

3.该单片机的P1口是一个双向I/O口,其中P1.2~P1.7口内部提供了上拉电阻,P1.0、P1.1需外部上拉。

P1.0、P1.1同时也是片内精密比较器的正输入端(AIN0)和负输入端(AIN1)。

P3口是7个带有内部上拉电阻的双向口。

4.数码语音芯片选用的是ISD2500系列单片语音录放集成电路ISD2560,它具有抗断电、音质好,使用方便,无须专用的开发系统等优点。

图3-1硬件电路设计

5.实现的功能如下:

6.按下开始键,启动录音,松开开始键,结束录音。

注意,录音时间不能超过预先设定的每段语音的时间。

7.结束录音后,循环播放所录声音3次。

3.2系统软件设计

3.2.1系统软件总流程图

软件系统的总体流程如图3-2所示:

图3-2软件流程图

3.2.2录放音时AT89C52单片机对ISD2560的控制

录音时,按下“开始”键,单片机控制PD、P/R引脚为高电平,并指定录音地址,启动录音过程。

在预先设定的时间内(<

60s)结束录音,松开“开始”键,单片机控制P/R引脚回到高电平,即完成一段语音的录制。

之后打开外部中断0,指定放音地址,启动放音程序,每次放音结束时,EOM输出会触发单片机的外部中断0,经过适当的延时后,重新启动第二次放音,这样重复三次后关闭外部中断0,流程结束,等待下一次录音。

3.3语音器件外围电路设计

(1)扬声器电路语音器件的SP+(引脚14),SP-(引脚15)分别接扬声器的一端。

通电后,系统可以驱动16Ω以上的扬声器。

(2)话筒电路MICIN(引脚17)、MICREF(引脚18)分别通过相应的电容连接到话筒两端。

通过MICIN将话筒的输入信号送至片内前置放大器,片内自动增益控制电路AGC将此前置放大器的增益控制在-15~+24dB,具体电路如图3所示。

该器件在使用前需用单片机写入初始状态。

第5章总结

ISD2560语音芯片在语音录放系统中的实际应用效果非常好,而且编程也比较简单,与其它一些数字语音芯片相比,ISD2560的突出特点是放音效果极佳,能够非常真实、自然地再现语音、音乐、音调和效果声,另外,使用该芯片也可自己设计电路实现录音操作,使用十分方便。

本设计是一种基于51单片机控制的语音录音/放音系统,它采用ISD单片语音录音/放音集成电路系列中的ISD2560实现语音的存储和播放,ISD2560采用直接电平存储技术,不仅省去了A/D、D/A转换器,而且语音自然真实。

致谢

在本论文完成之际,首先要向我的指导老师郭晓凤致以诚挚的谢意。

在实物制作和论文的写作过程中,郭老师给了我许许多多的帮助和关怀。

郭老师学识渊博、治学严谨,待人平易近人,在郭老师的悉心指导中,我不仅学到了扎实的专业知识,也在怎样处人处事等方面收益很多;

在此我谨向郭老师表示衷心的感谢和深深的敬意。

同时也感谢机电学院电子工程系09届全体同学的帮助和勉励,同窗之谊和手足之情,我将永生难忘

此外,我要感谢我们学院给我们提供实验设备的各位老师,正是由于他们的传道、授业、解惑,让我学到了专业知识,并从他们身上学到了如何求知治学、如何为人处事。

参考文献

[1].陈后金.数字信号处理[M].北京:

高等教育出版社,2003.

[2].李建忠.单片机原理及应用[M].西安:

西安电子科技大学出版社,2002.

[3].杨素行.模拟电子技术基础简明教程.北京:

高等教育出版社.2004.

[4].余孟尝.数字电子技术基础简明教程.北京:

高等教育出版社.2001.

[5].全国大学生电子设计竞赛组委会全国大学生电子设计竞赛获奖作品选编.北京:

北京理工大学出版社,1997

[6].张绍高.数字音频技术原理及应用.(第1版).北京:

国防工业出版社,2000.7

[7].吴瞋山.电子线路设计与实践北京:

电子工业出版社出版.2005

[8].谢自美设计.实验.测试(第三版)武汉:

华中科技大学出版2000年7月

[9].http:

//www.mcuf-

[10].http:

//www.tai-

附录

附录1:

元器件清单

名称

型号规格

数量

芯片

AT89C52

1

电容

22pF

2

ISD2560

10uF

电阻

10k

4

0.1uF

6

1k

220uF

470k

22uF

5.1k

4.7uF

开关

START

晶振

11.0592mkz

RST

喇叭

话筒

附录2:

程序清单

#include<

reg52.h>

#defineucharunsignedchar

#defineuintunsignedint

ucharcount;

//重复播放次数计数器

ucharStartFlag;

//开始键按下标志

ucharIdleFlag;

//系统是否处于空闲状态标志

/*定义语音芯片ISD2560的控制引脚*/

sbitSTART=P1^0;

sbitEOM=P1^4;

sbitPR=P1^5;

sbitPD=P1^6;

sbitCE=P1^7;

/*录音函数*/

voidrecord(void)

{

CE=0;

//片选有效

PD=0;

//非节电模式

PR=0;

//录音

}

/*放音函数*/

voidplayback(void)

PR=1;

//放音

/*延时t毫秒*/

voiddelay(uintt)

uinti;

while(t--)

/*对于11.0592MHz时钟,约延时1ms*/

for(i=0;

i<

125;

i++){

}

}

/*外部中断0服务子程序*/

voidout_int0()interrupt0using1

EX0=0;

//关外部中断0

PD=1;

//进入节电状态

if(count<

2)

{//再重播2次,共3次放音

count++;

delay(500);

//延时500ms

P2=P2&

0xFC;

//A8=A9=0

P0=P0&

0x00;

//起始地址为0

playback();

//从地址0处播放

EX0=1;

//开外部中断0

else

{

IdleFlag=1;

//变为空闲状态,可以再次按开始键

count=0;

}

/*主程序*/

voidmain(){

EA=1;

//开CPU中断

count=0;

StartFlag=0;

IdleFlag=1;

while(IdleFlag==1)

{

if(START){

delay(10);

//延时去抖动

if(START)

StartFlag=1;

}

if(StartFlag==1){

do{

P2=P2&

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > 其它考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1