毕业设计(论文)-基于单片机的语音电话自动应答系统设计.doc_第1页
毕业设计(论文)-基于单片机的语音电话自动应答系统设计.doc_第2页
毕业设计(论文)-基于单片机的语音电话自动应答系统设计.doc_第3页
毕业设计(论文)-基于单片机的语音电话自动应答系统设计.doc_第4页
毕业设计(论文)-基于单片机的语音电话自动应答系统设计.doc_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

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

文档简介

天天津津天天狮狮 学学院院 毕毕业业实实践践报报告告 题目:基于单片机的语音电话自动应答系统设计题目:基于单片机的语音电话自动应答系统设计 二级学院二级学院 电子与计算机学院电子与计算机学院 专专 业业 0808 级通信技术级通信技术 学生姓名学生姓名 指导教师指导教师 20112011 年年 5 5 月月 3131 日日 摘摘 要要 语音自动应答系统具有实时性,交互性,数字化和集成性等特点,而随着技术 的成熟发展与人们的需求,语音自动应答系统也因此广泛的应用于电话机、电脑自 动应答、数字点歌、自动音频等服务中,极大的方便了人们的生活。 本课题详细介绍了语音自动应答系统的原理和特征,以及 Atmel 公司的 AT89C51 单片机的性能和特点,并在分析了语音自动应答原理的基础上,指出了设 计自动应答系统的思路和所需考虑的问题,给出了以 AT89C51 单片机为核心、实现 振铃检测、自动摘挂机、忙音检测、自动录放音等功能的硬件电路和软件设计方法。 该系统电路设计合理、使用方便灵活、性能稳定、控制简单,并且在使用方面能达 到用户的需求。 关键字: 单片机 电话机 语音自动答录系统 AbstractAbstract Speech automatic response systems have real-time, interactive digital and integration, etc, and with the technology maturity development and peoples needs, voice automatic response systems also so widely used in telephone, computer automatic response, digital song, automatic audio services, great convenience on peoples life. This subject introduces in detail the principle of speech automatic response systems and characteristics and the AT89C51 Atmel company performance and characteristics of the speech, and on the analysis of the basis of the principle of automatic response, points out the design automatic response systems thinking and required issue, is given based on AT89C51, pronunciation chip ISD4004, realize ringing detection, automatic picking hang up, tone detection, automatic recording sound functions such as hardware circuit and software design method. This system circuit design and convenient use flexible reasonable, stable performance, simple control in use, and can reach the requirements of users. Key word: singlechip telephone voice automated answering system 目目 录录 一、绪论.1 二、系统总体设计.2 三、硬件电路的设计.3 3.1 单片机.3 3.1.1 单片机 AT89C51 .3 3.1.2 管脚说明.3 3.1.3 单片机最小系统.5 3.2 电话模拟摘挂机电路.6 3.2.1 光电耦合器.7 3.3 振铃检测电路.8 3.4 忙音检测电路.9 3.4.1 双音多频发送接收器 MT8888 .9 3.4.2 忙音检测电路设计.10 3.5 电源电路设计.11 3.6 语音芯片及录放音电路.12 3.6.1 ISD4004 芯片 .12 3.6.2 引脚说明 .13 3.6.3 ISD4004 录音电路设计 .14 3.6.4 ISD4004 放音电路设计 .15 3.7 系统总电路图的设计.16 四、软件设计.18 4.1 系统主程序设计.18 4.2 录放音程序设计.19 4.3 忙音检测程序设计.20 4.4 软件编译.26 结论.27 参 考 文 献.28 1 一、绪论 自电话发明以来,人们的生活发生了革命性的变化,随着生活水平的迅速提高, 人们对电话机的质量与功能要求越来越高。老式电话机正逐渐被集成电路或单片机, 高性能/价格比的按键式电话所取代。在功能的需求方面,人们也越来越青睐于多功 能的智能电话机。其中,电话的录放音功能必不可少。 随着双音频电子电话机成为现在主流的新型电话机,电话的录放音系统作为电 话机的基本功能,其发展技术也越来越成熟,而随着半导体集成电路技术及生产制 造工艺的发展完善,双音频电话机的录放音系统已经采用了专用集成电路,其电路 也采用音频振荡回路与语音芯片来构成,音频振荡回路相比 LC 回路要优越得多, 它具有音频准确,电平稳定,而且失真也较小,使其录放音的质量与通话时的声音 质量相差无几。此外,采用的芯片价格低廉、可靠性好、实用性强。现在,几乎所 有的多功能电话机都具有录放音功能。 与此同时,数字技术的迅猛发展,录放音功能也不只是局限于通话领域上,各 种服务系统比如电脑自动应答、数字点歌、自动音频服务、自动应答录音电话等各 种自动答录系统在越来越多的场合发挥着重要的作用。这些技术方便了人们的工作 和生活,也使人们的工作学习的效率大大提高。 2 二、系统总体设计 本设计利用单片机控制外围的硬件电路和语音芯片,来完成基于单片机的语音 合成电话自动应答系统的设计与实现功能。其功能包括:振铃检测,自动摘挂机, 自动录放音等。采用单片机作为系统的控制单元本方案的控制部分,当有电话进来, 振铃检测电路检测到振铃信号送给单片机。每来一个信号单片机就记一次数,当满 一定次数后判断为无人接听,单片机便接通摘挂机电路实现摘机。摘机后单片机通 过来控制语音芯片的录音和放音。如果在录音过程检测到忙音信号表明对方已挂机, 单片机便控制摘挂机电路断路实现挂机。 其系统框图如图 2-1 所示: 摘挂机 电路 振铃检测 电路 忙音检测 电路 图 2-1 系统原理框图 振铃检测电路:检测来电信号,然后传送给单片机。 摘挂机电路:控制电话的摘挂,由单片机给出信号来控制该电路,同时该电路 也反馈信号给单片机。 忙音检测电路:检测忙音信号,然后传送给单片机。 录放音电路:提供电路的录音和放音。 在本设计中,采用单片机AT89C51作为控制端,ISD4004作为语音芯片在录放音 提供电路的录音和放音,MT8888作为忙音检测的核心器件。 单 片 机 录 放 音 电 路 录音电路 放音电路 3 三、硬件电路的设计 3.1 单片机 3.1.1 单片机 AT89C51 本设计的单片机应用 AT89C51, AT89C51 的管脚图如 3-1 图所示, AT89C51 是一 个低电压,高性能 CMOS 的 8 位单片机带有 4K 字节的可反复擦写的程序存储器(PEN ROM)。这种器件采用 ATMEL 公司的高密度、不容易丢失存储技术生产,并且能够与 MCS-51 系列的单片机兼容。片内含有 8 位中央处理器和闪烁存储单元,有较强的功 能的 AT89C51 单片机能够被应用到控制领域中。 图 3-1 AT89C51 管脚图 3.1.2 管脚说明 VCC:电源,提供+5V 电压。 GND:接地端。 4 P0 口:P0 口是一组 8 位漏极开路双向 I/O 口,即地址/数据总线复用口。作为 输出口时,每一个管脚都能够驱动 8 个 TTL 电路。当“1”被写入 P0 口时,每个管 脚都能够作为高阻抗输入端。P0 口还能够在访问外部数据存储器或程序存储器时, 转换地址和数据总线复用,并在这时激活内部的上拉电阻。P0 口在闪烁编程时,P0 口接收指令,在程序校验时,输出指令,需要接电阻。 P1 口:P1 口一个带内部上拉电阻的 8 位双向 I/O 口,P1 的输出缓冲级可驱动 4 个 TTL 电路。对端口写“1” ,通过内部的电阻把端口拉到高电平,此时可作为输 入口。因为内部有电阻,某个引脚被外部信号拉低时输出一个电流。闪烁编程时和 程序校验时,P1 口接收低 8 位地址。 P2 口:P2 口是一个内部带有上拉电阻的 8 位双向 I/O 口,P2 的输出缓冲级可 驱动 4 个 TTL 电路。对端口写“1” ,通过内部的电阻把端口拉到高电平,此时,可 作为输入口。因为内部有电阻,某个引脚被外部信号拉低时会输出一个电流。在访 问外部程序存储器或 16 位地址的外部数据存储器时,P2 口送出高 8 位地址数据。 在访问 8 位地址的外部数据存储器时,P2 口线上的内容在整个运行期间不变。闪烁 编程或校验时,P2 口接收高位地址和其它控制信号。 P3 口:P3 口是一组带有内部电阻的 8 位双向 I/O 口,P3 口输出缓冲故可驱动 4 个 TTL 电路。对 P3 口写如“1”时,它们被内部电阻拉到高电平并可作为输入端 时,被外部拉低的 P3 口将用电阻输出电流。 P3 口也可作为 AT89C51 的一些特殊功能口,如 下表 3-1 所示: 特殊功能口 P3.0 串行输入口 P3.1 串行输出口 P3.2 外部中断 0 P3.3 外部中断 1 P3.4 记时器 0 外部输入 P3.6 外部数据存储器写选通 P3.7 外部数据存储器读选通 表 3-1 P3 口的特殊功能 RST:复位输入。当震荡器工作时,RET 引脚出现两个机器周期以上的高电平将 使单片机复位。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的 地位字节。在 FLASH 编程期间,此引脚用于输入编程脉冲。在平时, ALE 端以 5 不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作 对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器 时,将跳过一个 ALE 脉冲。如想禁止 ALE 的输出可在 SFR8EH 地址上置 0。此时, ALE 只有在执行 MOVX,MOVC 指令是 ALE 才起作用。另外,该引脚被略微拉高。 如果微处理器在外部执行状态 ALE 禁止,置位无效。 :外部程序存储器的选通信号。在由外部程序存储器取址期间,每个 PSEN 机器周期两次 /PSEN 有效。但在访问外部数据存储器时,这两次有效的 /PSEN 信号将不出现。 /VPP:外部访问允许。欲使中央处理器仅访问外部程序存储器,EA 端必须保 EA 持低电平。需要注意的是:如果加密位 LBI 被编程,复位时内部会锁存 EA 端状态。 如 EA 端为高电平,CPU 则执行内部程序存储器中的指令。闪烁存储器编程时,该引 脚加上+12V 的编程允许电压 VPP,当然这必须是该器件是使用 12V 编程电压 VPP。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 3.1.3 单片机最小系统 单片机最小系统包括单片机、晶振电路和复位电路,其中晶振电路是系统用来 产生脉冲信号,复位电路提供系统的复位。如图 3-2 所示。 单片机的 RST 引脚控制系统的复位,为了使单片机处于复位(即初使化)工作 状态,通常的复位方式有“自动上电复位”和“人工按钮复位”两种方式。在设计 中采用人工复位按钮,在单片机应用系统中,除单片机应用系统本身需要复位之外, 外部扩展 I/O 接口电路等也需要复位,需要一个包括上电和按钮复位在内的系统同 步复位电路。RST/VPD 的第二功能是作为备用电源输入端,当主电源 VCC 发生故障 而降低到规定低电平时,RST/VPD 线上的备用电源自动投入使用,以保证片内 RAM 中信息不丢失。 单片机的 XTAL1 和 XTAL2 引脚控制单片机最小系统的晶振电路,AT89C51 中有 一个用于构成内部震荡器的高增益反相放大器,引脚 XTAL1 和 XTAL2 分别是该放大 器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一 起构成自然震荡器。 外接石英晶体及电容 C1,C2 接在放大器的反馈回路中构成并 联震荡电路。对外接电容 C1,C2 虽然没有十分严格的要求,但电容容量的大小会轻 微影响震荡频率的高低、震荡器工作的稳定性、起振的难易程序及温度稳定性。如 果使用石英晶体,我们推荐电容使用 30PF10PF,而如果使用陶瓷振荡器建议选择 6 40PF10PF。用户也可以采用外部时钟。采用外部时钟的电路如图示。这种情况下, 外部时钟脉冲接到 XTAL1 端,即内部时钟发生器的输入端,XTAL2 则悬空。由于外 部时钟信号是通过一个 2 分频触发器后作为内部时钟信号的,所以对外部时钟信号 的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产 品技术条件的要求。 图 3-2 单片机最小系统 3.2 电话模拟摘挂机电路 电话模拟摘挂机电路用来模拟电话摘挂机过程,当来电话时,给电路一个信号, 电话模拟摘机,当结束时,再给电路一个信号,电话完成挂机功能。 根据电信行业的标准规定:不论任何电话机,摘机状态的直流电阻应小于 300,有r键的电子电话机的摘机状态直流电阻应小于 350。挂机状态下的漏 电流小于 5A。当用户摘机时,电话机将通过叉簧接上约 300 的负载,从而使整 个电话线回路流过约 30mA 的电流。交换机检测到该电流后便停止铃流发送,并将线 路电压变为十几伏的直流以完成接续。根据有关技术指标,模拟摘挂机电路设计如 图 3-3 所示。 7 图 3-3 电话模拟摘挂机电路原理图 该模拟摘挂机电路主要由二个三三极管电路、光电耦合器。应用光电耦合器作为 控制开关,来控制摘挂机。摘挂机指令由单片机判断 I/O 口是否为高电平来实现。 由于检测到振铃后,系统会给另一个 I/O 低电平从而开启光电耦合器 Ul,因此线路 会处于导通状态。控制电路可向交换机发出模拟摘机信号,交换机响应摘机信号后 便可完成电话线路的接通。最终使整个电路完成自动模拟摘机过程。 3.2.1 光电耦合器 本设计中光电耦合器作为控制开关。光电耦合器是以光为媒介传输电信号的一 种电一光一电转换器件。它由发光源和受光器两部分组成。把发光源和受光器组装 在同一密闭的壳体内,彼此间用透明绝缘 体隔离。发光源的引脚为输入端,受光器 的引脚为输出端,常见的发光源为发光二极管,受光器为光敏二极管、光敏三极管 等等。光电耦合器的种类较多,常见有光电二极管型、光电三极管型、光敏电阻型、 光控晶闸管型、光电达林顿型、集成电路型等。本设计中使用的是光电三极管型。 1.工作原理 在光电耦合器输入端加电信号使发光源发光,光的强度取决于激励电流的大小, 此光照射到封装在一起的受光器上后,因光电效应而产生了光电流,由受光器输出 端引出,这样就实现了电-光-电的转换。 2.光电耦合器的检测 光电耦合器运用广泛,依据光电耦合器特性,设计一个方便的测试光电耦合器 电路,该电路简单、准确,使用方便。 当电源接通后,LED 不发光。按下 S2,LED 会发光。调 RP,LED 的发光强度会 8 发生变化,说明光电耦合器是好的。电路原理图如下图: 图 3-4 光电耦合器检测电路 3.3 振铃检测电路 电话振铃检测电路是用来检测振铃信号的,通过把电压的变化转化成方波信号 给单片机检测。电路原理图如图 3-5 所示: 图 3-5 振铃检测电路 电话外线在平时的电压为直流 40V 左右,而振铃来时会有正负 25V 的交流电压 叠加在外线上,所以检测振铃的电路用 C11 高压电容来进行隔直;振铃以 5 秒为周 期,即 1 秒送,4 秒断,在本电路检测铃流信号时,以 5 次铃响为准,即 5 次振铃 后无人摘机,便由单片机控制自动模拟摘机。当有振铃来时,交流信号会通过 C11,击穿 D6,给后面的光耦合器提供脉冲开关信号,而 R12 为限流电阻。 经光耦合器隔离的信号经 C12 和 R13 滤波整形后,会变成标准低电平和带纹波 高电平的长周期脉冲信号,但是输出的波形不好,且为高的电平状态还与各交换机 相关,所以在后面加上了一个三极管的反向器,作为整形,这样就可以得到很完整 的波形了。 9 3.4 忙音检测电路 3.4.1 双音多频发送接收器 MT8888 本设计中使用 MT8888 作为忙音检测的主要部件。MT8888 是 MITEL 公司采用 CMOS 工艺生产的 DTMF 信号收发一体集成电路,它的发送部分采用信号失真小、频 率稳定性高的开关电容式 D/A 变换器,可发出 16 种双音多频 DTMF 信号。接收部分 用于完成 DTMF 信号的接收、分离和译码,并以 4 位并行二进制码的方式输出。 MT8888 芯片集成度高、功耗低,可调整双音频模式的占空比,能自动抑制拨号音和 调整信号增益,还带有标准的数据总线,可与 TTL 电平兼容,并可方便地进行编程 控制。引脚图如下图 3-6 所示: 图 3-6 MT8888 引脚图 引脚说明: IN+、IN-(1,2)运放的同相和反相输入端; GS(3)增益选择端。在该引脚与 IN-引脚间接反馈电阻可调节运放增益; Vref(4)基准电压输出端。通常为 VDD/2,作为运放的偏置电压; VSS(5)芯片电源负端,接地; OSC1、OSC2(6、7)时钟或振荡器的输入、输出端。两引脚间接 3.579545MHz 晶体与内部电路构成芯片振荡器;若由外部电路提供时钟,则 OSC2 引脚开路; TONE(8)DTMF 信号输出端,也可通过编程设置为单音输出; (9)微处理器写输入端,低电平有效,与 TTL 电平兼容; WR (10)片选信号输入端,低电平有效。该引脚可由微处理器的地址锁存信号 CS (ALE)直接提供; 10 RS0(11)寄存器选择控制输入端; (12)微处理器读输入端,低电平有效,与 TTL 电平兼容; RD /CP(13)中断请求信号,为开漏输出。在中断模式下,当一个有效 DTMF 信 IRQ 号突发发送或接收时,输出低电平信号。若控制寄存器设定电路工作于呼叫处理 (CALL)模式和中断使能,则该端输出代表运放输入的方波信号音,但该信号频率必 须落在呼叫处理滤波器的带宽内; D0D3(14-17)数据总线,与 TTL 电平兼容。输入需发送的 DTMF 编码或输出 译码的 DTMF 信号数据。当 CS=1 时呈高阻状态; Est(18)初始控制输出。若电路检测到一种有效的单音对时,Est 为高电平; 若信号丢失,则 Est 返回低电平; St/GT(19)控制输入/时间监测输出。若 St 电压大于门限 VTSt,电路寄存被 检测的 DTMF 单音对,并更新输出锁存器内容。若 St 电压低于 VTSt,则电路不接收 一新单音对,GT 输出的作用是设置外部时间监测常数; VDD(20)芯片电源正端,典型值为+5V。 3.4.2 忙音检测电路设计 本设计通过对忙音的检测从而判断对方是否挂机。使用单片机定时/计数功能检 测电话信号音。此方法简单,不用锁相放大器,可靠性高。能够正确识别无声(线路故 障) 、拨号音、忙音、空号音、拥塞音、回铃音、被叫用户摘机等状态;占用单片机 资源少,仅需要1个定时器和1个计数器;检测程序结构简洁,代码短。话线信号音检测 电路如图3-7所示。 11 图3-7 忙音检测电路 此电路中MT8888工作于呼叫模式,在该模式下,芯片可以从输入信号中检测电 话呼叫过程的各种信号音(回铃音、拨号音、忙音,拨号音是450Hz的连续信号,忙 音为035秒通、035秒断,回铃音为1秒通、4秒断)。MT8888 的呼叫处理滤波器 是一个带通滤波器, 通频带为300510Hz。当信号频率落在320510Hz范围以内时, 能从 IRQ端输出方波,否则IRQ端为低电平。其中,C51的T0口接MT8888的CP端以给 脉冲信号,P3.6与P3.7分别接MT8888的读写端,P0.1P0.6分别接MT8888的D3D0端 以发送或接收DTMF译码信号。 3.5 电源电路设计 供电部分输入 220V、50Hz 交流电,输出全机所需的两种电压:+5V 和+3V。 采用稳定的电源,能够提供多种固定的输出电压,应用范围广。内含过流、过 热和过载保 护电路。带散热片时,输出电流可达 1A。虽然是固定稳压电路,但使 用外接元件,可获得不同的电压和电流。5V,3V 电源电路如图所示。三端集成稳压 电源性能优越,但是它的最低稳压电压为 5V,采用三个二极管降压,使 5V 的直流 电变成约 3V。如下图 3-8,3-9 所示: 12 图 3-8 5V 电源电路 图3-9 3V电源电路 3.6 语音芯片及录放音电路 3.6.1 ISD4004 芯片 本设计所使用的语音芯片是 ISD4004。用于对语音信号的录制存储和输出。通 过单片机的I/O口对ISD4004系列语音芯片进行录音、放音等控制,其结构简单、控 制可靠、有较高的实用价值。 ISD4004系列工作电压为3V。单片录放时间4至8分钟,音质好,适用于移动电话及 他便携式电子产品中。芯片采用CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、 音频放大器、自动静噪及高密度多电平闪烁存贮阵列。芯片设计是基于所有操作必 须由微控制器控制, 操作命令可通过串行通信接口(SPI/Microwire)送入。 芯片采用多电平直接模拟量存储技术, 每个采样值直接存贮在片内闪烁存贮器 中,因此能够非常真实、自然地再现语音、音乐、音调和效果声,避免了一般固体录 音电路因量化和压缩造成的量化噪声和金属声。采样频率可为 4.0、5.3、6.4、8.0KHZ,频率越低,录放时间越长,而音质则有所下降,片内信息存 于闪烁存贮器中,可在断电情况下保存100年(典型值),反复录音10万次。 13 3.6.2 引脚说明 图 3-10 ISD4004 管脚图 电源(VCCA,VCCD):为使噪声最小,芯片的模拟和数字电路使用不同的电源总线, 并且分别引到外封装的不同管脚上,模拟和数字电源端最好分别走线,尽可能在靠近 供电端处相连,而去耦电容应尽量靠近器件。 地线(VSSA,VSSD):芯片内部的模拟和数字电路也使用不同的地线。 同相模拟输入(ANA IN+):这是录音信号的同相输入端。输入放大器可用单端或 差分驱动。单端输入时,信号由耦合电容输入,最大幅度为峰峰值 32mV,耦合电容和 本端的 3K 电阻输入阻抗决定了芯片频带的低端截止频率。差分驱动时,信号最大 幅度为峰峰值 16mV。 反相模拟输入(ANA IN-):差分驱动时,这是录音信号的反相输入端。信号通过 耦合电容输入,最大幅度为峰峰值 16mV 音频输出(AUD OUT):提供音频输出,可驱动 5K 的负载。 片选(SS):此端为低,即向该 ISD4003 芯片发送指令,两条指令之间为高电平。 串行输入(MOSI):此端为串行输入端,主控制器应在串行时钟上升沿之前半个 周期将数据放到本端,供 ISD 输入。 串行输出(MISO):ISD 的串行输出端。ISD 未选中时,本端呈高阻态。 串行时钟(SCLK):ISD 的时钟输入端,由主控制器产生,用于同步 MOSI 和 MISO 的数据传输。数据在 SCLK 上升沿锁存到 ISD,在下降沿移出 ISD。 中断(/INT):本端为漏极开路输出。ISD 在任何操作(包括快进)中检测到 EOM 或 OVF 时,本端变低并保持。中断状态在下一个 SPI 周期开始时清除。中断状态也可 用 RINT 指令读取。OVF 标志-指示 ISD 的录、放操作已到达存储器的未尾。EOM 标志-只在放音中检测到内部的 EOM 标志时,此状态位才置 1。 行地址时钟(RAC):漏极开路输出。每个 RAC 周期表示 ISD 存储器的操作进行了 一行(ISD4003 系列中的存储器共产 1200 行,ISD4004 系列中的存贮器共 2400 行)。 14 该信号 175ms 保持高电平,低电平为 25ms。快进模式下,RAC 的 218.75s 是高电平, 31.25s 为低电平。该端可用于存储管理技术。 外部时钟(XCLK):本端内部有下拉元件。芯片内部的采样时钟在出厂前已调校, 误差在 +1%内。商业级芯片在整个温度和电压范围内, 频率变化在+2.25%内。工业 级芯片在整个温度和电压范围内,频率变化在-6/+4%内,此时建议使用稳压电源。若 要求更高精度,可从本端输入外部时钟(如附录所列)。由于内部的防混淆及平滑滤波 器已设定,故上述推荐的时钟频率不应改变。输入时钟的占空比无关紧要,因内部首 先进行了分频。在不外接地时钟时,此端必须接地。 自动静噪(AMCAP):当录音信号电平下降到内部设定的某一阈值以下时,自动静 噪功能使信号衰弱,这样有助于养活无信号(静音)时的噪声。通常本端对地接 1mF 的 电容,构成内部信号电平峰值检测电路的一部分。检出的峰值电平与内部设定的阈值 作比较,决定自动静噪功能的翻转点。无信号时,自动静噪电路不衰减,静音时衰减 6dB。1mF 的电容也影响自动静噪电路对信号幅度的响应速度。本端接 VCCA 则禁止 自动静噪。 3.6.3 ISD4004 录音电路设计 本系统中的语音芯片的输入采用了单端输入的方法,MIC采用小型驻极体麦克风。 由于麦克风的输出信号较小,为了达到语音输入信号要求,采用一个三极管电路来 放大信号。此电路用来把主人不在家的留言信息(例如:“您好,这是XX的自动留言 机,主人不在家,请留言。 ” ) ,预先录入ISD4004芯片中,以便需要时可以随时调用。 图3-11 电话录音电路 要把电话线上的语音信号录制到语音芯片ISD4004中,通过音频输入变压器把电 15 话线上的语音信号耦合到MIC输入端。变压器是变换交流电压、电流和阻抗的器件, 当初级线圈中通有交流电流时,铁芯(或磁芯)中便产生交流磁通,使次级线圈中 感应出电压(或电流) 。变压器由铁芯(或磁芯)和线圈组成,线圈有两个或两个以 上的绕组,其中接电源的绕组叫初级线圈,其余的绕组叫次级线圈。 3.6.4 ISD4004 放音电路设计 ISD4004内部功放驱动能力较低,外接一个LM386可驱动0.5W的喇叭。自动静噪 端AMCAP通过1F电容接地,XCLK接地,使用内部时钟。 LM386是为低电压应用设计的音频功率放大器。增益在内部设定到20可使外部元 件数少,在引脚1和8之间连接电阻和电容可使增益超过200。该集成电路适用于调幅 与调频无线电放大器、便携式磁带重放设备、内部通信电路、电视音频系统、线性 驱动器、超声波驱动器和功率变换电路。其结构图如图3-12所示。 图3-12 LM386结构图 把语音信号加载到电话线上,由于话线中直流电压比较高,而且还有各种信号 音,这些都会影响到语音信号加载到电话线上,因此此电路使用一个耦合变压器作 为隔离器件。如图3-13所示 16 图3-13 电话放音电路 3.7 系统总电路图的设计 综上所述,系统的硬件电路图设计如图3-14所示: 图3-14 硬件电路图 当有电话进来,振铃检测电路检测到振铃信号通过P0.0送给单片机。每来一个 信号单片机就记一次数,当满5次后判断为无人接听并把单片机的P1.0口置低电平接 17 通摘挂机电路实现摘机。摘机后单片机通过P1.4,P1.5对ISD4004的MISO,MOSI读写状 态字和命令字来控制ISD4004的录音和放音。如果在录音过程检测到忙音信号表明对 方已挂机,把单片机的P1.0口置高电平使光电耦合器断开,摘挂机电路断路实现挂 机。其中,按键K1按下时开始录音,按键K2摁下时开始放音,开关SW-1控制着录放 音按键。 从中图3-14可以看到AT89C51和ISD4004之间的连接原理图。单片机的 P2.0、P2.4、P2.7引脚接按键,控制电话录音器工作过程中是否放录音和放音内容; P1.4接ISD4004的串行输出引脚MISO;P1.5接ISD4004的串行输入引脚MSIO,从该引 脚读入放音的地址;P1.7和P3.2分别接ISD4004的串行时钟引脚SCLK和中断引脚 /INT。 图3-14 AT89C51与ISD4004的连接 ISD4004工作于SPI串行接口。SPI协议是一个同步串行数据传输协议,协议假定 微控制器的SPI移位寄存器在SCLK的下降沿动作,因此对ISD4004而言,在时钟上升沿 锁存MOSI 引脚的数据,在下降沿将数据送至MISO 引脚。 18 四、软件设计 4.1 系统主程序设计 本设计的软件部分应用了单片机 AT89C51 的几个管脚,在经过五次振铃后,即 P 0.0 为 5 次低电平,振铃检测结束;此时 P 1.0 为 低电平执行摘机。同时执行放 音功能,放音结束后进行录音。当忙音检测到忙音时,录音结束。P1.0 为高电平, 挂机。流程图如图 4-1 所示: 图 4-1 主程序流程图 开始 初始化 按键检测 振铃检测 自动摘机 播放提示音 录音 自动挂机 忙音检测 19 4.2 录放音程序设计 录放音是通过单片机对ISD4004的MISO和MSIO读取状态字和写入命令字来实现的。 ISD4004端口的状态字和命令字如图4-2所示。 图4-2 SPI端口的控制位 命令字的高 5 位位操作码,低 11 位为操作地址。状态字的最高 2 位分别是溢出 标志 OVF 和信息段末尾标志 ROM,紧跟其后的是行地址计数器的值。根据系统主程 序流程图可设计出单片机控制程序,在主程序中完成一些初始化的工作及录放结束 工作,ISD 上电、掉电等,另外循环扫描键盘,检查启动键是否按下根据录放开关 状态跳转到相应的子程序。下图给出录音、放音子程序的框图,如图 4-3,4-4 所示: 图4-3 录音程序流程图 设置录音地址 从当前地址录音 OVF? STOP? 返回 N N Y Y MISOOVF EOM P0P1P2P3P4P5P6P7P8P9 P10000 MOSIC4C3C2C1C0 A10 A9A8A7A6A5A4A3A2A1A0 Message Cueing(MC) Ignore Address Bit(IAB) Power UP(PU) Play/Record(P/R) RUN 20 图4-4 放音程序流程图 4.3 忙音检测程序设计 由于电话系统中所用到的拨号音、回铃音和忙音的频率均为425475Hz的正弦 波, 只是断续比不同,且在时间上有明显的差异(拨号音为连续信号;忙音为0.35通, 0.35s 断;回铃声为1s通,4s断)。要判断信号音,首先应将处理DTMF信号的MT8888芯 片设置为呼叫处理模式。当选择呼叫处理模式时,MT8888 就不能用于检测DTMF信号 了。MT8888的呼叫处理滤波器是一个带通滤波器,通频带为300510Hz。当信号输入 端有信号音输入时, 如MT8888工作在CP模式,在IRQ/CP 就输出一高电平,使电话呼叫 过程中种信号音经MT8888滤波、限幅后得到方波,并由MT8888的IRQ输出。然后对 MT8888输出的IRQ信号计数5s,拨号音的计数上限为(450+25)*5=2375,拨号音的计数 设置放音地址 从当前地址放音 STOP? EOM? 停止放音 OVF? STOP? START? 返回 N Y N N Y Y Y Y N N 21 下限为(450-25)*5=2175,同理忙音的计数范围为10411212,回铃音的计数范围为 425475,无信号的计数应为零。在本设计中只要检测忙音就可以了,所以计数的上 下限取10411212。 1.单片机定时器0和1 定时和计数功能,由特殊功能寄存器TMOD的控制位C/T进行选择。这两个定时/ 计数器有4种操作模式,通过TMOD的M1和M0选择两个定时/ 计数器的模式0,1和2都相 同,模式3不同如下所述。 2.模式 (1)模式0 将定时器设置成模式0时,类似8048定时器即8位计数器带32分频的预分频器, 模式0工作方式下,定时器,寄存器配置为13位寄存器。当计数从全为1翻转为全为0 时,定时器中断标志位TFn置位。当TRn=1,同时GATE=0,或INTn=1时定时器计数置 位GATE时,允许由外部输入INTn控制定时器,这样可实现脉宽测量TRn为TCON寄存器 内的控制。 该13位寄存器包含THn全部8个位及TLn的低5位TLn的高3位不定,可将其忽略置 位运行标志(TRn)不能清零此寄存器。模式0的操作对于定时器0及定时器1都是相同 的,两个不同的GATE位(TMOD.7和TMOD.3)分别分配给定时器0及定时器1。 (2)模式1:模式1除了使用了THn及TLn全部16位外其它与模式0相同。 (3)模式2:此模式下定时器寄存器作为可自动重装的8位计数器(TLn)。TLn的溢出 不仅置位TFn,而且将THn内容重新装入TLn,THn内容由软件预置重装时,THn内容不 变模式2的操作对于定时器0及定时器1是相同的。 (4)模式3:在模式3中,定时器1停止计数。效果与将TR1设置为0 时相同,此模式 下定时器0的TL0及TH0作为两个独立的8位计数器。模式3时的定时器0,逻辑TL0占用 定时器0的控制位:C/T,GATE,TR0,INT0 及TF0,TH0限定为定时器功能(计数器周 期),占用定时器1的TR1及TF1。此时TH0控制定时器1中断,模式3可用于需要一个额 外的8位定时器的场合。定时器0工作于模式3时,89C51看似有3个定时器/计数器, 当定时器0工作于模式3时,定时器1可通过开关进入退出模式3,它仍可用作串行端 口的波特率发生器或者应用于任何不要求中断的场合。 根据以上内容可以画出忙音检测程序的流程图,如所图4-5所示: 22 图 4-5 忙音检测程序流程图 程序代码 /*主程序*/ SS EQU P1.6 ;片选 SCLK EQU P1.7 ;ISD4004 时钟 MOSI EQU P1.5 ;数据输入 MISO EQU P1.5 ;数据输出 INT EQU INT0 ;中断 AN EQU P2.4 ;执行 STOP EQU P2.7 ;停止 PR EQU P2.1 ;PR=1 录音 PR=0 放音 ;初始化 /*录放音程序的设计*/ ORG 0000H AJMP MAIN MAIN: MOV SP,#10H MOV P1,#0FFH MOV P2,#0FFH MOV P3,#0FFH MOV P0,#0FFH 设置定时器 定时5S 计数器 =1041 计数器 =1212 挂机返回 Y Y N N 23 CLR EA MAII: ACALL DSTOP ;ISD 掉电 MAS0: MOV 3AH,#200 MAS1: JB AN,MAS0 ;等按 AN 键 DJNZ 3AH,MAS1 ACALL UP ;ISD 上电 MOV 20H,#00H ;ISD 低位地址 MOV 21H,#00H ;ISD 高位地址 JB PR,REC ;PR=1 录音 AJMP PLAY ;PR=0 放音 REC: MOV A,20H ;发地址 A7-A0 ACALL ISDX MOV A,21H ;发地址 A9-A8 SETB ACC.7 CLR ACC.6 SETB ACC.5 CLR ACC.4 CLR ACC.3 ACALL ISDX SETB SS ;关片选 REC1: MOV 36H,#10 REC2: ACALL YS50 ;延时录音 DJNZ 36H,REC2 MOV A,#0B0H ;发 1011 0XXX ACALL ISDX SETB SS ;关片选 REC3: MOV 35H,#200 REC4: JNB INT,REC7 ;OVF=0 芯片溢出 JNB AN,REC3 DJNZ 35H,REC4 ACALL STOPP ;停止当前操作 REC5: JNB STOP,REC6 ;中断 RESET JB AN,REC5 ;等待 AN=0 ACALL STOPP ;停止当前操作 AJMP REC1 REC6: CLR SCLK ;时钟 SCLK=0 SETB SS ;关片选 ACALL STOPP ;停止当前操作 24 AJMP MAII REC7: MOV 36H,#15 REC8: ACALL YS50 ;延时录音 JB AN,REC6 ;等待 AN=1 DJNZ 36H,REC8 CLR LED MOV

温馨提示

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

评论

0/150

提交评论