单片机控制语音芯片的录放音系统的设计_第1页
单片机控制语音芯片的录放音系统的设计_第2页
单片机控制语音芯片的录放音系统的设计_第3页
单片机控制语音芯片的录放音系统的设计_第4页
单片机控制语音芯片的录放音系统的设计_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目录[摘要]TOC\o"1-5"\h\zAbstract …引言 (2)AT89C2051概述 (2)(-).单片机概述 (2.)(二)AT89C51单片机 (3)1、 主要性能 (3.)2、 引脚功能说明 (4.)语音芯片 (1.2)1、 语音芯片的概述 (1.2)2、 ISD2560简介 (13)语音芯片在单片机中系统的使用 (1.7)总体电路设计 (1.7)致谢词 (2.2)参考文献 (2.3)单片机控制语音芯片的录放音系统的设计孙鹏[摘要]:介绍了由Flash单片机AT89C2051及数码语音芯片ISD2560组成的电脑语音系统设计出了系统的硬件电路,给出了录、放音实用的源程序。目前基于单片微机的语音系统的应用越来越广泛,如电脑语音钟、语音型数字万用表、手机话费查询系统、排队机、监控系统语音报警以及公共汽车报站器等等。本文作者F用ash单片机AT89C2051和录放时间达60s的数码语音芯片ISD2560设计了一套智能语音录放系统,实现了语音的分段录取、组合回放,通过软件的修改还可以实现整段录取,循环播放,而且不必使用专门的SD语音开发设备。[Abstract][关键词]:AT89C2051单片机ISD2560语音芯片分段录音组合回放[Abstract]Inthepaper,amicrocomputersoundsystembasedonAT89C2051andISD2560isintroduced.Hardwarecircuitofsystemisdesigned,andpracticalprogrammersaregiven.Keywords:AT89C2051ISD2560Keywords:AT89C2051ISD2560subsectionrecordcombinationreturnplay―AT89C2051概述(一).单片机概述单片机的概念电子计算机的发展经理了从电子管、晶体管、集成电路到大规模集成电路共四个阶段,即通常所是说的第一代、第二代、第三代和第四代计算机。现在广泛使用的微型计算机是大规模集成电路技术的产物,因此它属于第四代计算机,而单片机则是卫星计算机的一个分支从。1971年微型计算机问世以来,由于实际应用的需要,微型计算机向着两个不同的方向发展:一个是向高速度、大容量、高性能的高档微机方向发展;而另一个则是想稳定可靠、体积小和价格廉的单片机方向发展。但两者在原理和技术上是紧密联系的。通用单片机和专用单片机根据控制应用的需要,可以将单片机分为通用型和专用行。通用型单片机是一种基本芯片,它的内部资源比较丰富,性能全面且适用性强,能覆盖多种应用需求。用户可以根据需要设计成各种不同应用的控制系统,即通用单片机有一个再设计过程,通过用户的进一步设计,才能组建成一个以单片机为核心再配以其他外围电路的应用控制系统。专用型的单片机主要是应用在专门针对某个特定产品的,例如电镀表I和卡读写器上的单片机等。这种应用的最大特点是针对性强而且数量巨大。本电路所使用的是通用型的单片机T89C2051

89系列单片机有AT89C系列的标准型及抵挡型,还有T89S系列的高档型。AT89C单片机的结构图如下。它主要由下面几部分组成:个8位中央处理器、片内RAM、4个8位的双向可寻址I/O口、1个全双工UART(通用异步接收发送器)的串行接口2个16位的定时器/计数器、多个优先级的嵌套中断结构,以及一个片内振荡器和时钟电路。在AT89C单片机结构中,最显著的特点是内部含有LASH存储器,而在其他方面的结构,则和INTEL公司的8051的结构没有太大的区别。(二).AT89C2051单片机AT89C2051是一带有2KBFLASH可编程、可檫除只读存储器的低压、高性8位CMOS微型计算机,它采用ATMEL的高密非易失存储器技术制造不并和工业标准MCS-51指令集和引脚结构兼容。通过在单块芯片上组合通用的PL1和FLASH存储器,使AT89C2051成为一强劲的微型计算机。AT89C2051提供以下标准功能:2KBFLASH存储器;128字节RAM;15条I/O口弓|线;2个16位定时器/计数器;1个5向量2级中断结构;1个全双工串行口;1个精密模拟比较器以及片内振荡器和时钟电路。此外,AT89C2051是用可降到0频率的静态逻辑操作设计的,并自持两种可选的软件节电工作方式。掉电方式保存AM内容,但振荡器停止工作,并禁止所有其他部件的工作直到下一个硬件复位。1.主要性能和MCS-51产品兼容2KB可重编程FLASH存储器耐久性:1000次写/檫除。2.7-6.0V的操作范围^ST/VPP匚□VCC1^ST/VPP匚□VCC120(RXO)P3.0匚219□P17(TXO)P3.1匚318□P16XTAL2E417□P1.SXTAL1匚516□F14(INK)P3.2匚01&□P13(iMTI)P3.3E714□P1.2(TO)P3.4匚813□P1J(T1)F3.6匚912□P1jO{A1NO|GND匚1011□P3.7PDIP/SOICATB9C2051全静态操作:0HZ-24MHZ2级加密程序存储器128*8位内部RAM15条可编程I/O引线2个16位定时器/计数器6个中断源可编程串行UART通道直接LED驱动输出片内模拟比较2.引脚功能说明•Vcc:电源电压•GND:地•P1口:P1口是一组8位双向I/O口,P1.2-P1.7提供内部上拉电阻,1.0和pl.l内部无上拉电阻,主要是考虑它们分别是内部精密比较器的同相输入端NO)和反相输入嫌AIN1),如果需要应在外部接上拉电阻P1口输出缓冲器可吸入20mA电流可直接驱动LED。当pl口引脚写入“1”时可作输入端,当引脚P1.2-p1.7用作输入并被外部拉低时,它们将因内部的上拉电阻而输出电流。P1口还在Flash闪速变成及程序校验时接收代码数据。

P3口:p3口的p3.0-p3.5p3.7是带有内部上拉电阻的7个双向I/O口。P3.6没有引出,他作为一个通用I/O口但不可访问,但可作为固定输入片内比较器的输出信号3口缓冲器可吸入20mA电流。当P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。做输入时,被外部拉低的3口将用上拉电阻输出电流。P3口还用于实现AT89C2051特殊功能,如下表所示:P3口还接收一些用于Hash闪速存储器编程和程序校验的控制信号。RST:复位输入。RST引脚一旦变成两个机器周期以上高电平所有的I/O口都将复位到“1”状态,当振荡器政治工作时,持续两个机器周期以上的高电平便可完成复位,每个机器周期为12个振荡时钟周期。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相发党旗的输出端。口引脚功能特性P3.0口2(串行输入口〕P3.1TXD(串行输出口)P3.2INTO(外中断D)P3.3INT13卜中断1)P3.4TO(定时/计数器。外部输入)P35T1(定时/计数器1外部输入)表1—1•振荡器特征:XTAL1、XTAL2为片内振荡器的反相放大器的输入和输出端如下图所示。可采用石英警惕或陶瓷振荡器组成时钟振荡器,如需从外部输入时钟驱前89C2051时钟信号从XTAL1输入,XTAL2应悬空。由于输入靠内部电路是经过一个2分频触发器,所以输入的外部时钟信号无需特殊要求但它必须符合电平的最大和最小值及时序规范。02C1I卜NCX1AL2XTAL1GNDXTAL102C1I卜NCX1AL2XTAL1GNDXTAL1GND石英晶祥时:Cl,C2=30pF+10pF外部时钟驰动电路陶瓷滤波器:儿C2=40pF+10pF内部扳荡电路外部时钟驰动电路图1—2•特殊功能寄存器:片内特殊功能寄存器SFR)空间存储区的影象图如下表所示。并非存储区中所有的地址单元都被占用,未占用的地址单元亦不能使用,如果对其进行读访问一般返回为随机数,写访问也不确定。这些单元是为了以后利用这些未使用的地址单元扩展新功能而设所置以。用户软件不要对它们写“1”,在这种情况下,新位的复位或不激活值总为0“”。某些指令的约束条件:AT89C2051是经济型低价位的微控制器,它含有K字节的Flash闪速程序存储器,指令系统与MCS-51完全兼容,可使用MCS-51指令系统对其进行编程。但是在使用某些有关指令进行编程时,需要注意一些事项。和跳转或分支有关的指令有一定的空间约束8目的地址能安全在AT89C2051的2K字节的物理程序存储器空间内,必须注意这一点。对于字节存储器的AT89C2051来说,LJMP7E0H是一条有效指令,而JMP900H则为无效指令。分支指令对于LCALL、LJMP、ACALL、AJMP、SJMP、JMP@A+DPTR等指令,只要记住这些分支指令的目的地址在程序存储器大小的物理范围内AT89C2051程序空间为:000H-7FFH单元),这些无条件分支指令就会正确执行超出物理空间的限制会出现不可预知的程序错误NE[„.]、DJNZ[„.]、JB、JNB、JC、JNC、JBC、JZ、JNZ等这些条件转移指令的使用与上述原则一样,同样,超出物理空间的限制引起不可预知的程序错误。至于中断的使用QC51系列硬件结构中已保留标准中断服务子程序的地址。与MOVX相关的指令,数据存储器AT89C2Q51包含128字节内部数据存储器,这样AT89C2Q51的堆栈深度局限与内部RAM128字节范围内,它既不支持外部数据存储器的访问,也不支持外部程序存储器的执行,因此程序中不应有MOVX[„.]指令。程序存储器的加密:AT89C2Q51使用对芯片上的两个加密进行编程或不编程来得到如下表所示的功能:ATS9C2051加密位程序加密位LB1 LB2保护类型1UU无程序加密功能2PU禁止进一步进行Flazhl坷速编程3PP同方式2,同时禁止校验注:加密位只能用片擦除操作进行擦除表1—2•空闲模式:在空闲模式下,CPU保持睡眠状态而所有片内的外设仍保持激活状态这种方式由软件产生。此时,片内RAM和所有特殊功能寄存器的内容保持不变。空闲模式可由任何允许的中断请求或硬

件复位终止。P1.0和Pl.l在不使用外部上拉电阻的情况下应设置为0”或者在使用上拉电阻的情况下设置为“1”。应注意的是:在用硬件复位终止空闲模式时AT89C2051通常从程序停止一直到内部复位获得控制之前的两个机器周期处恢复程序执行。在这种情况下片内硬件禁止对RA部的读写,但允许对端口的访问,要消除硬件复位终止空闲模式对端口意外写入的可能,原则上进入空闲模式指令的下一条指令不应对端口引脚或外部存储器进行访问。•掉电模式在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器但不改变AM中的内容,在VCC恢复到正常的工作电平前,复位应无效,且必须保持一定时间以使振荡器重启并稳定工作。P1.0和P1.1在不使用外部上拉电阻的情况下应设置为0”或者在使用外部上拉电阻时应设为“1”。•Flash设为“1”。•Flash闪速存储器的编程:AT89C2051是在擦除状态下(也即所有单元内容均为FH时)用2K字节内PEROM代码存储阵列进行封装微控制器,其程序存储器是可反复编程的。代码存储阵列依次编程一个字节,一旦阵列被编程,如需要新变成一非空(空为FFH)字节,必须对整个存储器阵列进行点擦除。AT89C2051内FLASH闪存储器的编程和校验如图。内部地址计数器:AT89C2051内部包含一个PEROM编程地址计数器,它总祂ST上升沿来时复位到00H,并在XTAL1引脚上出现正跳变脉冲时进行加计数。编程方法:要对AT89C2051进行编程,使用以下方法。上电次序:在VCC和GND引脚之间加上电源。设置RST和XTAL1为GND电平。其它引脚置空,等待至少OMs以上。置RST引脚为高电平,置^3.2引脚为高电平。对引脚P3.3、P3.4、P3.5、P3.7按下表正确组合上逻辑高“H”或低“L”电平可对PEROM进行编程操作。ATS9C2051Flash闪速編程方式片摄除需要10m2的脉沖編程期间F3.1被拉低来指示RDY/ESY表1—4编程和校验方法如下:在000H地址单元对P1.0-P1.7输入数据代码字节。置RST端为+12V,激活编程。使P3.2跳变依次来编程3EROM阵列中的一字节或者加密位,写字节周期是自身定时的,般需时1.2ms。当校验已编程的数据,使ST从+12V降到逻辑电平H”置P3.3-P3.7引脚到正确的电平即可从P1口读取数据。&对下一地址单元编程字节,使TAL1引脚正脉冲跳变依次使地址计数器加在P1口输入新的书字节。重复5至8,可对整个2K字节阵列全部编程,直到目标文件结束。下电次序:置XTAL1为低“L”电平置RST为“L”电平置空所有其它I/O引脚关闭VCC电源数据查询:AT89C2051具有写周期结束的数据查询功能,在写周期期间,对最后写入的字节尝试读降令P1.7上写入数据的操作结束。当写周期完成,全部输出端的真实数据有效,同时下一个周期开始,数据查询可在写周期被初始化的任一时刻开始。Ready/busy字节编程的进度通过“DY/BSY输出信号监测,编程期间,3.1引脚在P3.2变高“H”后被拉低来指“SY”,P3.1在编程结束后被再次拉高“”来指示聚DY”。程序校验:如果加密位LB1、LB2没有进行编程,则代码数据可通过校验数据线读取:使RST从“L”变为“H”,复位内部的地址计数器为00H。对代码数据加上正确的控制信号即可在1口引脚上读取数据。XTAL1引脚跳变一次使内部地址计数器加。从P1口读取下一个代码字节。重复3到4步骤,即可将全部单元的数据读取。加密位不可直接校验,加密位的校验可通过对存储器的校验和写入状态来验证。芯片擦除:利用控制信号的正确组合并保持.2引脚10ms的低电平即可将PEROM阵列(2K字节)和两个加密位整片擦除,代码阵列在片擦除操作中将任何非空单元写入1”“可被再次编程之前进行。读片内签名字节:除P3.5、P3.7必须被拉成逻辑低电平外读签名字节的过程和单元00H、001H及002H的正常校验相同,返回值意义如下:(OOOH)=1EH声明产品有ATMEL公司制造。(001H)=21H声明为89C2051单片机。编程接口:Flash闪速阵列中的每一代码字节进行写入且整个存储器可在控制信号的正确组合下进行擦除,写操作周期是自身定时的,初始化后它将自动定时到操作完成。Flash闪速存储器編程和校验时序参数口=toTO:C,%=5.0±10%符号参数MinMaxUnitsVfp编程电压11.5悴VIpp编程电涼250护1阳1建立数据到PROG变低时间1.0GhuxPR0G变低后数据保持时间1.0苗WishENABLE变高到Vpp时间1.0U&Si建立Vpp^iJPROG变低时间101JS'ghSi加PROG后如p保持时间10肚•glghPROG宽度1110L1SWqvENABLE到数据有效时间L0'fHLJ?ENABLE到数据浮空时间01,0何*<3HBLPROG变高到BUSY变低时间50nstwc宇节写周期2.0msWlIHRDY/BSY?l]^加时钟延时时间1.01JS'iHH时钟増量时间200ns注:本表仅指明使用12啕程电压模式表1—5AT89C2051的极限参数图1—3极限卷数工作温度 -55:,C to+125°C储藏温度 -65=Cto+150X任一引脚对地电压 -1.0V to+7.0V摄高工作电压 6.6V直疣输出电疣 25.0 mA外部时钟驱动波形:外部时钟驱动SymbolParameterVcc=2JVto6.0VMin MaxVqg-4.0Vto6-0VMin MaxUnits哄:LGLOscillatorFrequency012024MHz如CLClockPeriod83-341.6nsfcircxHighTime3015rtsLowTime3015ns如OHRiseTime2020nsEhglFallTime2020ns串行口时序:移位寄存器测试条件Vcc=5.0V±20%;LoadCapacitance=80pFSymbolParameler12MHzOscVsrigibleOscillatorUnitsMbnMaxMbnMaxtXLXLSefialPortClockCycleTimeLQ1^C-LC-LPSTqvxhOutputDataSetuptoClockRisingEdge700Its'XHlJjiOutputDataHoldafterClockRisingEdge502WH7ns'XHD/InputDataHold!afierClock.RisingEdge00nsClock.RisingEdgeloInputDataValid70010lCLCf133ns移位寄存器测试波形图1—4注:AC输入测试期间是当电平VCC-0.5逻辑1)和0.45V(逻辑0),实时测量VIH的最小值VH的最大值三.语音芯片在单片机中系统的使用所谓语音芯片就是在人工或者是控制器的控制下可以录音和放音的芯在片单,片机中使用语音芯片时,需要考虑三个方面的内容,一个方面是如何使翩系列的语音芯片,二是如何根据选择的isd芯片设计外围和单片机的接口电路,三是如何编写定时控制语音芯的单片机程序。功能模块分为三个方面:1. 单片机系统:输出控制信号,控制语音芯片定时播放特定的语音。外围电路:实现外围电路的sd系列语音芯片,本电路所使用的是sd2560的芯片和单片机之间的接口电路。C51程序:编写定时一秒的程序,并在定时中断来时间来时播放语音芯片中的内容。器件和原理.什么是语音芯片?语言芯片就是人工或者是控制器的控制下可以录音和放音的芯片。比较典型的有美国sd公司生产的isd系列语音芯片。Isd系列语音芯片采用模拟数据在半导体存储器直接存储的技术将模拟语音数据直接写入单个存储单元,不需要经过/D或D/A转换,因此能够较好地真实再现语音的自然效果,避免了一般固体语音电路因为量化和压缩所造成的量化噪音和失真现另象外。芯片功能强大:既录即放,语音可掉电保护,10万次的檫写寿命,手动操作和cpu控制兼容,可多片级联,无须开发系统等,确实给欲实现语音功能的单片机应用设计人员提供了单片的解决方案。.如何选择合适的语音芯片?下面介绍比较流行的语音芯片,以及选择语音芯片的标准。目前,市场上的语音芯片和语音板很多,从价格性能比上看,美国sd公司的ISD系列录放芯片是比较好的,有以下特点:使用直接电平存储技术,省去了/D和D/A转换。内部集成了大容量的EEPRP0M不再需要扩展存储器。控制简单,控制管脚写TL电平兼容。具有集成度高,音质好,使用方便等优点。.ISD2560的基本功能是什么?本电路将选择美国ISD公司的2560语音芯片。该芯片的引脚图如图所示其基本特点和引脚的功能说明如下。.ISD2560系列具有抗断电,音质好,使用方便,无需专用的语音开发系统的特点。.片内EERPOM容量480KB,所以录放时间长,录放时间为0秒。.有10个地址输入端,寻址能力可达1024位。•语音最多能分600段,设有0VF溢出端,便于多个器件级联。地址线:A0—A90共有1024种组合状态。最前面的600个状态作内部存储器的寻址用,最后256个状态作为操模式。电源:VCCA、VCCD。芯片内部的模拟和数字电路使用不同的电源总线。模拟和数字电源端最好分别走线。地线:VSSD、VSSA。芯片内部的模拟和数字也可使用不同的地线。节能控制:PD。本端拉高是芯片停止工作,进入不耗电的节能状态,芯片发生溢出,0即端输出低电平后,要将本端短暂变为高复位芯片,才能使之再次工、作。片选:CE。本端变低后,而且PD为低,允许进行录放操作。芯片在本端的下降沿锁存地址线和P/-R端的状态。录放模式:P/-R。本端状态在的下降沿锁存。高电平选择放音,低电平选择录音。信息结尾标志:EOM。E0M标志在录音时由芯片自动插入到该信息的结尾。放音遇到M时,本端输出低电平脉冲。芯片内部会检查电源电压以维护信息的完整性,当电压低于V时,本端变低,芯片只能放音。溢出标志:0VFo芯片处于存储空间末尾时本端输出低电平脉冲表示溢出,之后本端状态跟随CE端的状态,知逾D端变高。麦克输入:MIC。本端连至片内前置放大器的反向输入。片内自动增益控制GC)将置增益控制在-15DB至24DB。、自动增益控制:AGC。AGC动态调整前置增益以补偿话筒输入电平的宽度变化使得录制变化很大的音量(从耳语到喧嚣声)时失真都能保持很小。模拟输出:ANAOUT、前置放大器的输出,前置电压增益取决AGC端电平、模拟输入:ANAIN本端为芯片录音信号的输出、对话筒输入来说AOUT端应通过外接电容连至本端。喇叭输出:SP+、SP-、过对输出端级驱动16欧以上的喇叭、单端使用时必须在输出端和喇叭间接耦合电容,而双端输出既不用电容又不能将功率提高4至倍。录音和节电模式下,它们保持为低电平。辅助输入:AUXIN、当/CE和P/-R为高,放音不进行,或处于放音溢出状态时,本端的输入信号过内部功放驱动喇叭输出端。当多个2560级联时,后级的喇叭输出通过本端连接到本级的输出放大器。外部时钟:XCLK、本端捏部有下拉元件,不用时应接地、芯片内部的采样始终在出厂前已调节器校,误差为+1%内、地址/模式输入:AX/MXo地址端有个作用,取决于最高两位(MSB,即2532/2548的A7和A8,或2560/2590/25120勺A8和A9)的状态、当最高两位中有个为零时,所有输入均解释为地址位,做为当前录入操作的起始地址地、址端只做输入,不输出操作过程中的内部地址信息、XCLK26内部时钟I寸器ANAIN2021ANAOUTC-17MICQ-18MICREF前置AGC19模拟输入放自动增益控制AGC)器码解一XCLK26内部时钟I寸器ANAIN2021ANAOUTC-17MICQ-18MICREF前置AGC19模拟输入放自动增益控制AGC)器码解一一_模拟收发器480K存储器阵列|Eart-U木样时钾1 VT7网?/?/i4r口口1丨滑滤波器扬声器14SP+SP-器件控制线1653d12C28o^J1653d12C28o^J2o10 2422O27占23注25C11VccAVssAVssDVccDA0A1A2A3A4A5A6A7A8A9PDOVFP/RCEEOMAUXINISD2560封装引脚图如下:A0/M01X /28VCCDVccAVssAVssDVccDA0A1A2A3A4A5A6A7A8A9PDOVFP/RCEEOMAUXINISD2560封装引脚图如下:A0/M01X /28VCCDA1/M1227P/RA2/M2326XCLKA3/M3425EOMA4/M45ISD24PDA5/M5623CEA6/M67250022OVFA7821AnaOutA8920AnaInA91019AGCAuxini18MicRefVSSDI217MicVSSA1316VCCASP+1415SP-ISD2560是ISD系列单片语音录放集成电路的一种是,一种永久记忆型录放语音电路,录音时间为60秒,能重复录放达10万次。它采用直接电平存储技术,省去了A/D、D/A转换器。ISD2560集成度高,内部包括前置放大器、内部时钟、定时器、采样时钟、滤波器、自动增益控制、逻辑控制、模拟收发器、解码器、和80KB的EERP0M等。内部EERP0M存储单元,均匀分为600行,具有600个地址单元,每个地址单元指向其中一行,每一个地址单元的地址分辨率为OOMS。ISD2560控制电平与TTL电平兼容,接口简单,使用方便。ISD2560内置了若干操作模式,可用最少的外围器件实现最多的功能操作模式也有地址端控制;当最高位都为1时,其他地址端最高就选择某个模式。因此操作模式和直接寻址相互排斥操作模式可由微控制器也可有硬件实现。基本电路原理图如下:录音按下录音键接地,是D端、P/R端为低电平,此时启动录音;结束时松开按键,单片机有让P/R端回到高电平,既完成一段语音的录制。同样的方法可录取第二段、第三段等。值得注意的是,录音时间不能超过预先设定的每段语音的时间。放音的操作更为简单,按下录音键接高电平,使P/D端P/R端为低电平启动方音功能;结束时,松开按键,即完成一段语音的播放。1z8O沁节电录/放2324272522UCCDVCCAVSSDUSSASP+SP1z8O沁节电录/放2324272522UCCDVCCAVSSDUSSASP+SPAU::•:: INAHAINCEXANA0UTF'DHI匚REFMICF'/R\E0N\0UF\AGC::•::CLKISD250B2823456.6・C0亠丁+1A7・C0亠丁_y2C226在控制上,除去手动外,ISD器件也可以通过地址来精确定位,但它的地址不是字节地址单元,而是信息段的基本组成单位。以SD2560为例,他内部的480KB的EERP0M均匀地规划为600行,每个地址单元指向其中一行,有600个地址单元.模式控制功能典型应用A0/M0信息检索快速检索信息A1/M1删除EOM标志在全部语音录放结束时,给出0M标志A2/M2未用当工作模式操作时,此端应接低电平A3/M3循环放音从0地址开始连续重复放音A4/M4连续寻址可录放连续的多段信息A5/M5CE电平触发允许信号中止A6/M6按钮控制简化器件接口十进制二进制信息时间秒)A9A8A7A6A5A4A3A2A1A0256025752590000000000000005000001100105.06.257.50100000110010010.012.5015.00250001111101025.031.2537.50300010010110030.037.5045.00400011001000040.050.0060.00

500011111010050.062.5075.00599100101011159.974.8789.85ISD2560/90/120哋址功能表地址状态功能状态DIP开关123456789101112(ON=0,OFF=1)地址位A0A1A2A3A4A5A6A7A8A9P/RCE(1为咼电平,0为低电平,*为咼或低电平)0000000000段式最长60秒录放音,从首地址开始。1000000000以十位二进制表示地址,每个地址代表100毫秒。地址模式0000000010一段从A6地址开始的12秒录放音。*********0只要A8、A9有一位是0,就处于地址模式。********0*0001000011循环放曰操作,按王CE键不放循环放曰第段。操作模式0000100011按顺序连续分段录放音,录音时压住CE键不放,放音时每触发次CE键即放音一段按PD键复位。每段语音长度不限。按钮模式0000001011ISD2560的录放时间是605,因此地址分辨率是100MS。ISD器件可进行多段地址操作,每一段称为一个信息段,它可以占用一行和多行存储空间。一个地址单元最多只能作为一个独立的段。因此ISD2560最多可分为600个信息段。这就为在单片机系统中使JSD2560语音芯片提供了基本条件。2.采样单片机控制语音芯片的好处ISD芯片完全可以手动,为什么还要使用单片机?我们可以从以下的两个方面考虑实际使用中的要求。单片机系统的需要在一些应用场合,如手机花费查询系统羽F队机以及公共汽车报站器等,这些应用中需要实现自动播音而ISD2560实现自动播音的方法,最为简单的就是和单片机系统想连接。简化人工操作。通常情况下,只能使腮D器件提供的无须知道地址的操作模式,即手动模式,这只适合于开发一些简单的语音功能,而无法满足复杂操作或者实时中应用的要求。为实现以上应用,最好使用对地址直接操作的办法。但在实际中,一些电路开发设计只是在基于语音信号已经写入芯片,并且段地址已经知道的基础上才能进行。然而,不可避免地要遇到必须将语音写入的时候。如果手动处理,采用按录音按键录音,按停止按键停止,假如录音段数特别多,就要频繁地按上述按键,实在让人疲惫不堪。此外,手动按下录音及停止按键的时间也是很难掌握,这就容易产生段间空白,造成芯片空间浪费,对语音段特别多,而语句有特别短的提示,如一些单字、单词更是浪费严重。不仅这样,由于断句中空白时间过长,合成方音时出现语音不连贯。正是由于上述原因,需要将单片机系统和语音芯片联系起来,形成一个智能化的语音播放系统。单片机需要完成以下两个功能:通过ISD2560芯片,录制一段语音信息利用单片机定时10秒,循环播放一段录制的语音3.电路设计本电路采用的主要器件是ISD2560语音芯片和单片机,具体接口电路如下:e.电路原理和器件的选择下面是相关的、关键部分的器件名称及起在电路中的功能AT89C2051主要通过对ISD2560的设置,完成对语音播放过程的控制。系统采用的微控制器是ATMEL公司生产的低电压、高性能位CMOS单片机AT89C2051由于它将8位CPU和闪速存储器组合在单个芯片中,为很多嵌入式控制应用系统提供了一个高度灵活且价格低廉的解决方案。AT89C2051带有2K字节可编程的FlashMemory128字节RAM、15根I/O线、2个16位定时/计数器、1个全双向的串口、1个精密比较器。其与工业标准MCS-51的指令集和引脚结构完全兼容。该单片机的P1口是一个双向I/O口,其中P1.2~P1.7口内部提供了上拉电阻,P1.0、P1.1需外部上拉°P1.0、P1.1同时也是片内精密比较器的正输入端AIN0)和负输入端AIN1)。P3口是7个带有内部上拉电阻的双向(P3.6除外,其为片内比较器的输出脚而不能作为普通的I/O口使用)。ISD2560语音芯片,在单片机的控制下实现语音的定时播放,并且可以通过按键实现录音功能。SPEAKERISD2560语音芯片外接的扬声器。MIC:ISD2560语音芯片外接麦克风。D0—D9:单片机和ISD2560语音芯片的地址连接,通过对8、D9的设置,单片机可以控制芯片的工作方式、。PD:节电控制,和单片机的3.2口相连,单片机可以控制芯片的开关。CE:片选,和单片机的d3.3口项链,单片机可以选中芯片。P/R:录放模式,和单片机的3.0口相连,单片机可以控制芯片处于录音或放音的工作状态。EOM:信息结尾标志,和单片机的3.1口相连,EOM标志在录音时有芯片自动插入到该信息的结尾。C.功能简介录音时,按下录音键,单片机通过端口线设置语音段的起始地址,再使D端、P/R端为低电平启动录音;结束时,松开按键,单片机有让R端回到高电平,即完成一段语音的录制。同样的方法可以录取第二段、第三段等。值得注意的是,录音时间不能超过预先设定的每段语音的

时间。放音时,根据需播放的语音内容,找到相应的语音段起始地址,并通过口线送出。P/R端设为低电平,并让CE端产生一负脉冲启动放音,这时单片机只需要等待D2560信息结束信号。信号为一负脉冲,在负脉冲的上升沿,该段语音才播放结束,所以单片机必须要检测到的上升沿才能播放第二段,否则播放的语音就不连续。2560与单片AT89C2051的接口电路以及外围电路如图所示。单片机的P1口、P3.4和P3.5分别与ISD2560的地址线相连,用以设置语音段的起始地址。P3.0~P3.3用以控制录放音状态。3.7连接一按键,供录音时使用。由TL7705构成可靠复位及电源监视电路。+5vR510kU1AT89C2051U31L7705CVCCSENSEA21TP3.7—0'1||C8I'310/16v—4—■2R6_10KR710KA1C1GND"6RST—-—13214315416517+5vR510kU1AT89C2051U31L7705CVCCSENSEA21TP3.7—0'1||C8I'310/16v—4—■2R6_10KR710KA1C1GND"6RST—-—132143154165176 18 7 19^889910227325丄6724P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.7P3.4P3.5U2TSD25A0/M060~SP+A1/M1SP-A2/M2A3/M3A4M4MICREFA5/M5A6/M6A7MICINA8A9XCLKANAINP/REOMPDANAOUTCEAGC■21SPEAKERR110R2MIC10K1uF0+5V1415R31K16 -20-一C3卞747uC12MHzTT:30P C64.7uC230PISD2560虽然提供了地址输入线,但它的内部信息段的地址却无法读出。本系统采用单片机来控制,不需读出信息地址,而直接设置信息段起始地址其实现方式有两种:一是由于ISD2560的地址分辨率为100ms,所以可用单片机内部定时器定时00ms,然后再利用一计数器对单片机定时次数进行计数,则计数器的计数值为语音段所占用的地址单元。该方式能充分利$12560内部的E卬ROM,在字段较多时可利用该方法。二是语音字段如果较少,则可根据每一字段的内容多少,直接分配地址单元。一般按每s说3个字计算,60s可说180个字,再根据ISD2560的地址分辨率为100ms即可计算出语音段所需的地址单元数。本电路采用第二种方式。2.程序设计录音源程序:START:MOVR7,#00HMOVP1,#00HCLRP3.4 ;ISD256地址初始化CLRP3.5CLRP3.2

CLRP3.0设;置为录音状态LOOP:JBP3.7,LOOP录;音键按下否?INCR7CALLPRESSLJMPLOOPPRESS:CJNER7,#1,NEXT1MOVP1,#00H送;字段1起始地址CLRP3.4CLRP3.5LCALLRECORDJMPBACKNEXT1:CJNER7,#2,NEXT2MOVP1,#20H送;字段2起始地址CLRP3.4CLRP3.5LCALLRECORDJMPBACKNEXT2:CJNER7,#3,NEXT3MOVP1,#40H 送;字段3起始地址CLRP3.4CLRP3.5LCALLRECORDJMPBACKNEXT3:CJNER7,#4,NEXT4MOVP1,#60H 送;字段4起始地址CLRP3.4CLRP3.5LCALLRECORDJMPBACKNEXT4:CJNER7,#5,BACKMOVR7,#00HMOVP1,#80H 送;字段5起始地址CLRP3.4CLRP3.5LCALLBACK:RETRECORDRECORD:CLRP3.3 ;/C端为低,开始录音JNBP3.7,$

SETBP3.3RET放音源程序:BEGIN:SETB20H.0;置放音标志SETBP3.0置;放音状态MOVP1,#00H;ISD256地址初始化CLRP3.4CLRP3.5MOVR0,2FH放音起始地址遨0LOOP1:JB20H.0,LOOP1LCALLPLAY ;20H.0=调放音程序JMPLOOP1PLAY:INCR0LCALLFIND调;查找播放地址子程CJNER0,#5,OUTMOVR0,#2FHOUT:RETFIND:MOVA,@R0查;找播放语音地址CJNEA,#1,PNEX1MOVP1,#00H若;A=#1放第一段CLRP3.4CLRP3.5CALLSOUNDJMPPBACKPNEX1:CJNEA,#2,PNEX2MOVPl,#20H若A=#2放第二段CLRP3.4CLRP3.5CALLSOUNDJMPPBACKPNEX2:CJNEA,#3,PNEX3MOVP1,#40H若A=#3放第三段CLRP3.4CLRP3.5CALL SOUNDJMPPBACKPNEX3:CJNEA,#4,PNEX4

MOVP1,#60H若;A=#4放第四段CLRP3.4CLRP3.5CALLSOUNDJMPPBACKPNEX4:CJNEA,#5,PBACKMOVP1,#80H若;A=#5放第五段CLRP3.4CLRP3.5CALLSOUNDPBACK:RETSOUND:CLRP3.3;/CE端形成一负脉冲启NOP动;播放NOPSETBP3.3TURN1:JBP3.1,TURN1等;待语音段结束信号TURN2:JNBP3.1,TURN2等待EOM信号的上升沿RET致谢在两个多月的课题研究及论文撰写过程中,我非常感谢我的导师—张冀祥老师无论是在课题立项还是在课题的研究阶段,张老师都给了我很大的帮助。在毕业设计的这段时间中,李老师不仅使我在学业上有了很大的提高,而且言传身教,使我学到了作为一名大学生所应具备的那种踏实勤恳、一丝不苟、认真求实的优良品质和学习作风。在我进行课题内容的研究中,从技术上给予了我极大的帮助和支持,而且在论文的最后评阅过程中,也给我提出了非常有价值的意见,使我获益极深。衷心地谢谢您,张老师!同时,我还要感谢电子实验室的杨旭杨老师,无论是从资料上,还是从经验和技术上都提供了极大的帮助。并一直坚持向我提供最新技术资料,使毕业设计得以最后完成。最后,对所有在这三年年里的学习和生活中,给予我各种关心我帮助的人们,我仅表达我最衷心的谢意!谢谢你们!参考文献1余永权ATMEL89系列单片机应用技术M].北京:北京航空航天大学出版社2002数码语音芯片、产品及应用电路资料汇编].刘欣,等IDS语音器件分段地址的获取J].电子技术应用,1999(10)求是科技.单片机模块设计实例导航.人民邮电出版社5《MCS-51单片机接口技术与运用》李华I匕京航天航空大学出版社6《单片机接口技术与运用》胡汉才清华大学出版社7周航慈单片机应用程序设计技术(修订版[M].北京:北京:北京航空航天大学出版社,2002.478《单片微型机原理应用与实验,第三版》张友德等编复旦大学出版社AT89C52资料:FeaturesCompatiblewithMCS-51MProducts8KbytesofIn-SystemReprogrammableFlashMemoryEndurance:1,000Write/EraseCyclesFullyStaticOperation:0Hzto24MHzThree-LevelProgramMemoryLock256x8-BitInternalRAM32ProgrammableI/OLinesThree16-BitTimer/Counters•EightInterruptSourcesProgrammableSerialChannel■LowPowerIdleandPowerDownModesDescriptionTheAT89C52isalow-power,high-performanceCMOS8-bitmicrocomputerwith8KbytesofFlashprogrammableanderasablereadonlymemory(PEROM).ThedeviceismanufactuusriedngAtmel'shighdensitynonvolatilememorytechnologyandiscompatiblewiththeindustrystandard80C51and80C52instructionsetandpinout.Theon-chipFlashallowstheprogrammemorytobereprogrammedin-systemorbyaconventionalnonvolatilememoryprogrammer.Bycombiningaversatile8-bitCPUwithFlashonamonolithicchip,theAtmelAT89C52isapowerfulmicrocomputerwhichprovidesahighlyflexibleandcosteffectivesolutiontomanyembeddedcontrolapplications.TheAT89C52providesthefollowingstandardfeatures:8KbytesofFlash,256bytesofRAM,32I/Olines,three16-bittimer/counters,asix-vectortwo-levelinterruptarchitecture,afullduplexserialport,on-chiposcillator,andclockcircuitry.Inaddition,theAT89C52isDescription(Continued)designedwithstaticlogicforoperationdowntozerofrequencyandsupportstwosoftwareselectablepowersavingmodes.TheIdleModestopstheCPUwhileallowingtheRAM,timer/counters,serialport,andinterruptsystemtocontinuefunctioning.ThePowerDownModesavestheRAMcontentsbutfreezestheoscillator,disablingallotherchipfunctionsuntilthenexthardwarereset.PinDescriptionVCCSupplyvoltage.GNDGround.Port0Port0isan8-bitopendrainbidirectionalI/Oport.Asanoutputport,eachpincansinkeightTTLinputs.When1sarewrittentoport0pins,thepinscanbeusedashigh-impedanceinputs.Port0canalsobeconfiguredtobethemultiplexedlow-orderaddress/databusduringaccessestoexternalprogramanddatamemory.Inthismode,P0hasinternalpullups.Port0alsoreceivesthecodebytesduringFlashprogrammingandoutputsthecodebytesduringprogramverification.Externalpullupsarerequiredduringprogramverification.Port1Port1isan8-bitbidirectionalI/Oportwithinternalpullups.ThePort1outputbufferscansink/sourcefourTTLinputs.When1sarewrittentoPort1pins,theyarepulledhighbytheinternalpullupsandcanbeusedasinputs.Asinputs,Port1pinsthatareexternallybeingpulledlowwillsourcecurrent(IIL)becauseoftheinternalpullups.Inaddition,P1.0andP1.1canbeconfiguredtobethetimer/counter2externalcountinput(P1.0/T2)

andthetimer/counter2triggerinput(P1.1/T2EX),respectively,asshowninthefollowingtable.PortPinAlternateFunctionsP1.0P1.1T2(externalcountinputtoTimer/Counter2).clock-outP1.0P1.1T2EX(Timer/Counter2capture/reloadtriggeranddirectioncontrol)Port1alsoreceivesthelow-orderaddressbytesduringFlashprogrammingandprogramverification.port2isan8-bitbidirectionalI/Oportwithinternalpullups.ThePort2outputbufferscansink/sourcefourTTLinputs.When1sarewrittentoPort2pins,theyarepulledhighbytheinternalpullupsandcanbeusedasinputs.Asinputs,Port2pinsthatareexternallybeingpulledlowwillsourcecurrent(IIL)becauseoftheinternalpullups.Port2emitsthehigh-orderaddressbyteduringfetchesfromexternalprogrammemoryandduringaccessestoexternaldatamemorythatuse16-bitaddresses(MOVX@DPTR).Inthisapplication,Port2usesstronginternalpullupswhenemitting1s.Duringaccessestoexternaldatamemorythatuse8-bitaddresses(MOVX@RI),Port2emitsthecontentsoftheP2SpecialFunctionRegister.Port2alsoreceivesthehigh-orderaddressbitsandsomecontrolsignalsduringFlashprogrammingandverification.Port3Port3isan8-bitbidirectionalI/Oportwithinternalpullups.ThePort3outputbufferscansink/sourcefourTTLinputs.When1sarewrittentoPort3pins,theyarepulledhighbytheinternalpullupsandcanbeusedasinputs.Asinputs,Port3pinsthatareexternallybeingpulledlowwillsourcecurrent(IIL)becauseofthepullups.Port3alsoservesthefunctionsofvariousspecialfeaturesoftheAT89C51,asshowninthefollowingtable.Port3alsoreceivessomecontrolsignalsforFlashprogrammingandprogrammingverification.RSTResetinput.Ahighonthispinfortwomachinecycleswhiletheoscillatorisrunningresetsthedevice.ALE/PROGAddressLatchEnableisanoutputpulseforlatchingthelowbyteoftheaddressduringaccessestoexternalmemory.Thispinisalsotheprogrampulseinput(PROG)duringFlashprogramming.Innormaloperation,ALEisemittedataconstantrateof1/6theoscillatorfrequencyandmaybeusedforexternaltimingorclockingpurposes.Note,however,thatoneALEpulseisskippedduringeachaccesstoexternaldatamemory.Ifdesired,ALEoperationcanbedisabledbysettingbit0ofSFRlocation8EH.Withthebitset,ALEisactiveonlyduringaMOVXorMOVCinstruction.Otherwise,thepinisweaklypulledhigh.SettingtheALE-disablebithasnoeffectifthemicrocrontrollerisinexternalexecutionmode.PSENProgramStoreEnableisthereadstrobetoexternalprogrammemory.WhentheAT89C52isexecutingcodefromexternalprogrammemory,PSENisactivatedtwiceeachmachinecycle,exceptthattwoPSENactivationsareskippedduringeachaccesstoexterndaaltamemory.PinDescription(Continued)EA/VPPExternalAccessEnable.EAmustbestrappedtoGNDinordertoenablethedevicetofetchcodefromexternalprogrammemorylocationsstartingat0000HuptoFFFFH.Note,however,thatiflockbit1isprogrammed,EAwillbeinternallylatchedonreset.EAshouldbestrappedtoVCCforinternalprogramexecutions.Thispinalsoreceivesthe12-voltprogrammingenablevoltage(VPP)duringFlashprogrammingwhen12-voltprogrammingisselected.XTAL1Inputtotheinvertingoscillatoramplifierandinputtotheinternalclockoperatingcircuit.XTAL2Outputfromtheinvertingoscillatoramplifier.SpecialFunctionRegistersAmapoftheon-chipmemoryareacalledtheSpecialFunctionRegister(SFR)spaceisshowninTable1.Notethatnotalloftheaddressesareoccupied,andunoccupiedaddressesmaynotbeimplementedonthechip.Readaccessestotheseaddresseswillingeneralreturnrandomdata,andwriteaccesseswillhaveanindeterminateeffect.Usersoftwareshouldnotwrite1stotheseunlistedlocations,sincetheymaybeusedinfutureproductstoinvokenewfeatures.Inthatcase,theresetorinactivevaluesofthenewbitswillalwaysbe0.Timer2RegistersControlandstatusbitsarecontainedinregistersT2CON(showninTable2)andT2MOD(showninTable4)forTimer2.Theregisterpair(RCAP2H,RCAP2L)aretheCapture/ReloadregistersforTimer2in16-bitcapturemodeor16-bitauto-reloadmode.SpecialFunctionRegisters(Continued)InterruptRegistersTheindividualinterruptenablebitsareintheIEregister.Twoprioritiescanbesetforeachoft

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论