基于单片机的语音录放的软件设计.doc_第1页
基于单片机的语音录放的软件设计.doc_第2页
基于单片机的语音录放的软件设计.doc_第3页
基于单片机的语音录放的软件设计.doc_第4页
基于单片机的语音录放的软件设计.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的语音录放软件设计基于单片机的语音录放软件设计 摘摘 要要 目前 语音合成 语音识别 语音存储和回放技术的应用越来越广泛 尽管利 用一般的单片机测控系统中都有的硬件电路 如 A D D A 存储器等 能完成语 音信号的数字化处理 但是功能比较单一 且效果不是很好 本文采用单片机 AT89C52 与语音芯片 ISD2560 组成的语音存储系统 实现了语 音的录取 回放 同时使用 Matlab 软件进行滤波和频谱分析 可实现简单的语音录 放功能 且输出语音信号音质较好 系统硬件电路简单 调试方便 性价比高 实用性强 关键词 关键词 语音录放系统 滤波 频谱分析 Software Design of Voice recording and Playing Based on Microcontroller Abstract At present speech synthesis speech recognition voice storage and playback technology is more widely applied despite the use of general monitoring and control system in the SCM have the hardware circuit such as the A D D A memory etc can be completed Voice of the digital signal processing but a single function of comparison and the effect is not very good In this paper with the voice chip ISD2560 AT89C52 microcontroller consisting of voice storage system to achieve the acceptance speech playback while using Matlab software to filter and spectrum analysis simple voice recording function and good quality output speech signal System hardware circuit is simple easy adjustment cost effective and practical Key words Voice Recording and Playing System Filter Spectrum Analysis 目目 录录 引引 言言 1 第第 1 章章 绪论绪论 2 1 1 导言 2 1 2 数字语音录放系统的发展 2 第第 2 章章 数字录音的基本原理数字录音的基本原理 3 2 1 模拟音频和数字音频 3 2 2 数字音频技术的概念 3 2 3 语音信号的数字化 4 2 3 1 取样 4 2 3 2 量化 5 2 4 滤波和频谱分析 6 2 4 1 采样定理 6 2 4 2 采样频率 6 2 4 3 语音的录入与打开 6 2 4 4 时域信号的 FFT 分析 7 2 4 5 数字滤波器设计原理 7 第第 3 章章 硬件系统的设计硬件系统的设计 8 3 1 总体方案论证 8 3 2 系统硬件电路设计 8 3 3 器件选择 9 3 3 1 单片机 AT89C52 9 3 3 2 ISD2560 语音芯片 10 第第 4 张张 系统软件设计系统软件设计 13 4 1 系统软件总流程图 13 4 2 AT89C52 单片机对 ISD2560 控制的软件设计 13 4 2 1 录音软件设计 13 4 2 2 放音软件设计 15 4 3 滤波和频谱分析 18 4 3 1 图形用户界面概念 18 4 3 2 图形用户界面设计 18 4 3 3 语音信号的读入与打开 18 4 3 4 语音信号的定点分析 19 致致 谢谢 24 参考文献参考文献 25 附录附录 A 系统总电路图系统总电路图 26 附录附录 B 外文文献外文文献 27 附录附录 C 主要参考文献题录及其摘要主要参考文献题录及其摘要 31 附录附录 D 主程序清单主程序清单 33 插图清单插图清单 图 2 1 数字录音系统图 10 图 2 2 数字放音系统图 10 图 3 1 硬件系统框图 14 图 3 2 硬件总电路图 15 图 3 3 AT89C52 引脚图 18 图 3 5 ISD2560 引脚图 18 图 4 1 软件流程图 20 图 4 2 录音软件程序框图 21 图 4 3 放音软件程序框图 23 图 4 4 语音信号引入与打开图 26 图 4 5 语音信号定点分析图 27 图 5 1 滤波和频谱分析图 29 插表清单插表清单 表 2 1 数字音频质量等级表 11 表 3 1 单片机引脚功能表 17 引引 言言 随着我国经济建设的迅猛发展 公安 铁路 民航 金融等部门对语音记录的 需求不断增长 把语音生成技术用于工业监控系统 自动应答系统 多媒体查询系 统 智能化仪表 办公自动化系统或家用电气产品中 使它们具有语音输出功能 使之能在适当的时候用语音实时报告系统的工作状态 警告信息 提示信息或相关 的解释说明等 无疑在提高人机通信能力 减少对错误处理的遗漏 提高系统性能 降低人们的工作强度等方面都有极大的好处 数字语音录放系统是将现场的语音模拟信号转变为离散的数字信号 然后存储 在一定的存储介质上的一种录音方式 它也是数字语音处理技术中常用的一种方式 采用数字录音技术 有较高的效率和自动化程度 录音时间也长 并可将信息长期 保存于存储介质中 同时对语音信息进行编辑整理非常方便 可快速查找 实现数 字语音录放系统可以采用PC机实现和嵌入式系统实现两种方式 当使用PC机的时候 由于它的体积庞大 耗电高 造价也高 并且在某些情况下系统的稳定性得不到保 证所以用PC机来实现前述的各项功能和操作 就受到了一定的限制 而嵌入式系统 的体积小 供电方便 造价低 稳定性也高 所以得到了广泛的应用 第第 1 章章 绪论绪论 1 1 导言 目前基于单片微机的语音系统的应用越来越广泛 如电脑语音钟 语音型数字 万用表 手机话费查询系统 排队机 监控系统语音报警以及公共汽车报站器等等 本文用单片机 AT89C52 和录放时间达 60S 的数码语音芯片 ISD2560 设计了一套智 能语音录放系统 实现了语音的录取 滤波和频谱分析 回放 通过软件的修改还 可以实现整段录取 循环播放 而且不必使用专门的 ISD 语音开发设备 1 2 数字语音录放系统的发展 数字语音录放是指利用数字技术对语音信号进行采集 处理 并且在一定存储 设备中进行存储 并可在需要时进行输出的过程 相对于模拟设备来说 数字设备 易于集成 小型化 成本更低 同时更为稳定 且操作更为直接 方便 使得数字 语音录放系统目前在各种领域中都得到了广泛的应用 例如监控环境中使用的语音 采集系统 再如家庭或学校中使用的语音复读机等 都可看作是数字语音录放系统 的典型应用 然而目前一般的数字语音录放系统中 对语音只是进行简单的采集 存储和播 放 虽然可以较大程度上保证语音的保真度 但过多的语音数据会造成对大量存储 设备的需求 对于大型系统 可通过采用大容量的硬盘 甚至大规模的磁盘阵列来 解决 但是对于小型的设备 例如便携式的语音复读机 由于容量有限 则不能采 用同样的方法 近年来 语音信号处理技术研究的突飞猛进 为数字语音录放系统提供了新的 发展空间 对语音的采集 处理从以前简单的波形编码转变为进行参数编码 压缩 从而大大减少了存储数据 举例来说 原始语音一般都是采用 8KHz 抽样 16bits 的 线性 PCM 编码进行采集 在一般的系统中就直接将采集后的数据进行存储 而如果 采用参数编码对采集后的数据进行压缩 存储量则可以大大减少 当需要恢复语音 时 可利用编码后的参数进行合成 可以得到质量令人满意的结果 第第 2 章章 数字录音的基本原理数字录音的基本原理 2 1 模拟音频和数字音频 声音是由物体振动产生的 振动发声的物体称为声源 在空气中 声源的振动 会使周围的空气质点产生一定的疏密变化 并以一定的速度传播出去形成声波 因 此声波是疏密波 也称为纵波 包围地球表面的大气层 随高度的不同而存在不同的大气压强 有声音存在时 大气压强会有微弱的起伏变化 即在静态大气压强上叠加了变化的分量 这个变化 的分量称为声压p 通常声压的大小用它的有效值P表示 单位是Pa 人耳刚好能听 到的声压约为2 10 5Pa 在房间中大声说话 在相距1米处的声压约为0 05 0 1Pa 声音在1秒间所传播的距离称为声速c 单位是米 秒 m s 在室温下 1个大气压的 空气中 声速约为340m s 当声源作周期性振动 所发出的声波也是做同样的周期性 振动 声源或声波每秒钟内的振动次数称为声音的频率f 单位是赫兹Hz 人耳能听 到的声音频率范围是2OHz 20kHz 单位时间内穿过垂直声波传播方向单位面积的声能称为声强 单位是瓦 平方米 W m2 人耳对声振动的感受 在频率及声压级方面都有一定的范围 在这个范围 以外的声振动人耳是听不到的 人耳能感觉到的声振动约在20Hz 20kHz之间 称为 可听声 紊乱断续或统计上随机的声音称为噪声 对于不需要的声音也称为噪声 噪声也用它的声压级dB数来表示它的大小 称为噪声级 在寂静的环境里 人耳能 分辨出轻微的声音 但在嘈杂的环境中 这些轻微的声音就被淹没掉了 由于第一 个声音存在而使第二个声音提高的现象称为掩蔽效应 掩蔽效应对数字音频编码起 到重要作用 2 2 数字音频技术的概念 模拟量是指在时间上和幅度上都是连续的量 声波就是声压幅度随时间连续变 化的模拟量 它由传声器转换成声频信号后 也是时间和电压幅度都连续变化的模 拟信号 如果幅度只是一些特定值的阶梯波 则是时间连续而幅度不连续的信号 幅度连续而时间不连续的信号是脉冲幅度 PAM 调制信号 时间和幅度都不连续的 信号是数字信号 从模拟磁带录音机和数字磁带录音机的比较来看 模拟录音存在 很多缺点 1 在录音 编辑和放音过程中混入的各种噪音不能被分离出来 形成对信 号的损伤 2 录音媒体的信噪比可成为记录信号信噪比的一部分 3 录音磁头 放音磁头等呈现的非线性会使记录的信号也呈现非线性 4 驱动 转动机械系统的不稳定会造成抖晃 数录音是将模拟信号转变为离散的数字信号后进行记录的 对于需要多次转接 复制的模拟录音 每转接 复制一次 信号的质量下降程度就要累加一次 而数字 录音就没有这一问题 数字录音具有下列优占 1 数字化的标准 取样频率 量化比特数 确定以后 性能的界限也就确定了 性能是稳定的 2 录音是以 0 或 1 数字进行的 放音时 只需判断出 0 或 1 即判断脉冲 有 无 即可 因而记录媒体的信噪比与放音信噪比无直接的关系 3 许多器件不需要具有线性 4 驱动 转动系统的不稳定 由于时钟脉冲信号和存储器的作用 不会造 成晃 防混叠低 通滤波器 取样 保持 A D 变 换器 交织纠错码处理 模拟声频信号 数字音频信号记录 图 2 1 数字录音系统图 模拟恢复低 通滤波器 窗口 电路 D A 变换器 纠错码处理反交织重放 数字声频信号 模拟声频信号 图 2 2 数字放音系统图 放音 录音 2 3 语音信号的数字化 将模拟信号转变成数字信号 需经过取样 量化和编码三个步骤 2 3 1 取样 1 取样定理 模拟声频信号可用幅度对时间的关系来表示 将模拟信号的幅度以一定的时间 间隔取得样值 称为取样 或采样 抽样 取样的时间间隔称为取样周期 每秒内取 样的次数称为取样频率 根据取样定理 当取样频率fs为被取样信号最高频率fh的两 倍时 则被取样信号可以被恢复 即fs 2fh 2 取样频率 取样频率的选取应考虑以下两点 1 声频信号的最高频率 2 防混叠低通滤波器的截止特性 数字音频的质量与采样频率和量化精度有关 数字音频可分为以下几个质量等级 表 2 1数字音频质量等级表 信号类型频率范围 Hz 采样频率 KHz量化精度 位 电话语音200 340088 宽带音频50 70001616 调频广播20 15K37 816 高质量音频20 20K44 116 由于本系统录音的对象是人说话时的语音 人的语音频率大概在300Hz至 3 4KHz之间 根据取样定理 采样频率应该高于6 8K Hz 从表3 1可以看出 普通 语音选取的是8 KHz 但为了提高声音的保真度 减少滤波实现的难度 同时与微机 的录音频率最大程度地接近 所以系统选取采样频率为11 025KHz 3 混叠的防止 经过取样后 原信号的频谱分布要有改变 如果取样频率小于信号最高频率的 两倍 或信号的实际最高频率超过了f 则会产生频谱混叠现象 以后就无法将原h 信号复原 并且出现混叠噪声 为了将声频信号严格限制在f 以下 应先让原信号h 通过一个高频截止频率为f 的低通滤波器后再进行取样 h 4 取样保持电路 取样保持电路是在A D变换器之前 为使取样保持一定时间而设的 由于A D变 换器的转换需要一定时间才能完成 而输入的模拟信号是不断变化的 因此取样值 必须保持一定时间 5 取样产生的孔径效应 取样定理所叙述的由取样的PAM 信号可以完全恢复原模拟信号是有条件的 即 取样脉冲的宽度 即脉冲所占时间 应为无限小 但实际的取样脉冲都有一定的宽度 这就会使恢复的模拟信号的高频特性产生失真 这种效应称为孔径效应 实验证明 当取样脉冲宽度为取样周期的1 4时 孔径效应所产生的高频损失约为0 2dB 人耳对 它不能察觉到 不会成为问题 2 3 2 量化 1 量化的概念 将模拟信号的取样值 经 四舍五入 的方法转换成一种数字信号的过程称为量 化 在数字语音技术中 我们采用二进制表示一个数 即用 1 0 来表示一个 数 逢2进1 用电路的接通和断开即可实现 采用二进制时的有效位数称为比特数 或位数 在进行舍入运算的过程中会产生舍入误差 由取样定理知道 如果取样频率能满足这个定理 就会完全恢复原波形 但要 真正完全恢复原波形 则需要无穷多位数 在通常的数字系统中 每个取样点都会 产生舍入误差 并且存在与这种舍入误差相应的失真和噪声 称为量化噪声或量化 失真 量化阶 梯数 或量化级数 是指量化所能取值的数目 以二进制量化时 位 数越多 量化阶梯数也就越多 16位的量化阶梯数为65536个 量化误差己很小 对 于量化阶梯相等的量化方法称为线性量化或均匀量化 不相等则称为非线性量化或 不均匀量化 均匀量化的量化噪声也是恒值 因此信号幅度大时 信噪比高 信号幅 度小时 信噪比低 噪声较明显 非均匀量化在信号幅度小的时候 量化阶梯高度 也小 信噪比可以较好 信号幅度大的部分 量化阶梯高度也大 虽然量化噪声大 但由于人耳的掩蔽效应 对信号幅度大时增大的噪声会感觉不出来 由表2 1 可以看 出 对于普通语音 量化精度选取8位就可以满足数字化语音质量的要求 因此本系 统的量化位数就选取8位 2量化噪声 22 2 2 2 0 12 21212 M NV dV 2 1 当声噪信号为正弦波时 并且峰峰值为1 则在单位负载上的功率S为 2 2 于是 可以算出以dB表示的信噪比为 2 3 6 021 76S NM 可见 量化比特数M越大 信噪比越好 量化噪声是均匀分布在0 fs 2的频带中 另外量化噪声的振幅为常数 它等于 不随信号大小而改变 因而当信号很大时 系统的信噪比很高 但当信号很小时 则量化噪声对系统的音质影响就将十分明显 量化噪声的减低对于量化噪声可采用在信号中加给高频抖动信号的方法 量化后 再减去高频抖动信号 而使量化噪声白噪声化 量化噪声随量化比特数增大而相应 减小 但不能减为零 量化噪声是不同于白噪声 即等带宽能量相等的噪声 的一种高 频噪声 它是由比较少的孤立频谱重叠而成的噪声 因此在听感上与白噪声不同 是一种较粗糙的 刺耳的 称为颗粒性噪声的声音 可以将一种称为高频脉动的 与量化阶梯高度相等的小振幅白噪声与信号重叠 经量化后 颗粒性噪声即被白噪 声化 使听感变好 理论上将与量化阶梯高度v相等的均匀分布的高频抖动在量化前先与信号相重叠 量化后再将高频抖动除去 量化噪声就成为宽度为V 电功率v2 12的均匀分布的白 噪声 另外 还可由过取样减低量化噪声 利用非均匀量化的输入输出特性也可减 低量化噪声 2 4 滤波和频谱分析 2 4 1 采样定理 在进行模拟 数字信号的转换过程中 当采样频率最大值大于信号中最高频率 fmax的2 56倍时 即 fs max 2 56fmax 则采样之后的数字信号完整地保留了原始信 号中的信息 2 4 2 采样频率 采样频率是指计算机每秒钟采集多少个声音样本 采样频率越高 即采样的间隔时 间越短 则在单位时间内计算机得到的声音样本数据就越多 对声音波形的表示也 2 2 0 11 S sin 22 d 越精确 只有采样频率高于声音信号最高频率的两倍时 才能把数字信号表示的声 音还原成为原来的声音 程序中采用44 1kHz采样频率 2 4 3 语音的录入与打开 在MATLAB中 y fs bits wavread Blip N1 N2 用于读取语音 采样值放在向 量y中 fs表示采样频率 Hz bits表示采样位数 N1 N2 表示读取从N1点到N2点的 值 X wavrecord t fs ch 用来采集声音 t表示录音时间 fs采样频率 ch声道 2 4 4 时域信号的FFT分析 FFT即为快速傅氏变换 是离散傅氏变换的快速算法 它是根据离散傅氏变换的 奇 偶 虚 实等特性 对离散傅立叶变换的算法进行改进获得的 在MATLAB的信号处理工具箱中函数FFT和IFFT用于快速傅立叶变换和逆变换 函数FFT用于序列快速傅立叶变换 其调用格式为y fft x 其中 x是序列 y是序 列的FFT x可以为一向量或矩阵 若x为一向量 y是x的FFT且和x相同长度 若x为 一矩阵 则y是对矩阵的每一列向量进行FFT 如果x长度是2的幂次方 函数fft执行 高速基 2FFT算法 否则fft执行一种混合基的离散傅立叶变换算法 计算速度较慢 函数FFT的另一种调用格式为y fft x N 式中 x y意义同前 N为正整数 函数执 行N点的FFT 若x为向量且长度小于N 则函数将x补零至长度N 若向量x的长度大 于N 则函数截短x使之长度为N 若x 为矩阵 按相同方法对x进行处理 2 4 5 数字滤波器设计原理 数字滤波是数字信号分析中最重要的组成部分之一 与模拟滤波相比 它具有 精度和稳定性高 系统函数容易改变 灵活性强 便于大规模集成和可实现多维滤 波等优点 在信号的过滤 检测和参数的估计等方面 经典数字滤波器是使用最广 泛的一种线性系统 数字滤波器的作用是利用离散时间系统的特性对输入信号波形 或频谱 进行加工处理 或者说利用数字方法按预定的要求对信号进行变换 第第 3 章章 硬件系统的设计硬件系统的设计 3 1 总体方案论证 利用单片机及其外围硬件电路 如 A D D A 存储器等 就能完成语音信号 的数字化处理 实现语音的存储与回放 及单片机测控系统的语音提示报警及语音 提示操作 但是语音信号容易受到外界干扰而失真 并且信号的压缩存储比较复杂 硬件电路不宜调试 直接采用单片机 AT89C52 与专用的语音处理芯片 ISD2560 设计实现语音存储与 回放 实现语音的分段录取 组合回放 语音信号抗干扰能力强 存储方便 调试 简单 还可以作为语音服务的子系统 所以 选择此方案 本设计以公交报站为例 基于语音回放系统 可实现简单的公交报站功能 系 统框图如 3 1 图所示 图 3 1 系统框图 图 3 1 硬件系统框图 3 2 系统硬件电路设计 本系统主要可分为四个部分 单片机控制部分 语音播报部分 液晶显示部分 和键盘输入部分 采用 52 单片机作为主控制芯片 利用 ISD2560 实现语音报站 显 示采用 OCMJ2X8 液晶显示模块 简单易行且控制方便 系统采用的微控制器是美国 ATMEL 公司生产的低电压 高性能 CMOS 8 位 单片机 片内含 8k bytes 的可反复擦写的 Flash 只读程序存储器和 256 bytes 的 随机存取数据存储器 RAM 器件采用 ATMEL 公司的高密度 非易失性存技术 生产 与标准 MCS 51 指令系统及 8052 产品引脚兼容 片内置通用 8 位中央处理 器 CPU 和 Flash 存储单元 功能强大 AT89C52 单片机适合于许多较为复杂控 制应用场合 该单片机的 P1 口是一个双向 I O 口 其中 P1 2 P1 7 口内部提供了上拉电阻 P1 0 P1 1 需外部上拉 P1 0 P1 1 同时也是片内精密比较器的正输入端 AIN 0 和负输入端 AIN1 P3 口是 7 个带有内部上拉电阻的双向口 数码语音芯片选用的是 ISD2500 系列单片语音录放集成电路 ISD2560 它具有 抗断电 音质好 使用方便 无须专用的开发系统等优点 ISD2560 与单片机 AT89C52 的接口电路以及外围电路如图 5 1 所示 单片机 的 P1 口 P3 4 和 P3 5 分别与 ISD2560 的地址线相连 用以设置语音段的起始 地址 P3 0 P3 3 用以控制录放音状态 P3 7 连接一按键 供录音时使用 由 TL77 05 构成可靠复位及电源监视电路 硬件总电路图如 3 2 所示 单片机控制 ISD2560 键盘输入 显示部分 A0 M0 1 A1 M1 2 A2 M2 3 A3 M3 4 A4 M4 5 A5 M5 6 A6 M6 7 A7 8 A8 9 A9 10 P R 27 EOM 25 PD 24 CE 23 SP 14 SP 15 MIC REF 18 MIC IN 17 XCLK 26 ANA IN 20 ANA OUT 21 AGC 19 U2 ISD2560 C9 0 1 C8 10 16v RSTrecordKey R6 10K R7 10K R5 10K Q 5 Q 6 VCC 8 SENSE 7 A2 2 A1 1 C1 3 GND 4 U3 TL 7750CP 12MHz C1 30P C2 30P 5 LED 1 LED 2 Vss 3 VDD 4 DB0 5 DB1 6 DB2 7 DB3 8 DB4 9 DB5 10 DB6 11 DB7 12 REQ 13 BUSY 14 RESET 15 MIC 16 OCMJ2 8 RT1 17 RT2 18 U4 EA VP 31 X1 19 X2 18 RESET 9 RD P3 7 17 WR P3 6 16 INT0 P3 2 12 INT1 P3 3 13 T0 P3 4 14 T1 P3 5 15 P10 T 1 P11 T 2 P12 3 P13 4 P14 5 P15 6 P16 7 P17 8 P00 39 P01 38 P02 37 P03 36 P04 35 P05 34 P06 33 P07 32 P20 21 P21 22 P22 23 P23 24 P24 25 P25 26 P26 27 P27 28 PSEN 29 ALE P 30 TXD P3 1 11 RXD P3 0 10 U1 AT89C52 p1 0 p1 1 p1 2 p1 3 p1 4 p1 5 p1 6 p1 7 p1 8 p1 9 p1 0 SPEAKER p1 1 C3 1u p1 2 C6 4 7u p1 3 C4 0 22 u p1 4 C5 0 22u p1 5 p1 6 p1 7 p1 9 R3 1K p1 8 R2 10k R4 470k R1 10K p2 1 p2 1 5 MK1 MIC C7 47u p3 0 p3 1 p3 2 p3 3 p3 4 p3 5 p3 6 p3 7 p3 0 p3 1 p3 2 p3 3 p3 4 p3 5 p3 6 p3 7 1 2 3 4 5 6 7 8 16 15 14 13 12 11 10 9 R9 5 R10 5K p2 1 p4 1 p4 0 p4 0 p4 1 5 PlayKey P2 2 P2 3 P2 2 P2 3 P2 4 P2 4 P2 5 P2 5 图 3 2 硬件总电路图 3 3 器件选择器件选择 3 3 1 单片机 AT89C52 AT89C52 是美国ATMEL 公司生产的低电压 高性能CMOS 8位单片机 片内含 8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器 器 件采用ATMEL 公司的高密度 非易失性存储技术生产 与标MCS 51指令系统及 8052产品引脚兼容 片内置通用8位中央处理器和Flash存储单元 功能强大AT89C52 单片机适合于许多较为复杂控制应用场合 主要性能参数 与MCS 51产品指令和引脚完全兼容 8k字节可重擦写Flash 闪速存储器 1000 次擦写周期 全静态操作 0Hz 24MHz 三级加密程序存储器 256 8字节内部 RAM 32个可编程 I O口线 3个16位定时 计数器 8个中断源 可编程串行 UART 通道 低功耗空闲和掉电模式 图3 3 AT89C52引脚分布 功能特性概述 AT89C52 提供以下标准功能 8k字节Flash 闪速存储器 256字节内部RAM 32个I O 口线 3个16位定时 计数器 一个6向量两级中断结构 一个全双工串行通信口 片 内振荡器及时钟电路 同时 AT89C52可降至0Hz的静态逻辑操作 并支持两种软件 可选的节电工作模式 空闲方式停止CPU的工作 但允许RAM 定时 计数器 串行通 信口及中断系统继续工作 掉电方式保存RAM 中的内容 但振荡器停止工作并禁止 其它所有部件工作直到下一个硬件复位 引脚功能说明 引脚功能说明 P0 口口 P0口是一组8位漏极开路型双向I O口 也即地址 数据总线复用口 在访 问外部数据存储器或程序存储器时 这组口线分时转换地址 低8位 和数据总线复 用 在访问期间激活内部上拉电阻 P1 P3 口 P3口是一组带有内部上拉电阻的8 位双向I O 口 P3口除了作为一般的 I O 口线外 更重要的用途是它的第二功能 如表3 1所示 表 3 1 单片机引脚功能表 RST 复位输入 ALE PROG 地址锁存允许端 PSEN 程序储存允许 PSEN 输出是外部程序存储器的读选通信号 EA VPP 外部访问允许 XTAL1 振荡器反相放大器的及内部时钟发生器的输入端 XTAL2 振荡器反相放大器的输出端 3 3 2 ISD2560 语音芯片 ISD2560 的介绍的介绍 ISD2560 语音芯片是美国 Winbond 公司产品 是 ISD 系列单片语音录放集成电 路的一种 这是一种永久记忆型语音录放电路 录音时间为 60s 可重复录放 10 万 次 芯片采用多电平直接模拟量存储专利技术 省去了 A D D A 转换器 每个采 样值直接存储在片内单个 EEPROM 单元中 因此能够非常真实 自然地再现语音 音乐 音调和效果声 避免了一般固体录音电路因量化和压缩造成的量化噪声和 金 属声 ISD2560 集成度较高 内部包括前置放大器 内部时钟 定时器 采样时钟 滤波器 自动增益控制 逻辑控制 模拟收发器 解码器和 480K 字节的 E2PRO M 等 内部原理框图及引脚排列如图 3 4 所示 ISD2560 控制电平与 TTL 电平兼容 接口简单 使用方便 图 3 4 ISD2560 内部原理图 ISD2560 的引脚功能的引脚功能 ISD2560 具有 28 脚 SOIC 和 28 脚 PDIP 两种封装形式 图 3 5 所示是其引脚排 列 各引脚的主要功能如下 电源 电源 VCCA VCCD 为了最大限度的减小噪声 芯片内部的模拟和数字电路使 用不同的电源总线 并且分别引到外封装上 地线 地线 VSSA VSSD 由于芯片内部使用不同的模拟和数字地线 因此 这两脚 图 3 5 ISD2560 引脚图 最好通过低阻抗通路连接到地 节电控制 节电控制 PD 该端拉高可使芯片停止工作而进入节电状态 片选 片选 CE 该端变低且PD也为低电平时 允许进行录 放操作 XTAL1 振荡器反相放大器的及内部时钟发生器的输入端 录放模式 录放模式 P R 该端状态一般在 CE 的下降沿锁存 高电平选择放音 低电平选 择录音 录音时 由地址端提供起始地址 直到录音持续到 CE 或 PD 变高 或内存 溢出 如果是前一种情况 芯片将自动在录音结束处写入 EOM 标志 放音时 由地 址端提供起始地址 放音持续到 EOM 标志 如果 CE 一直为低 或芯片工作在某些 操作模式 放音则会忽略 EOM 而继续进行下去 直到发生溢出为止 信息结尾标志 信息结尾标志 EOM EOM标志在录音时由芯片自动插入到该信息段的结尾 溢出标志 溢出标志 OVF 芯片处于存储空间末尾时 该端输出低电平脉冲以表示溢出 之后该端状态跟随 CE 端的状态 直到 PD 端变高 话筒输入 话筒输入 MIC 该端连至片内前置放大器 话筒参考 话筒参考 MIC REF 该端是前置放大器的反向输入 自动增益控制 自动增益控制 AGC AGC 可动态调整前置增益以补偿话筒输入电平的宽幅变 化 这样在录制变化很大的音量 从耳语到喧嚣声 时就能保持最小失真 模拟输出模拟输出 ANA OUT 前置放大器输出 扬声器输出 扬声器输出 SP SP 可驱动 16 以上的喇叭 ISD2560 虽然提供了地址输入线 但它的内部信息段的地址却无法读出 本系 统采用单片机来控制 不需读出信息地址 而直接设置信息段起始地址 其实现方 式有两种 一是由于 ISD2560 的地址分辨率为 100 ms 所以可用单片机内部定时 器定时 100 ms 然后再利用一计数器对片机定时次数进行计数 则计数器的计数值 为语音段所占用的地址单元 该方式能充分利用 ISD2560 内部的 E2PROM 在字段 较多时可利用该方法 二是语音字段如果较少 则可根据每一字段的内容多少 直 接分配地址单元 一般按每 1 s 说 3 个字计算 60 s 可说 180 个字 再根据 ISD2560 的地址分辨率为 100 ms 即可计算出语音段所需的地址单元数 本文采用 第二种方式 第第 4 章章 系统软件设计系统软件设计 4 1 系统软件总流程图 如 4 1 图所示 系统上电后 先初始化 然后实时的进行按键扫描 当录音键 按下时 调用录音子程序开始录音 按下放音键后 调用放音子程序 4 2 AT89C52 单片机对 ISD2560 控制的软件设计 4 2 1 录音软件设计 录音时 按下录音键 recordkey 单片机通过口线设置语音段的起始地址 再使 PD 端 P R 端和端为低电平启动录音 结束时 松开按键 单片机又让端回到 高电平 即完成一段语音的录制 同样的方法可录取第二段 第三段等等 值得注 意的是 录音时间不能超过预先设定的每段语音的时间 程序流程图如下 开始 初始化 是否有键按下 结束 调用放音程序 Y N 图 4 1 软件流程图 是否在录音 Y Y N 运行录音程序 程序清单如下 录音程序 RECORD MOV R7 00H MOV P1 00H CLR P3 4 ISD2560 地址初始化 CLR P3 5 CLR P3 2 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 图 4 2 录音软件程序框图 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 SETB P3 3 RET JMP START 4 2 2 放音软件设计 放音时 根据需播放的语音内容 找到相应的语音段起始地址 并通过口线送 出 再将 P R 端设为高电平 PD 端设为低电平 并让 CE 端产生一负脉冲启动放 音 这时单片机只需等待 ISD2560 的信息结束信号 即 EOM 的产生 信号为一负 脉冲 在负脉冲的上升沿 该段语音才播放结束 所以单片机必须要检测到 EOM 的上升沿才能播放第二段 下面给出 5 段语音进行组合播放的源程序 播放时 通 过放音键实现分段播放 实际需要时 可对该程序进行扩充 程序流程图如下 图 4 3 放音软件程序框图 程序清单如下 放音源程序 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 AJMP SHOW1 JMP PBACK PNEX1 CJNE A 2 PNEX2 MOV P1 20H 若 A 2 放第二段 CLR P3 4 CLR P3 5 CALL SOUND AJMP SHOW2 JMP PBACK PNEX2 CJNE A 3 PNEX3 MOV P1 40H 若 A 3 放第三段 CLR P3 4 CLR P3 5 CALL SOUND AJMP SHOW3 JMP PBACK PNEX3 CJNE A 4 PNEX4 MOV P1 60H 若 A 4 放第四段 CLR P3 4 CLR P3 5 CALL SOUND AJMP SHOW4 JMP PBACK PNEX4 CJNE A 5 PBACK MOV P1 80H 若 A 5 放第五段 CLR P3 4 CLR P3 5 CALL SOUND AJMP SHOW5 PBACK RET SOUND CLR P3 3 CE 端形成一负脉冲启动播放 NOP NOP SETB P3 3 TURN1 JB P3 1 TURN1 等待语音段结束信号 TURN2 JNB P3 1 TURN2 等待 EOM 信号的上升沿 RET JMP START 4 3 滤波和频谱分析 4 3 1 图形用户界面概念 图形用户界面或图形用户接口 Graphical User Interface GUI 是指采用图形方式 显示的计算机操作环境用户接口 与早期计算机使用的命令行界面相比 图形界面 对于用户来说更为简便易用 GUIDE是Matlab提供的图形用户界面开发环境 提供 了一系列用于创建图形用户界面的工具 从而简化界面布局和编程工作 4 3 2 图形用户界面设计 1 GUI设计模板 在MATLAB主窗口中 选择File菜单中的New菜单项 再选择其 中的GUI命令 就会显示图形用户界面的设计模板 MATLAB为GUI设计一共准备 了4种模板 分别是Blank GUI 默认 GUI with Uicontrols 带控件对象的GUI模板 GUI with Axes and Menu 带坐标轴与菜单的GUI模板 与Modal Question Dialog 带模 式问话对话框的GUI模板 当用户选择不同的模板时 在GUI设计模板界面的右边 就会显示出与该模板对应的GUI图形 2 GUI设计窗口 在GUI设计模板中选中一 个模板 然后单击OK按钮 就会显示GUI设计窗口 选择不同的GUI设计模式时 在GUI设计窗口中显示的结果是不一样的 GUI设计窗口由菜单栏 工具栏 控件 工具栏以及图形对象设计区等部分组成 GUI设计窗口的菜单栏有 File Edit View Layout Tools和Help 6个菜单项 使用其中的命令可以完成图形 用户界面的设计操作 3 GUI设计窗口的基本操作 在GUI设计窗口创建图形对象 后 通过双击该对象 就会显示该对象的属性的编辑器 例如 创建一个Push Button对象 并设计该对象的属性值 4 3 3 语音信号的读入与打开 下面的一段程序是语音信号在 MATLAB 中的最简单表现 它实现了语音的读入 打开 以及绘出了语音信号的波形频谱图 x fs bits wavread ding wav 1024 5120 sound x fs bits X fft x 4096 magX abs X angX angle X subplot 221 plot x title 原始信号波形 subplot 222 plot X title 原始信号频谱 subplot 223 plot magX title 原始信号幅值 subplot 224 plot angX title 原始信号相 位 程序运行可以听到声音 得到的结果如图 4 4 所示 图 4 4 语音信号的读入与打开图 4 3 4 语音信号的定点分析 已知一个语音信号 数据采样频率为 100Hz 试分别绘制 N 128 点 DFT 的幅 频图和 N 1024 点 DFT 幅频图 编程如下 x wavread ding wav sound x fs 100 N 128 y fft x N magy abs y f 0 length y 1 fs length y subplot 221 plot f magy xlabel 频率 Hz ylabel 幅值 title N 128 a grid subplot 222 plot f 1 N 2 magy 1 N 2 xlabel 频率 Hz ylabel 幅值 title N 128 b grid fs 100 N 1024 y fft x N magy abs y f 0 length y 1 fs length y subplot 223 plot f magy xlabel 频率 Hz ylabel 幅值 title N 1024 c grid subplot 224 plot f 1 N 2 magy 1 N 2 xlabel 频率 Hz ylabel 幅值 title N 1024 d grid 运行结果如图 4 5 所示 图 4 5 语音信号定点分析图 第第 5 章章 系统仿真系统仿真 本系统包括硬件和软件两部分 由于条件有限 无法实现全部仿真 所以只进 行了软件仿真 在软件调试中 我采用 Matlab 软件进行程序调试 首先分别调试各个 功能程序 再对整个程序进行调试 以便修改错误码 具体的调试方法如下 将前 面的录音经读取 然后进行滤波和频谱分析 最后输出到放音部分 程序设计如下 其中Wc为其3dB边缘频率 wc w1 w2 w1 wc w2 x wavread ding wav sound x N 5 wc 0 3 0 6 b a butter N wc X fft x subplot 321 plot x title 滤波前信号的波形 subplot 322 plot X title 滤波前信号的频谱 y filter b a x Y fft y subplot 323 plot y title IIR滤波后信号的波形 subplot 324 plot Y title IIR滤波后信号的频谱 z fftfilt b x 10 Z fft z subplot 325 plot z title FIR 滤波后信号的波形 subplot 326 plot Z title FIR 滤波后信号的频谱 得到结果如图 5 1 所示 图 5 1 滤波和频谱分析图 结论与展望结论与展望 本系统以 AT89C52 单片机为核心部件 结合专用的语音处理芯片 ISD2560 设计 实现语音存储与回放 实现语音的录取 滤波和频谱分析 放音 语音信号抗干扰 能力强 存储方便 调试简单 还可以作为语音服务的子系统 结合软件实现了语 音录放的基本功能 达到了本次设计的目的 在设计中我们必须首先熟悉和掌握单片机的结构及工作原理 单片机的接口技术 及相关外围芯片的外特性 控制方法 以单片机核心的电路设计的基本方法和技术 了解表关电路参数的计算方法 单片机不是完成某一个逻辑功能的芯片 而是把一个 计算机系统集成到一个芯片上 概括的讲 一块芯片就成了一台计算机 它的体积 小 质量轻 价格便宜 为学习 应用和开发提供了便利条件 同时 学习使用单 片机了解计算机原理与结构的最佳选择 目前单片机渗透到我们生活的各个领域 几乎很难找到哪个领域没有单片机的踪迹 导航装置 飞机上各种仪表的控制 计 算机的网络通讯与数据传输 工业自动化过程的实时控制和数据处理 广泛使用的 各种智能 IC 卡 民用豪华轿车的安全保障系统 录像机 摄像机 全自动洗衣机的 控制 以及程控玩具 电子宠物等等 这些都离不开单片机 更不用说自动控制领 域的机器人 智能仪表 医疗器械了 因此 单片机的学习 开发与应用将造就一 批计算机应用与智能化控制的科学家 工程师 随着单片机的广泛应用 将大大促 进各领域的技术更新 向自动化 小型化 智能化方向迈进 而对于我们来说 我 们这代人的目标和任务是把这些高科技产品更升一个层次 毕业设计是培养学生综合运用所学知识 发现 提出 分析和解决实际问题 锻炼 实践能力的重要环节 是对学生实际工作能力的具体训练和考察过程 随着科学技术 发展的日新日异 单片机已经成为当今计算机应用中空前活跃的领域 在生活中可 以说得是无处不在 因此作为二十一世纪的大学来说掌握单片机的开发技术是十分 重要的 通过这次毕业设计 无论从选题到定稿 从理论到实践都使我学到了很多东西 它不仅可以巩固了以前所学过的知识 而且学到了很多在书本上所没有学到过的知 识 同时也明白了理论与实践相结合的重要性 只有理论知识是远远不够的 只有 把所学的理论知识与实

温馨提示

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

评论

0/150

提交评论