资源目录
压缩包内文档预览:(预览前20页/共29页)
编号:552513
类型:共享资源
大小:496.94KB
格式:ZIP
上传时间:2015-12-05
上传人:QQ28****1120
认证信息
个人认证
孙**(实名认证)
辽宁
IP属地:辽宁
6
积分
- 关 键 词:
-
毕业设计论文
- 资源描述:
-
单片机控制语音芯片的录放音系统的设计资料,毕业设计论文
- 内容简介:
-
目 录 摘要 Abstract (2) 引言 (2) 一 . AT89C2051概述 (2) ( ).单片机概述 (2) (二 )AT89C51单片机 (3) 1、 主要性能 (3) 2、 引脚功能说明 (4) 二 .语音芯片 (12) 1、 语音芯片的概述 (12) 2、 ISD2560 简介 (13) 三 .语音芯片在单片机中系统的使用 (17) 四 .总体电路设计 (17) 致谢词 (22) 参考文献 (23) nts 2 单片机控制语音芯片的录放音系统的设计 孙 鹏 摘 要 : 介绍了由 Flash 单片机 AT89C2051及数码语音芯片 ISD2560组成的电脑语音系统设计出了系统的硬件电路,给出了录、放音实用的源程序。 目前基于单片微机的语音系统的应用越来越广泛,如电脑语音钟、语音型数字万用表、手机话费查询系统、排队机、监控系统语音报警以及公共汽车报站器等等。本文作者用 Flash单片机 AT89C2051 和录放时间达 60s的数 码语音芯片 ISD2560设计了一套智能语音录放系统,实现了语音的分段录取、组合回放,通过软件的修改还可以实现整段录取,循环播放,而且不必使用专门的 ISD 语音开发设备。 关键词 : AT89C2051单片机 ISD2560 语音芯片 分段录音 组合回放 Abstract In the paper, a microcomputer sound system based on AT89C2051 and ISD2560 is introduced. Hardware circuit of system is designed, and practical programmers are given. Key words: AT89C2051 ISD2560 subsection record combination return play 一 .AT89C2051概述 (一 ).单片机概述 单片机的概念 电子计算机的发展经理了从电子管、晶体管、集成电路到大规模集成电路共四个阶段,即通常所是说的第一代、第二代、第三代和第四代计算机。现在广泛使用的微型计算机是大规模集成电路技术的产物,因此它属于第四 代计算机,而单片机则是卫星计算机的一个分支。从 1971年微型计算机问世以来,由于实际应用的需要,微型计算机向着两个不同的方向发展:一个是向高速度、大容量、高性能的高档微机方向发展;而另一个则是想稳定可靠、体积小和价格廉的单片机方向发展。但两者在原理和技术上是紧密联系的。 通用单片机和专用单片机 根据控制应用的需要,可以将单片机分为通用型和专用行。 通用型单片机是一种基本芯片,它的内部资源比较丰富,性能全面且适用性强,能覆盖多种应用需求。用户可以根据需要设计成各种不同应用的控制系统,即通用单片机有一个再设计过 程,通过用户的进一步设计,才能组建成一个以单片机为核心再配以其他外围电路的应用控制系统。 专用型的单片机主要是应用在专门针对某个特定产品的,例如电镀表和 IC 卡读写器上的单片机等。这种应用的最大特点是针对性强而且数量巨大。 本电路所使用的是通用型的单片机 AT89C2051 nts 3 89系列单片机有 AT89C系列的标准型及抵挡型,还有 AT89S系列的高档型。 AT89C单片机的结构图如下。它主要由下面几部分组成: 1个 8位中央处理器、片内 RAM、 4个 8位的双向可寻址 I/O口、 1个全双工 UART(通用异步接收发送器)的串 行接口、 2个 16位的定时器 /计数器、多个优先级的嵌套中断结构,以及一个片内振荡器和时钟电路。 在 AT89C 单片机结构中,最显著的特点是内部含有 FLASH存储器,而在其他方面的结构,则和 INTEL公司的 8051的结构没有太大的区别。 (二 ).AT89C2051单片机 AT89C2051是一带有 2KBFLASH可编程、可檫除只读存储器的低压、高性能 8位 CMOS微型计算机,它采用 ATMEL的高密非易失存储器技术制造,不并和工业标准 MCS-51指令集和引脚结构兼容。通过在单块芯片上组合通用的 CPL1和 FLASH存储器,使 AT89C2051 成为一强劲的微型计算机。 AT89C2051提供以下标准功能: 2KBFLASH 存储器; 128字节 RAM; 15条 I/O口引线; 2个 16位定时器 /计数器; 1个 5向量 2 级中断结构; 1个全双工串行口; 1个精密模拟比较器以及片内振荡器和时钟电路。此外, AT89C2051是用可降到 0频率的静态逻辑操作设计的,并自持两种可选的软件节电工作方式。掉电方式保存 RAM内容,但振 荡器停止工作,并禁止所有其他部件的工作直到下一个硬件复位。 1 主要性能 和 MCS-51产品兼容 2KB可重编程 FLASH存储器 耐久性: 1000次写 /檫除。 2.7-6.0v的操作范围 全静态操作: 0HZ-24MHZ 2级加密程序存储器 128*8位内部 RAM 15条可编程 I/O引线 2个 16位定时器 /计数器 6个中断源 可编程串行 UART通道 nts 4 直接 LED驱动输出 片内模拟比较 低功耗空载和掉电方式 。 图 1 1 2引 脚功能说明 Vcc: 电源电压 GND:地 P1口: P1口是一组 8位双向 I/O口, P1.2-P1.7提供内部上拉电阻, P1.0和 p1.1内部无上拉电阻,主要是考虑它们分别是内部精密比较器的同相输入端( AIN0)和反相输入端( AIN1),如果需要应在外部接上拉电阻。 P1 口输出缓冲器可吸入 20mA电流可直接驱动 LED。当 p1口引脚写入“ 1”时可作输入端,当引脚 p1.2-p1.7 用作输入并被外部拉低时,它们将因内部的上拉电阻而输出电流。 P1口还在 Flash闪速变成及程序校验时接收代码数据。 nts 5 P3口: p3口的 p3.0-p3.5、 p3.7是带有内部上拉电阻的 7个双向 I/O口。 P3.6没有引出,他作为一个通用 I/O 口但不可访问,但可作为固定输入片内比较器的输出信号 , P3 口缓冲器可吸入 20mA 电流。当 P3 口写入“ 1”时,它们被内部上拉电阻拉高并可作为输入端口。做输入时,被外部拉低的 P3口将用上拉电阻输出电流。 P3口还用于实现 AT89C2051特殊功能,如下表所示: P3口还接收一些用于 Flash闪速存储器编程和程序校验的控制信号。 RST:复位输入。 RST引脚一旦变成两个机器周期以上高电平,所有的 I/O口都将复位到“ 1”状态,当振荡器政治工作时,持续两个机器周期以上的高电平便可完成复位,每个机器周期为 12个振荡时钟周期。 XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2:振荡器反相发党旗的输出端。 表 1 1 振荡器特征: XTAL1、 XTAL2为片内振荡器的反相放大器的输入和输出端,如下图所示。可采用石英警惕或陶瓷振荡器组成时钟振荡器,如需从外部输入时钟驱动 AT89C2051,时钟信号从 XTAL1 输入, XTAL2应悬空。由于输入靠内部电路是经过一个 2分频触发器,所以输入的外部时钟信号无需特殊要求,但它必须符合电平的最大和最小值及时序规范。 图 1 2 特殊功能寄存器: nts 6 片内特殊功能寄存器( SFR)空间存储区的影象图如下表所示。 并非存储区中所有的地址单元都被占用,未占用的地址单元亦不能使用,如果对其进行读访问一般返回为随机数,写访问也不确定。 这些单元是为了以后利用这些未使用的地址单元扩展新功能而设置。所以用户软件不要对它们写“ 1”,在这种情况下,新位的复 位或不激活值总为“ 0”。 某些指令的约束条件: AT89C2051是经济型低价位的微控制器,它含有 2K字节的 Flash闪速程序存储器,指令系统与 MCS-51 完全兼容,可使用 MCS-51指令系统对其进行编程。但是在使用某些有关指令进行编程时,需要注意一些事项。 和跳转或分支有关的指令有一定的空间约束,使目的地址能安全在 AT89C2051的 2K字节的物理程序存储器空间内,必须注意这一点。对于 2K字节存储器的 AT89C2051来说, LJMP 7E0H是一条有效指令,而 LJMP 900H则为无效指令。 1. 分支指令 对 于 LCALL、 LJMP、 ACALL、 AJMP、 SJMP、 JMPA+DPTR 等指令 ,只要记住这些分支指令的目的地址在程序存储器大小的物理范围内( AT89C2051程序空间为: 000H-7FFH单元),这些无条件分支指令就会正确执行,超出物理空间的限制会出现不可预知的程序错误。 CJNE .、 DJNZ .、JB、 JNB、 JC、 JNC、 JBC、 JZ、 JNZ等这些条件转移指令的使用与上述原则一样,同样,超出物理空间的限制引起不可预知 的程序错误。至于中断的使用, 80C51 系列硬件结构中已保留标准中断服务子程序的地址。 2. 与 MOVX相关的指令,数据存储器 AT89C2051 包含 128 字节内部数据存储器,这样, AT89C2051 的堆栈深度局限与内部 RAM128字节范围内,它既不支持外部数据存储器的访问,也不支持外部程序存储器的执行,因此程序中不应有 MOVX .指令。 程序存储器的加密: AT89C2051使用对芯片上的两个加密进行编程或不编程来得到如下表所示的功能: 表 1 2 空闲模式: 在空 闲模式下, CPU保持睡眠状态而所有片内的外设仍保持激活状态,这种方式由软件产生。此时,片内 RAM和所有特殊功能寄存器的内容保持不变。空闲模式可由任何允许的中断请求或硬nts 7 件复位终止。 P1.0和 P1.1在不使用外部上拉电阻的情况下应设置为“ 0”,或者在使用上拉电阻的情况下设置为“ 1”。 应注意的是:在 用硬件复位终止空闲模式时, AT89C2051通常从程序停止一直到内部复位获得控制之前的两个机器周期处恢复程序执行。在这种情况下片内硬件禁止对内部 RAM的读写,但允许对端口的访问,要消除硬件复位终止空闲模式对端口意 外写入的可能,原则上进入空闲模式指令的下一条指令不 应对端口引脚或外部存储器进行访问。 掉电模式 在掉电模式下,振荡器停止工作,进入掉电模式的指令是最后一条被执行的指令,片内 RAM和特殊功能寄存器的内容在终止掉电模式前被冻结。退出掉电模式的唯一方法是硬件复位,复位后将重新定义全部特殊功能寄存器但不改变 RAM中的内容,在 VCC恢复到正常的工作电平前,复位应无效,且必须保持一定时间以使振荡器重启并稳定工作。 P1.0和 P1.1在不使用外部上拉电阻的情况下应设置为“ 0”,或者在使用外部上拉电阻时应设为“ 1”。 表 1 3 Flash闪速存储器的编程: AT89C2051是在擦除状态下(也即所有单元内容均为 FFH时)用 2K字节内 PEROM代码存储阵列进行封装微控制器,其程序存储器是可反复编程的。代码存储阵列依次编程一个字节,一旦nts 8 阵列被编程,如需要新变成一非空(空为: FFH)字节,必须对整个存储器阵列进行点擦除。 AT89C2051内 FLASH闪存储器的编程和校验如图。 内部地址计数器: AT89C2051内部包含一个 PEROM编程地址计数器,它总在 RST 上升沿来时复位到 00H,并在 XTAL1引脚上出现正跳变脉冲时进行加 1计数。 编程方法:要对 AT89C2051进行编程,使用以下方法。 1. 上电次序: 在 VCC和 GND引脚之间加上电源。 设置 RST和 XTAL1为 GND电平。 其它引脚置空,等待至少 10Ms以上。 2. 置 RST引脚为高电平,置 P3.2引脚为高电平。 3. 对引脚 P3.3 、 P3.4、 P3.5、 P3.7 按下表正确组合上逻辑高 “H” 或低 “L” 电平可对PEROM进行编程操作。 表 1 4 编程和校验方法如下: 4在 000H地址单元对 P1.0-P1.7输入 数据代码字节。 5置 RST端为 +12V,激活编程。 6使 P3.2跳变依次来编程 PEROM阵列中的一字节或者加密位,写字节周期是自身定时的,一般需时 1.2ms。 7当校验已编程的数据,使 RST从 +12V 降到逻辑电平“ H”,置 P3.3-P3.7引脚到正确的电平即可从 P1口读取数据。 8对下一地址单元编程字节,使 XTAL1引脚正脉冲跳变依次使地址计数器加 1,在 P1口输入新的书字节。 9重复 5至 8,可对整个 2K字节阵列全部编程,直到目标文件结束。 10下电次序: 置 XTAL1为低 “ L”电平 置 RST为“ L”电平 nts 9 置空所有其它 I/O引脚 关闭 VCC电源 数据查询: AT89C2051 具有写周期结束的数据查询功能,在写周期期间,对最后写入的字节尝试读降令 P1.7 上写入数据的操作结束。当写周期完成,全部输出端的真实数据有效,同时下一个周期开始,数据查询可在写周期被初始化的任一时刻开始。 Ready/busy:字节编程的进度通过“ RDY/BSY输出信号监测,编程期间, P3.1引脚在 P3.2变高“ H”后被拉低来指“ BSY”, P3.1在编程结束后被再次拉高“ H”来指示“ RDY”。 程 序校验:如果加密位 LB1、 LB2没有进行编程,则代码数据可通过校验数据线读取: 1. 使 RST从“ L”变为“ H”,复位内部的地址计数器为 000H。 2. 对代码数据加上正确的控制信号即可在 P1 口引脚上读取数据。 3. XTAL1引脚跳变一次使内部地址计数器加 1。 4. 从 P1口读取下一个代码字节。 5. 重复 3到 4步骤,即可将全部单元的数据读取。 加密位不可直接校验,加密位的校验可通过对存储器的校验和写入状态来验证。 芯片擦除:利用控制信号的正确组合并保持 P3.2引脚 10ms的低电平即可将 PEROM阵列( 2K字节)和两个加密位整片擦除, 代码阵列在片擦除操作中将任何非空单元写入“ 1”可被再次编程之前进行。 读片内签名字节:除 P3.5、 P3.7必须被拉成逻辑低电平外,读签名字节的过程和单元 000H、001H及 002H的正常校验相同,返回值意义如下: ( 000H) =1EH声明产品有 ATMEL公司制造。 ( 001H) =21H声明为 89C2051单片机。 编程接口: Flash 闪速阵列中的每一代码字节进行写入且整个存储器可在控制信号的正确组合下进行擦除,写操作周期是自身定时的,初始化后它将自动定时到操作完成。 nts 10 表 1 5 AT89C2051的极限参数 : 图 1 3 nts 11 外部时钟驱动波形 : 图 1 4 注: AC输入测试期间是当电平 VCC-0.5(逻辑 1) nts 12 和 0.45V(逻辑 0),实时测量 VIH的最小值 VH 的最大值 三语音芯片在单片机中系统的使用 1、所谓语音芯片就是在人工或者是控制器的控制下可以录音和放音的芯片,在单片机中使 用语音芯片时,需要考虑三个方面的内容,一个方面是如何使用 isd系列的语音芯片,二是如何根据选择的 isd芯片设计外围和单片机的接口电路,三是如何编写定时控制语音芯的单片机程序。 功能模块分为三个方面: 1 单片机系统:输出控制信号,控制语音芯片定时播放特定的语音。 2 外围电路:实现外围电路的 isd系列语音芯片,本电路所使用的是 isd2560 的芯片和单片机之间的接口电路。 3 C51程序:编写定时一秒的程序,并在定时中断来时间来时播放语音芯片中的内容。 器件和原理 (1).什么是语音芯片? 语言芯片就是人工或者是控制器的 控制下可以录音和放音的芯片。比较典型的有美国的 isd公司生产的 isd系列语音芯片。 Isd系列语音芯片采用模拟数据在半导体存储器直接存储的技术,即将模拟语音数据直接写入单个存储单元,不需要经过 A/D或 D/A转换,因此能够较好地真实再现语音的自然效果,避免了一般固体语音电路因为量化和压缩所造成的量化噪音和失真现象。另外芯片功能强大:既录即放,语音可掉电保护, 10万次的檫写寿命,手动操作和 cpu控制兼容,可多片级联,无须开发系统等,确实给欲实现语音功能的单片机应用设计人员提供了单片的解决方案。 (2).如何选择 合适的语音芯片? 下面介绍比较流行的语音芯片,以及选择语音芯片的标准。目前,市场上的语音芯片和语音板很多,从价格性能比上看,美国 isd公司的 ISD系列录放芯片是比较好的,有以下特点: a. 使用直接电平存储技术,省去了 A/D和 D/A转换。 b. 内部集成了大容量的 EEPRPOM,不再需要扩展存储器。 c. 控制简单,控制管脚与 TTL电平兼容。 d. 具有集成度高,音质好,使用方便等优点。 (3).ISD2560的基本功能是什么? 本电路将选择美国 ISD公司的 2560语音芯片。该芯片的引脚图如图所示,其基本特点和引脚的功能说明如下。 ( a) .ISD2560系列具有抗断电,音质好,使用方便,无需专用的语音开发系统的特点。 ( b) .片内 EERPOM容量 480KB,所以录放时间长,录放时间为 90秒。 ( c) .有 10个地址输入端,寻址能力可达 1024位。 ( d) .语音最多能分 600段,设有 OVF溢出端,便于多个器件级联。 地址线: A0 A9。共有 1024种组合状态。 最前面的 600个状态作内部存储器的寻址用,最后 256个状态作为操模式。 电源: VCCA、 VCCD。芯片内部的模拟和数字电路使用不同的电源总线。模拟和数字电源端最好分别走线。 nts 13 地线 : VSSD、 VSSA。芯片内部的模拟和数字也可使用不同的地线。 节能控制: PD。本端拉高是芯片停止工作,进入不耗电的节能状态,芯片发生溢出,即 OVF端输出低电平后,要将本端短暂变为高复位芯片,才能使之再次工作。、 片选: CE。本端变低后,而且 PD 为低,允许进行录放操作。芯片在本端的下降沿锁存地址线和 P/-R端的状态。 录放模式: P/-R。本端状态在 /CE的下降沿锁存。高电平选择放音,低电平选择录音。 信息结尾标志: EOM。 EOM标志在录音时由芯片自动插入到该信息的结尾。放音遇到 EOM时,本端输出低电平脉冲 。芯片内部会检查电源电压以维护信息的完整性,当电压低于 3.5V时,本端变低,芯片只能放音。 溢出标志: OVF。芯片处于存储空间末尾时本端输出低电平脉冲表示溢出,之后本端状态跟随 CE端的状态,知道 PD 端变高。 麦克输入: MIC。本端连至片内前置放大器的反向输入。片内自动增益控制( AGC)将置增益控制在 -15DB至 24DB。、 自动增益控制: AGC。 AGC动态调整前置增益以补偿话筒输入电平的宽度变化,使得录制变化很大的音量(从耳语到喧嚣声)时失真都能保持很小。 模拟输出: ANA OUT。前置放大器的输出,前置 电压增益取决于 AGC端电平。 模拟输入: ANA IN。本端为芯片录音信号的输出。对话筒输入来说 ANA OUT端应通过外接电容连至本端。 喇叭输出: SP+、 SP-。过对输出端级驱动 16 欧以上的喇叭。单端使用时必须在输出端和喇叭间接耦合电容,而双端输出既不用电容又不能将功率提高至 4倍。录音和节电模式下,它们保持为低电平。 辅助输入: AUX IN。当 /CE和 P/-R为高,放音不进行,或处于放音溢出状态时,本端的输入信号过内部功放驱动喇叭输出端。当多个 2560 级联时,后级的喇叭输出通过本端连接到本级的输出放大器。 外部时钟: XCLK。本端捏部有下拉元件,不用时应接地。芯片内部的采样始终在出厂前已调节器校,误差为 +1%内。 地址 /模式输入: AX/MX。地址端有个作用,取决于最高两位( MSB,即 2532/2548的 A7和 A8,或 2560/2590/25120的 A8 和 A9)的状态。当最高两位中有个为零时,所有输入均解释为地址位,做为当前录入操作的起始地址。地址端只做输入,不输出操作过程中的内部地址信息。 nts 14 内部时钟 定时器采样时钟放大器放大器前置防混淆滤波器自动增益控制 解码器模拟收发器存储器阵列平滑滤波器( AGC )电 源 地 址 缓 冲 器 器件控制线混合扬声器驱动器X C L KA N A I NA N A O U TM I CM I C R E FA G CV c c A V s s A V s s D V c c D A0 A1 A2 A3 A4 A5 A6 A7 A8 PD O V F P / R CE E O M A U X I NS P +S P -模拟输入A91 2 3 4 5 6 7 8 9 10 111213141516171819202122 2324 252627284 8 0 KISD2560封装引脚图如下: ISD2560是 ISD系列单片语音录放集成电路的一种,是一种永久记忆型录放语音电路,录音时间为 60秒,能重复录放达 10万次。它采用直接电平存储技术,省去了 A/D、 D/A转换器。 ISD2560集成度高,内部包括前置放大器、内部时钟、定时器、采样时钟、滤波器、自动增益控制、逻辑控制、模拟收发器、解码器、和 480KB 的 EERPOM等。内部 EERPOM存储单元,均匀分为 600行,具有 600个地址单元,每个地址单元指向其中一行,每一个地址单元的地址分辨率为 100MS。 ISD2560控制电 平与TTL电平兼容,接口简单,使用方便。 ISD2560内置了若干操作模式,可用最少的外围器件实现最多的功能。操作模式也有地址端控制;当最高位都为 1时,其他地址端最高就选择某个模式。因此操作模式和直接寻址相互排斥。操作模式可由微控制器也可有硬件实现。基本电路原理图如下: 录音按下录音键接地,是 PD端、 P/R端为低电平,此时启动录音;结束时松开按键,单片机有让 P/R端回到高电平,既完成一段语音的录制。同样的方法可录取第二段、第三段等。值得注意的是,录音时间不能超过预先设定的每段语音的时间。放音的操作更为 简单,按下录音键接高电平,使 P/D端 P/R端为低电平启动方音功能;结束时,松开按键,即完成一段语音的播放。 VC C DP/ RX C L KEO MPDCEO VFAn a O u tAn a InAG CM ic R e fM icVC C ASP-1234567891011121314A0 / M 0 A1 / M 1A2 / M 2A3 / M 3A4 / M 4A5 / M 5A6 / M 6A7A8A9VSS D VSS A SP+2827262524232221201918171615I S DAu x In2 5 0 0nts 15 片选节电录/ 放在控制上,除去手动外, ISD 器件也可以通过地址来精确定位,但它的地址不是字节地址单元,而是信息段的基本组成单位。以 ISD2560 为例,他内部的 480KB的 EERPOM均匀地规划为600行,每个地址单元指向其中一行,有 600个地址单元 . 模式控制 功能 典型应用 A0/M0 信息检索 快速检索信息 A1/M1 删除 EOM标志 在全部语音录放结束时,给出 EOM标志 A2/M2 未用 当工作模式 操作时,此端应接低电平 A3/M3 循环放音 从 0地址开始连续重复放音 A4/M4 连续寻址 可录放连续的多段信息 A5/M5 CE电平触发 允许信号中止 A6/M6 按钮控制 简化器件接口 十进制 二进制 信息时间 (秒 ) A9 A8 A7 A6 A5 A4 A3 A2 A1 A0 2560 2575 2590 0 0 0 0 0 0 0 0 0 0 0 0 0 0 50 0 0 0 0 1 1 0 0 1 0 5.0 6.25 7.50 100 0 0 0 1 1 0 0 1 0 0 10.0 12.50 15.00 250 0 0 1 1 1 1 1 0 1 0 25.0 31.25 37.50 300 0 1 0 0 1 0 1 1 0 0 30.0 37.50 45.00 400 0 1 1 0 0 1 0 0 0 0 40.0 50.00 60.00 nts 16 500 0 1 1 1 1 1 0 1 0 0 50.0 62.50 75.00 599 1 0 0 1 0 1 0 1 1 1 59.9 74.87 89.85 ISD2560/90/120P 地址功能表 地址状态 功能状态 DIP 开关 1 2 3 4 5 6 7 8 9 10 11 12 ( ON=0, OFF=1) 地址位 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 P/R CE ( 1为高电平, 0为低电平, *为高或低电平) 0 0 0 0 0 0 0 0 0 0 一段式最长 60 秒录放音,从首地址开始。 1 0 0 0 0 0 0 0 0 0 以十位二进制表示地址,每个地址代表100 毫秒。 地址模式 0 0 0 0 0 0 0 0 1 0 一段从 A6 地址开始的 12 秒录放音。 * * * * * * * * * 0 只要 A8、 A9 有一位是 0,就处于地址模式。 * * * * * * * * 0 * 0 0 0 1 0 0 0 0 1 1 循环放音操作,按住 CE键不放循环放音第一段。 操作模式 0 0 0 0 1 0 0 0 1 1 按顺序连续分段录放音,录音时压住 CE键不放,放音时每触发一次 CE 键即放音一段,按 PD键复位。每段语音长度不限。 按钮模式 0 0 0 0 0 0 1 0 1 1 ISD2560的录放时间是 605,因此地址分辨率是 100MS。 ISD器件可进行多段地址操作,每一段称为一个信息段,它可以占用一行和多行存储空间。一个地址单元最多只能作为一个独立的段。因此 ISD2560最多可分为 600个信息段。这就为在单片机系统中使用 ISD2560语音芯片提供了基本条件。 2.采样单片机控制语音芯片的好处 ISD 芯片完全可以手动,为什么还要使用单片机?我们可以从以下的两个方面考虑实际使用中的要求。 单片机系统的需要。在一些应用场合,如手机花费查询系统、排 队机以及公共汽车报站器等,这些应用中需要实现自动播音,而 ISD2560实现自动播音的方法,最为简单的就是和单片机系统想连接。 简化人工操作。通常情况下,只能使用 ISD器件提供的无须知道地址的操作模式,即手动模式,这只适合于开发一些简单的语音功能,而无法满足复杂操作或者实时中应用的要求。为实现以上应用,最好使用对地址直接操作的办法。但在实际中,一些电路开发设计只是在基于语音信号已经写入芯片,并且段地址已经知道的基础上才能进行。然而,不可避免地要遇nts 17 到必须将语音写入的时候。如果手动处理,采用按录音按键录音,按 停止 按键停止,假如录音段数特别多,就要频繁地按上述按键,实在让人疲惫不堪。此外,手动按下录音及停止按键的时间也是很难掌握,这就容易产生段间空白,造成芯片空间浪费,对语音段特别多,而语句有特别短的提示,如一些单字、单词更是浪费严重。不仅这样,由于断句中空白时间过长,合成方音时出现语音不连贯。 正是由于上述原因,需要将单片机系统和语音芯片联系起来,形成一个智能化的语音播放系统。单片机需要完成以下两个功能: 通过 ISD2560芯片,录制一段语音信息 利用单片机定时 10 秒,循环播放一段录制的语音 3.电路设计 本电路采 用的主要器件是 ISD2560语音芯片和单片机,具体接口电路如下: e. 电路原理和器件的选择 下面是相关的、关键部分的器件名称及起在电路中的功能 AT89C2051:主要通过对 ISD2560的设置,完成对语音播放过程的控制。系统采用的微控制器是ATMEL公司生产的低电压、高性能 8位 CMOS单片机 AT89C2051,由于它将 8位 CPU和闪速存储器组合在单个芯片中,为很多嵌入式控制应用系统提供了一个高度灵活且价格低廉的解决方案。AT89C2051带有 2K字节可编程的 Flash Memory、 128字节 RAM、 15 根 I/O线、 2个 16位定时 /计数器、 1个全双向的串口、 1个精密比较器。其与工业标准 MCS-51的指令集和引脚结构完全兼容。 该单片机的 P1口是一个双向 I/O口,其中 P1.2P1.7口内部提供了上拉电阻, P1.0、 P1.1需外部上拉。 P1.0、 P1.1同时也是片内精密比较器的正输入端( AIN0)和负输入端( AIN1)。 P3口是 7个带有内部上拉电阻的双向口( P3.6除外,其为片内比较器的输出脚,而不能作为普通的I/O口使用)。 ISD2560:语音芯片,在单片机的控制下实现语音的定时播放,并且可以通过按键实现录 音功能。 SPEAKER: ISD2560语音芯片外接的扬声器。 MIC: ISD2560语音芯片外接麦克风。 D0 D9:单片机和 ISD2560 语音芯片的地址连接,通过对 D8、 D9 的设置,单片机可以控制芯片的工作方式。、 PD:节电控制,和单片机的 P3.2口相连,单片机可以控制芯片的开关。 CE:片选,和单片机的 p3.3口项链,单片机可以选中芯片。 P/R:录放模式,和单片机的 p3.0口相连,单片机可以控制芯片处于录音或放音的工作状态。 EOM:信息结尾标志,和单片机的 p3.1口相连, EOM标志在录音时有芯片 自动插入到该信息的结尾。 C功能简介 录音时,按下录音键,单片机通过 D 端口线设置语音段的起始地址,再使 PD端、 P/R端为低电平启动录音;结束时,松开按键,单片机有让 P/R端回到高电平,即完成一段语音的录制。同样的方法可以录取第二段、第三段等。值得注意的是,录音时间不能超过预先设定的每段语音的nts 18 时间。 放音时,根据需播放的语音内容,找到相应的语音段起始地址,并通过口线送出。 P/R端设为低电平,并让 /CE端产生一负脉冲启动放音,这时单片机只需要等待 ISD2560 信息结束信号。信号为一负脉冲,在 负脉冲的上升沿,该段语音才播放结束,所以单片机必 须要检测到的上升沿才能播放第二段,否则播放的语音就不连续。 ISD2560 与单片 AT89C2051的接口电路以及外围电路如 图 所示。单片机的 P1口、 P3.4和 P3.5分别与 ISD2560的地址线相连,用以设置语音段的起始地址。P3.0P3.3用以控制录放音状态。 P3.7连接一按键,供录音时使用。由 TL7705构成可靠复位及电源监视电路。 R S T1P /R2P 3. 0/ R X D2P 3. 1/ T X D3X24X15P 3. 2/ I N T 06P 3. 3/ I N T 17P 3. 48P 3. 59P 3. 711P 1. 012P 1. 113P 1. 315P 1. 416P 1. 517P 1. 618P 1. 719P 1. 214U1 A T 8 9C 20 51A 0 / M 01A 1 / M 12A 2 / M 23A 3 / M 34A 4 M 45A 5 / M 56A 6 / M 67A78A89A910P /R27E O M25CE23PD24S P +14S P -15M I C I N17M I C R E F18X C L K26A N A I N20A N A O U T21A G C19U2 I S D 25 60R61 0KC81 0/ 16 v+ 5vR51 0kR71 0KR S TC90 .1A11A22G N D4Q5Q6C13V C C8S E N S E7U3 T L 7 70 5C P1 2M H zC 23 0PC 13 0PKeyS P E A K E RC31 uFC40 .2 2uC50 .2 2uC6 4 .7 uR11 0KR21 0KR31KR44 70 K+C74 7uM K 1M I C+ 5VRecordISD2560 虽然提供了地址输入线,但它的内部信息段的地址却无法读出。本系统采用单片机来控制,不需读出信息地址 ,而直接设置信息段起始地址。其实现方式有两种:一是由于 ISD2560的地址分辨率为 100 ms,所以可用单片机内部定时器定时 100 ms,然后再利用一计数器对单片机定时次数进行计数,则计数器的计数值为语音段所占用的地址单元。该方式能充分利用 ISD2560内部的 E2PROM,在字段较多时可利用该方法。二是语音字段如果较少,则可根据每一字段的内容多少,直接分配地址单元。一般按每 1 s说 3个字计算, 60 s可说 180个字,再根据 ISD2560的地址分辨率为 100 ms,即可计算出语音段所需的地址单元数。本电路采用 第二种方式。 2.程序设计 录音源程序: START: MOV R7,#00H MOV P1,#00H CLR P3.4 ;ISD2560地址初始化 CLR P3.5 CLR P3.2 nts 19 CLR P3.0 ;设置为录音状态 LOOP: JB P3.7,LOOP ;录音键按下否? INC R7 CALL PRESS LJMP LOOP PRESS: CJNE R7,#1,NEXT1 MOV P1,#00H ;送字段 1起始地址 CLR P3.4 CLR P3.5 LCALL RECORD JMP BACK NEXT1: CJNE R7,#2,NEXT2 MOV P1,#20H ;送字段 2起始地址 CLR P3.4 CLR P3.5 LCALL RECORD JMP BACK NEXT2: CJNE R7,#3,NEXT3 MOV P1,#40H ;送字段 3起始地址 CLR P3.4 CLR P3.5 LCALL RECORD JMP BACK NEXT3: CJNE R7,#4,NEXT4 MOV P1,#60H ;送字段 4起始地址 CLR P3.4 CLR P3.5 LCALL RECORD JMP BACK NEXT4: CJNE R7,#5,BACK MOV R7,#00H MOV P1,#80H ;送字段 5起始地址 CLR P3.4 CLR P3.5 LCALL RECORD BACK: RET RECORD: CLR P3.3 ;/CE端为低,开始录音 JNB P3.7,$ nts 20 SETB P3.3 RET 放音源程序 : BEGIN: SETB 20H.0 ; 置放音标志 SETB P3.0 ;置 放音状态 MOV P1,#00H ;ISD2560地址初始化 CLR P3.4 CLR P3.5 MOV R0,2FH ;放音起始地址送 R0 LOOP1: JB 20H.0,LOOP1 LCALL PLAY ;20H.0=0 调放音程序 JMP LOOP1 PLAY: INC R0 LCALL FIND ;调查找播放地址子程 CJNE R0,#5,OUT MOV R0,#2FH OUT: RET FIND: MOV A,R0 ;查找播放语音地址 CJNE A,#1,PNEX1 MOV P1,#00H ;若 A=#1放第一段 CLR P3.4 CLR P3.5 CALL SOUND JMP PBACK PNEX1: CJNE A,#2,PNEX2 MOV P1,#20H ;若 A=#2放第二段 CLR P3.4 CLR P3.5 CALL SOUND JMP PBACK PNEX2: CJNE A,#3,PNEX3 MOV P1,#40H ;若 A=#3放第三段 CLR P3.4 CLR P3.5 CALL SOUND JMP PBACK PNEX3: CJNE A,#4,PNEX4 nts 21 MOV P1,#60H ;若 A=#4放第四段 CLR P3.4 CLR P3.5 CALL SOUND JMP PBACK PNEX4: CJNE A,#5,PBACK MOV P1,#80H ;若 A=#5放第五段 CLR P3.4 CLR P3.5 CALL SOUND PBACK: RET SOUND: CLR P3.3 ; /CE端形成一负脉冲启 NOP ;动播放 NOP SETB P3.3 TURN1: JB P3.1,TURN1 ;等待语音段结束信号 TURN2: JNB P3.1,TURN2 ;等待 EOM信号的上升沿 RET nts 22 致 谢 在两个多月的课题研究及论文撰写过程中,我非常感谢我的导师 张冀祥老师。无论是在课题立项还是在课题的研究阶段,张老师都给了我很大的帮助。在毕业设计的这段时间中,李老师不仅使我在学 业上有了很大的提高,而且言传身教,使我学到了作为一名大学生所应具备的那种踏实勤恳、一丝不苟、认真求实的优良品质和学习作风。在我进行课题内容的研究中,从技术上给予了我极大的帮助和支持,而且在论文的最后评阅过程中,也给我提出了非常有价值的意见,使我获益极深。衷心地谢谢您,张老师! 同时,我还要感谢电子实验室的杨旭杨老师,无论是从资料上,还是从经验和技 术上都提供了极大的帮助。并一直坚持向我提供最新技术资料,使毕业设计得以 最后完成。最后,对所有在这三年年里的学习和生活中,给予我各种关心我 帮助的人们,我仅表达我 最衷心的谢意!谢谢你们! 参 考 文 献 1 余永权 . ATMEL89系列单片机应用技术 M. 北京:北京航空航天大学出版社 . 2 2002 数码语音芯片、产品及应用电路资料汇编 M. 3 刘欣,等 . IDS语音器件分段地址的获取 J. 电子技术应用, 1999( 10) 4 求是科技 .单片机模块设计实例导航 .人民邮电出版社 5 MCS-51单片机接口技术与运用李华 北京航天航空大学出版社 6 单片机接口技术与运用胡汉才 清华大学出版社 nts 23 7 周航慈 . 单片机应用程 序设计技术(修订版) M. 北京:北京:北京航空航天大学出版社,2002.47 8 单片微型机原理 应用与实验,第三版张友德 等编 复旦大学出版社 AT89C52 资料: Features Compatible with MCS-51TM Products 8 Kbytes of In-System Reprogrammable Flash Memory Endurance: 1,000 Write/Erase Cycles Fully Static Operation: 0 Hz to 24 MHz Three-Level Program Memory Lock 256 x 8-Bit Internal RAM nts 24 32 Programmable I/O Lines Three 16-Bit Timer/Counters Eight Interrupt Sources Programmable Serial Channel Low Power Idle and Power Down Modes Description The AT89C52 is a low-power, high-performance CMOS 8-bit microcomputer with 8 Kbytes of Flash
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。