毕业设计毕业论文基于DS18B20的语音温度计的设计.doc_第1页
毕业设计毕业论文基于DS18B20的语音温度计的设计.doc_第2页
毕业设计毕业论文基于DS18B20的语音温度计的设计.doc_第3页
毕业设计毕业论文基于DS18B20的语音温度计的设计.doc_第4页
毕业设计毕业论文基于DS18B20的语音温度计的设计.doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

本科生毕业设计 基于基于 DS18B20 的的语语音温度音温度计计的的设计设计 独独 创创 性性 声声 明明 本人郑重声明 所呈交的毕业论文是本人在指导老师指导下取得的研究成 果 除了文中特别加以注释和致谢的地方外 论文中不包含其他人已经发表或撰 写的研究成果 与本研究成果相关的所有人所做出的任何贡献均已在论文中作 了明确的说明并表示了谢意 签名 年 月 日 授权声明授权声明 本人完全了解许昌学院有关保留 使用本科生毕业论文的规定 即 有权 保留并向国家有关部门或机构送交毕业论文的复印件和磁盘 允许毕业论文被 查阅和借阅 本人授权许昌学院可以将毕业论文的全部或部分内容编入有关数 据库进行检索 可以采用影印 缩印或扫描等复制手段保存 汇编论文 本人论文中有原创性数据需要保密的部分为 签名 年 月 日 指导教师签名 年 月 日 摘摘 要要 温度是一种最基本的环境参数 人们的生活与环境的温度息息相关 温度 测量在人们的日常生活中扮演 着重要的角色 随着时代的进步和科学技术的 发展 单片机技术已经普及到我们的生活 工作 科研各个领域 已经成为 一种比较成熟的技术 本设计将介绍一种基于单片机控制的语音温度计 测 量结果经 LCD 显示出来 并通过语音的方 式播报 可以发挥听觉的优势 弥 补完全用视觉信号传递信息的不足 关键词关键词 温度测量 DS18B20 语音报温 ABSTRACT Temperature is one of the basic environmental parameter people s life is inseparable from temperature of environment Temperature measurement plays an important role in people daily life With the era of progress and development single chip technology has spread to our living working research and other fields and it has become a relatively mature technology This paper will introduce a single chip microcomputer based control of phonetic thermometer The measurement results can be shown through LCD liquid crystal display screen and broadcast by phonetic way which can make full use of auditory advantage and make up the shortage of totally visual transmission Key words Temperature measurement DS18B20 Temperature broadcasting 目目 录录 1 引言引言 1 2 系统设计目标 以及设计思路系统设计目标 以及设计思路 1 2 1 系统设计目标系统设计目标 1 2 2 系统设计思路系统设计思路 2 3 系统硬件电路的设计以及各模块的原理介绍系统硬件电路的设计以及各模块的原理介绍 2 3 1 核心控制核心控制 CPU 的介绍的介绍 2 3 2 温度采集模块温度采集模块 5 3 3 显示模块的介绍显示模块的介绍 10 3 4 语音模块的介绍 语音模块的介绍 11 3 5 音频放大模块音频放大模块 16 3 6 系统硬件电路图系统硬件电路图 17 4 系统软件设计系统软件设计 18 5 软件简介及仿真软件简介及仿真 21 5 1 软件简介软件简介 21 5 1 1 Proteus 软件的简介软件的简介 21 5 1 2 Keil 软件简介软件简介 22 5 2 系统仿真系统仿真 23 设计心得设计心得 24 参考文献参考文献 25 附附 录录 26 致致 谢谢 36 1 1 1 引言引言 温度是一种最基本的环境参数 人们的生活与环境的温度息息相关 温度测量在人 们的日常生活中扮演着重要的角色 当人们感到身体不适时 通常需要测量体温 家中 的婴儿或病人吃的流质食物 给婴儿准备的洗澡水等 都需要测量实际温度 温度过高 或过低都会对病人或婴儿造成危害 医院的特护病房需要测试保持一定的室温范围 某 些工业生产也需要温度测量 因此研究温度的测试方法和装置具有重要的意义 温度计 是测温仪器的总称 水银玻璃温度计和酒精温度计就是我们日常生活中最常见的温度计 它们常常以刻度的形式表示温度的高低 人们必须通过读取刻度值的多少来测量温度 目前玻璃水银温度计集中广泛使用 测量准确 价格低廉 但必须直接接触人体 3min 以上 量程小 最大量程 42 而且刻度过细 读数不方便 特别是老年人视力不 好 不容易读准确 盲人无法读数 同时还有易碎等缺点 电子数字显示温度计 以数 字显示温度 对玻璃水银温度计不易读数的缺点进行了改进 但仍然存在特殊情况下看 不清温度计的不足 贴纸温度计 使用方便但精度不高 奶嘴温度计 属于专用温度计 夜间使用不方便 耳温枪 价格昂贵等 本次设计的温度计是在数字温度计的基础上采用数字语音温度计 测量结果通过语 音的方式播报 可以发挥听觉的优势 弥补完全用视觉信号传递信息的不足 如在光线 较暗的地方或者眼睛正在关注其他细节的时候或者其他特殊情况 如夜间长时间监测温度 本文设计了用单片机去完成程序控制 以及数据转换 液晶显示 语音播报功能于一体 的新型智能温度计 可以广泛地应用于医疗卫生行业 家庭以及工业领域 如夜间测体 温和体温监测 盲人及视力欠缺的人 工业测温等 使用方便 价格便宜 应用场合广 泛 具有重要的实用价值 2 2 系统设计目标 以及设计思路系统设计目标 以及设计思路 2 1 系统设计目标系统设计目标 本设计的语音温度计具体实现以下功能 系统测量温度值可在 20 110 的范围内任意设置 默认值设定为 54 4 能够实时监测信号显示温度 通过按键能播报出当时的温度 2 测量精度为 0 1 或 0 2F 2 2 系统设计思路系统设计思路 本设计利用所学的单片机 电子电路以及计算机等方面的有关知识 设计语音温度 计 以单片机芯片 AT89S51 为核心 以数字温度传感器 DS18B20 来采集温度 使用 LCD 显示 测量温度范围为 20 110 并且使用语音芯片 ISD1420 能够实现语音报 温 本次设计主要利用单片机来完成程序控制 以及温度的数据转换 其硬件设计主要 由以下几个模块构成 核心控制 CPU AT89S51 芯片 环境温度采集 DS18B20 芯片 LCD 显示 语音播报 硬件电路的系统框图如图 2 1 所示 MCU AT89S51 温度采集 语音播报 LCD显示 音频放大 图2 1 硬件电路的系统框图 3 3 系统硬件电路的设计以及各模块的原理介绍系统硬件电路的设计以及各模块的原理介绍 3 1 核心控制核心控制 CPU 的介绍的介绍 单片机是系统控制的核心 本设计采用 AT89S51 芯片 AT89S51 是由 ATMEL 公司 推出的 AT89XX 系列兼容 51 型 8 位单片机 它采用了 51 型的总体结构和指令系统 但 增加了 ISP 编程和看门狗功能 它片内的程序存储器是采用 FLASH 工艺的 用户可以通 过电可擦出的方式对存储器进行擦除和改写 并且 AT89S51 还具有低功耗 高性能的特 点 芯片内集成了 ISP FLASH 存储单元和 8 位中央处理器 这样就可以使 AT89S51 为许 多嵌入式控制应用系统提供高性价比的解决方案 AT89S51 具有如下特点 灵活的 ISP 在线系统编程 32 个可编程的 I O 口线 6 个中断源 2 个 16 位定时 计数器 128 8 字节内部 RAM 全双 I 串行 VART 通道 4 0 5 5V 的工作电压范围 1000 次可重复擦写周期 此外 AT89S51 开发商还为其设计了振荡频率位 0Hz 的省电模式 当 AT89S51 处于 掉电模式时 它将冻结振荡器而保存 RAM 的数据 并停止芯片其他功能直到硬件复位 3 或外中断复活 当 AT89S51 处于空闲模式下时 CPU 将暂停工作 RAM 串行口 定时 器 计数器和外中断系统继续工作 为了适应市场多种产品的需求 AT89S51 的芯片通常 采用 PDIP PLCC 和 TQPP 三种封装形式 单片机 AT89S51 引脚如图3 1所示 图 3 1 AT89S51 芯片引脚排列 VCC 供电电压 GND 接地 AT89S51 的 4 个通道 I O 端口是单片机与外部实现控制和数据的通道 具有双向传输 功能 并且还具有第二功能 介绍如下 P0 口 由于 P0 口的内部特殊逻辑结构 它既可以作为 8 位双向口线的数据 I O 口使 用 也可以作为低 8 位的地址信号线使用 P1 口 通常只能作为 8 位双向口线的数据 I O 口使用 第二功能 ISP 编程时 P1 5 P1 7 可可作为编程口使用 P2 口 既可以作为 8 位双向口线的数据 I O 口使用 也可以作为高 8 位的地址信号 线使用 P3 口 作为 8 位双向口线的数据 I O 口使用 AT89S51 的引脚复用主要集中在 P3 口 P3 口的复用功能表如表 3 1 所示 4 表3 1 P3 口的特殊功能 I O 口作为输入口时有两种工作方式 即所谓的读端口与读引脚 读端口时实际上并 不是从外部读入数据 而是把端口锁存器的内容读入到内部总线 经过某种变换或运算 后再写回到端口锁存器 只有读引脚时才真正地把外部的数据读入到内部总线 这四个 端口还有一个差别即除了 P1 口外 P0 P2 P3 口都还有其他的功能 ALE PROG 地址锁存控制信号 FLASH 编程脉冲输入端 ALE 是以 1 6 的时钟振荡 频率输出正脉冲 因此可以作为外部定时或外部时钟脉冲使用 在访问外部数据存储器 时 它主要用于把 P0 口输出的低 8 位地址送到锁存器锁存起来 以实现数据和低位地址 的分时传送 EA VPP 外部 ROM 访问控制信号 其主要是用来根据其电平状态来区分程序存储 器的有无 当 EA 为高电平时 CPU 访问片内 ROM 和片外 ROM 当 EA 处于低电平时 CPU 只访问外部程序存储器 另外 在进行 FLASH 编程时 在该脉冲加上 12V 的编程 电压 VPP RESET 复位信号输入端 要完成 AT89S51 的操作 必须在该引脚上出现连续两个 机器周期以上的高电平 可以通过设置 AUXR 的 DISRT0 来打开或关闭该功能 PSEN 外部程序存储器的选通信号 在一个机器周期内 当由外部 ROM 读取指令 或执行读程序存储器数据的指令时 将有两个 PSEN 脉冲处于低电平 即两次低电平有效 引脚第 2 功能 P3 0RXD 串行口输入端 P3 1TXD 串行口输出端 P3 2 部中断 0 请求输入端 低电平有效 INTO P3 3 中断 1 请求输入端 低电平有效 1INT P3 4T0 时器 计数器 0 计数脉冲端 P3 5T1 时器 计数器 1 数脉冲端 P3 6 部数据存储器写选通信号输出端 低电平有效 WR P3 7 部数据存储器读选通信号输出端 低电平有效 RD 5 XTAL1 内部时钟发生器和反相放大器的输入端 XTAL2 放大器的输出端 当使用芯片内部时钟时 两引脚外接石英晶体和振荡电 容 当使用外部时钟时需在 XTAL2 上加外部时钟信号 本设计所用的 AT89S51 电路图如图 3 6 所示 3 2 温度采集模块温度采集模块 采用 DS18B20 达拉斯公司生产的单线数字温度传感器 DS18B20 改版的后 DS1820 由于其独特的内部电路 可以直接通过一总线得到数据温度 避免了传统的用 温度传感器将温度转换成电压信号 再进行 A D 转换得到对应的电压值 而且还得对温 度传感器进行误差修正和线性拟合的复杂过程 它的外围电路简单简单 操作十分方便 由于每片 DS18B20 的序列号是出厂前被刻好不能被修改的 而且在通信时序列号就是 DS18B20 的地址码 所以可以实现一根总线上挂接多个 DS18B20 的目的 这样 单片机 就可以通过一根总线经序列号匹配识别后对每片 DS18B20 进行读写操作 一总线这种特 殊的性质不仅为用户节省了硬件资源 还方便用户组建传感器网络 给测量系统的组建 引进了全新概念 新一代的数字温度传感器 DS18B20 体积更小 更灵活 更经济 它的 供电范围可达到 3 0 5 5v 测量范围达到 55 125 并且在 10 85 范围内 测量精度可达 0 0625 DS18B20 直接以 一线总线 得到温度数据并传输数据 从而减 少了系统的电缆数 提高了系统的稳定性和抗干扰性 因此得到广泛应用 DS18B20 的主要特性 独特的单线接口方式 DS18B20 在与单片机连接时仅需要一条口线即可实现微处 理器与 DS18B20 的双向通讯 测温范围 55 125 在 10 85 时精度为 0 5 DS18B20 支持多点组网功能 多个 DS18B20 可以并联在一条总线上 实现组网 多点测温 DS18B20 在使用中不需要任何外围元件 全部转换电路及传感元件集成在形如一 只三极管的集成电路内 适应电压范围更宽 电压范围 3 0 5 5V 在寄生电源方式下可由数据线供电 可编程的分辨率为 9 12 位 对应的可分辨温度分别为 0 5 0 25 0 125 和 0 0625 可实现高精度测温 测量结果直接输出数字温度信号 以 一线总线 串行传送给 CPU 同时可传送 6 CRC 校验码 具有极强的抗干扰纠错能力 负压特性 电源极性接反时 芯片不会因发热而烧毁 但不能正常工作 在 9 位分辨率时最多在 93 75ms 内把温度转换为数字 12 位分辨率时最多在 750ms 内把温度值转换为数字 速度更快 DS18B20 的外形和内部结构 DS18B20 内部结构主要由四部分组成 64 位光刻 ROM 温度传感器 配置寄存器 挥发的温度报警触发器 TH 和 TL DS18B20 引脚定义 DQ 为数字信号输入 输出端 GND 为电源地 VDD 为外接供电电源输入端 在寄生电源接线方式时接地 DS18B20 的外形及管脚排列如下图 3 2 所示 图 3 2 DS18B20 的外形及管脚排列图 DS18B20 内部结构如图 3 3 所示 图 3 3 DS18B20 的内部结构图 7 DS18B20 工作原理 DS18B20 的测温原理和读写时序与 DS1820 相同 但 DS18B20 测得的温度值的位数 因分辨率不同而不同 并且测得的温度转换时的延时时间大大缩短 由 2s 减为 750ms DS18B20 测温原理如图 5 所示 DS18B20 高温度系数晶振随温度变化其振荡率明显改变 所产生的信号作为计数器 2 的脉冲输入 低温度系数晶振的振荡频率受温度影响很小 用于产生固定频率的脉冲信号送给计数器 1 计数器 1 和温度寄存器被预置在 55 所对 应的一个基数值 计数器 1 对低温度系数晶振产生的脉冲信号进行减法计数 当计数器 1 的预置值减到 0 时 温度寄存器的值将加 1 计数器 1 的预置将重新被装入 计数器 1 重新开始对低温度系数晶振产生的脉冲信号进行计数 如此循环直到计数器 2 计数到 0 时 停止温度寄存器值的累加 此时温度寄存器中的数值即为所测温度 图 5 中的斜率 累加器用于修正和补偿测温过程中的非线性 其输出用于修正计数器 1 的预置值 DS18B20 测温原理框图如图 3 4 所示 预置 低温度系 数晶振 斜率累加器 减法计数器1 计数比较器 预置 减到0温度寄存器 高温度系 数晶振 减法计数器2减到0 停止 增加 图3 4 DS18B20测温原理框图 DS18B20 有 4 个主要的数据部件 光刻 ROM 中的 64 位序列号可分为三部分 最低 8 位是产品类型编码 中间 48 位是每个器件的序号 是唯一的固定不变的 最后 8 位则是前面 56 位的循环冗余校验码 CRC X8 X5 X4 1 这 64 位序列号是出厂前被光刻好的 不能修改的 并且它还被当 作 DS18B20 的地址序列码来使用 从而可以实现一根总线上挂接多个 DS18B20 的目的 DS18B20 中的温度传感器可完成对温度的测量 由于 DS18B20 测得的温度高达 12 位 所以要用两个 8 位的存储器 存储器的结构如表 3 2 所示 表 3 2 DS18B20 温度值格式表 8 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 LS Byte bit 15 bit 14 bit 13 bit 12 bit 11 bit 10 bit 9 bit8 MSByte 存储器的低位 bit0 bit10 用来存放温度值 符号位为 bit11 到 bit15 当温度为负值时 S 全为 1 实际温度等于测得的数值按位取反加 1 再乘以 0 0625 当温度为正值时 S 全 为 0 实际温度等于测得的数值乘以 0 0625 12 位转换时 一些温度对应的转换值如表 3 3 所示 表3 3 DS18B20 温度值格式表 TEMPERATUREDIGITAL OUTPUT Binary DIGITAL OUTPUT Hex 125 0000 0111 1101 000007D0h 85 0000 0101 0101 00000550h 25 0625 0000 0001 1001 00010191h 10 125 0000 0000 1010 001000A2h 0 5 0000 0000 0000 10000008h 0 0000 0000 0000 00000000h 0 5 1111 1111 1111 1000FFF8h 10 125 1111 1111 0101 1110FF5Eh 25 0625 1111 1110 0110 1111FE6Fh 55 1111 1100 1001 0000FC90h 配置寄存器 各位字节的意义如下 表 3 4 配置寄存器结构 TMR1R011111 低五位一直都是 1 R1 和 R0 用来设置分辨率 TM 是测试模式位 用于设置 DS18B20 在工作模式还是在测试模式 在 DS18B20 出厂时该位被设置为 0 用户不要去 改动 如表 3 5 所示 DS18B20 出厂时被设置为 12 位 表 3 5 温度分辨率设置表 R1R0分辨率温度最大转换时间 009 位93 75ms 0110 位187 5ms 1011 位375ms 1112 位750ms DS18B20 温度传感器的存储器 DS18B20 温度传感器的内部存储器包括一个高速 3 2 2 2 1 2 0 2 1 2 2 2 3 2 4 2 SSSSS 6 2 5 2 4 2 9 暂存 RAM 和一个非易失性的可电擦除的 EEPRAM 后者存放高温度和低温度触发器 TH TL 和结构寄存器 通过 TH 和 TL 的上限值和下限值实现 DS18B20 的越界报警功能 高速暂存存储器 高速暂存存储器由 9 个字节组成 其分配如表 3 6 所示 当温度转 换命令发布后 经转换所得的温度值以二字节补码形式存放在高速暂存存储器的第 0 个 和第 1 个字节 单片机可通过单线接口读到该数据 读取时低位在前 高位在后 数据 格式如表 2 所示 对应的温度计算 当符号位 S 0 时 直接将二进制位转换为十进制 当 S 1 时 先将补码变为原码 再计算十进制值 表 2 是对应的一部分温度值 第九个 字节是冗余检验字节 表 3 6 DS18B20 暂存寄存器分布 寄存器内容 字节地址 温度值低位 LS Byte 0 温度值高位 MS Byte 1 高温限值 TH 2 低温限值 TL 3 配置寄存器4 保留5 保留6 保留7 CRC 校验值8 根据 DS18B20 的通讯协议 主机 单片机 控制 DS18B20 完成温度转换必须经过三个 步骤 每一次读写之前都要对 DS18B20 进行复位操作 复位成功后发送一条 ROM 指令 最后发送 RAM 指令 这样才能对 DS18B20 进行预定的操作 复位要求主 CPU 将数据线 下拉 500 微秒 然后释放 当 DS18B20 收到信号后等待 16 60 微秒左右 后发出 60 240 微秒的存在低脉冲 主 CPU 收到此信号表示复位成功 DS18B20 的存储器结构如下图 3 5 所示 10 温度值低位字节 温度值高位字节 TH 用户使用字节1 TL 用户使用字节2 配置字节 保留字节 保留字节 保留字节 CRC字节 字节 1 3 4 5 6 7 8 2 0 TH 用户使用字节1 TH 用户使用字节2 非易失性电可擦除RAM TH 用户使用字节1 配置字节 TH 用户使用字节2 图3 5 DS18B20存储器结构图 本设计中温度传感器 DS18B20 与单片机 AT89S51 的连接电路图如图 3 6 所示 3 3 显示模块的介绍显示模块的介绍 LED 应用可分为两大类 一是 LED 单管应用 包括背光源 LED 红外线 LED 等 另外就是 LED 显示屏 LED 显示屏是由发光二极管排列组成的一显示器件 它采用低 电压扫描驱动 具有耗电少 使用寿命长 成本低 亮度高 故障少 视角大 可视距 离远等特点 但普通的 7 段 LED 数码管只能显示数字 若要显示英文字母或图像汉字 还需要使用液晶显示器 LCD 显示器的原文是 Liquid Crystal Display 取每字的第一个字母组成 中文多称液 晶平面显示器或液晶显示器 其工作原理就是利用液晶的物理特性 通电时排列变得有 序 使光线容易通过 不通电时排列混乱 阻止光线通过 说简单点就是让液晶如闸门 般地阻隔或让光线穿透 LCD 的好处有 与 CRT 显示器相比 LCD 的优点主要包括零辐 射 低功耗 散热小 体积小 图像还原精确 字符显示锐利等 因此 这里采用 LCD 液晶显示 显示模块与单片机芯片的电路连接如图 3 6 所示 11 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P1 0 T2 1 P1 1 T2EX 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 U1 AT89S51 5V 2 3 4 5 6 7 8 9 1 RP 10K 8 5V D7 14 D6 13 D5 12 D4 11 D3 10 D2 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 LCD LM016L 54 4 DQ 2 VCC 3 GND 1 U2 DS18B20 5V GND R2 4 7k X1 11 0592MHz C3 22pF C2 22pF C1 22uF S1 R 10k GND VCC 图3 6 采集温度显示电路图 3 4 语音模块的介绍 语音模块的介绍 为了弥补完全用视觉信号传递信息的不足 使人们不仅能够看到还能够听到 就要 实现语音播报功能 这就必须要用语音集成块 ISD1420 为美国 ISD 公司出品的优质单片 机录放电路 由振荡器 语音存储单元 前置放大器 自动增益控制电路 抗干扰滤波 器 输出放大器组成 一个最小的录放系统仅由一个麦克风 一个喇叭 两个按钮 一 个电源 少数电阻电容组成 录音内容存入永久存储单元 提供零功率信息存储 这个 独一无二的方法是借助于美国 ISD 公司的专利 直接模拟存储技术 DASTTM 实现的 利用它 语音和音频信号被直接存储 以其原本的模拟形式进入 EEPROM 存储器 不仅 语音质量优胜 而且断电语音保护 语音芯片 ISD1420 如下图 3 7 所示 图 3 7 ISD1420 芯片图 12 特点 使用方便的单片录放系统 外部元件最少 放音可由边沿或电平触发 重现优质原声 没有常见的背景噪音 无耗电信息存储 省掉备用电池 信息可保存 100 年 可反复录放 10 万次 具有自动节电模式 较强的分段选址能力可处理多达 160 段信息 无需专用编程或开发系统 录音或放音后立即进入维持状态 仅需 0 5 微安电流 单一 5 伏电源供电 电特性 工作电压 5v 工作电流 典型值 15mA 最大值 30mA 16 静态电流 典型值 0 5 A 最大值 2 A 图 3 8 ISD1420 的原理框图 操作模式 ISD1420 地址输入有双重功能 A0 A7 的功能取决于引脚 A6 A7 的电平状态 13 当 A6 A7 有一个是低电平时 A0 A7 输入为地址位 并作为起始地址用 地址位仅作 为输入端 在操作过程中不能输出内部地址信息 根据 PLAY 或 REC 的下降沿信号 地 址输入被锁定 如果 A6 A7 同为高电平时 它们即为模式位 使用操作模式有两点要注意 当 PLAY 或 REC 变为低电平 同时 A6 A7 为高电平时 执行对应操作模式 这种操作模式一直执行到下一个低电平控制输入信号出现为止 这一刻现行的地址 模式 信号被取样执行 0 地址是 1420 存储空间的起始端 所有初始操作都是从 0 地址开始 以后的操作 可根据模式的不同 而从不同的地址开始工作 当电路中录放音转换或进入省电状态时 地址计数器复位为 0 操作模式可以与微控制器一起使用 也可用硬件连线得到所需系统操作 ISD1420 录音电路通过开关控制地址线 A0 A7 和录音控制端 REC 放音电路通过 AT89S51 的 P0 6 口控制 PLAYER 放音 ISD1420 的引脚图如下图 3 9 所示 A0 1 A1 2 A2 3 A3 4 A4 5 A5 6 A6 9 A7 10 PLAYL 23 PLAYE 24 REC 27 AGC 19 VCCD 28 VCCA 16 RECLED 25 ANA OUT 21 ANA IN 20 MIC REF 18 MIC 17 SP 15 SP 14 XCLK 26 VSSA 13 VSSD 12 ISD1420 图 3 9 ISD1420 芯片引脚图 信息检索 A0 A0 可使操作者在不知道每个信息的实际地址的情况下快速检索每条信 息 A0 每输入一个低脉冲 可使得内部地址计数器跳到下一个信息 这种模式通常与 A4 同时操作 还可用于放音 删除标志 A1 可使输入的分段信息成为连续的信息 用 A1 可删除掉每段中间信息 后的 EOM 标志 仅在所有信息后留一个 EOM 标志 当这个操作模式完成时 录入的所 有信息就成为一个连续的信息放出 14 循环重放信息 A3 可使存于存储空间的信息从始端开始自动地连续重放 当信息完 全占满存储空间时 循环就可以从头至尾进行工作 并由始至终反复重放 连续寻址 A4 在正常操作中 当一个信息放出 遇到一个 EOM 标志时 地址计数 器会自动复位 A4 可防止地址计数器复位 使得信息连续不断放出 A2 A5 此处未用 电源 VCCA VCCD 芯片内部包括模拟和数字电路 它们使用不同的电源总线 最好 将模拟和数字电源端分别走线 引到外封装上 尽可能地在靠近供电端处相连 这样可 以达到噪声最小的目的 而应尽量使去耦电容靠近芯片 地线 VSSA VSSD 芯片内部的模拟和数字电路也使用不同的地线 最好将这两个脚 在引脚焊盘上相连 录音 REC 低电平有效 只要当 REC 变为低电平 芯片即开始录音 并且在录音期 间 REC 必须保持为低电平状态 REC 内存录满或变为高电平后 芯片会自动写入一个 信息结束标志 EOM 录音周期结束 这样就可以使以后的重放操作及时停止 之后芯片 会自动进入节电模式 注意 为了防止芯片自动进入节电模式 REC 的上升沿有 50ms 防颤 外部时钟 XCLK 此端内部有下拉元件 不用时应该接地 芯片内部的采样时钟在出 厂前已经过调校 录音指示 RECLED 处于录音状态时 此端为低 可驱动 LED 此外 放音遇到 EOM 标志时 此端输出低电平脉冲 电平触发放音 PLAYL 此端出现下降沿时 芯片开始放音 放音持续至该段回到高 电平时 遇到 EOM 标志或内存结束 放音结束后芯片自动进入节电状态 边沿触发放音 PLAYE 此端出现下降沿时 芯片开始放音 放音持续到 EOM 标志 或内存结束 之后芯片将自动进入节电状态 开始放音后 可以释放 PLAYE 话筒参考 MIC REF 此端是前置放大器的反向输入 当以差分形式连接话筒时 可 减少噪声 提高共模抑制比 话筒输入 MIC 此端通至片内前置放大器 片内自动增益控制电路 AGC 将前置 增益控制在 15 20dB 外接话筒应通过串联电容耦合到此端 模拟输出 ANA OUT 前置放大器输出 前置电压增益取决于 AGC 端的电平 模拟输入 ANA IN 此端即芯片录音的输入信号 对话筒输入来说 ANA OUT 端应 通过外接电容连至此端 自动增益控制 AGC AGC 动态调节器调整前置增益以补偿话筒输入电平的宽幅变 15 化 使得录制音量变化很大的声音 从耳语到喧哗噪声 时失真都能保持最小 扬声器输出 SP SP 这对输出端能驱动 16 以上的扬声器 单端使用时必须在 输出端和扬声器间接耦合电容 而双端输出既不用电容又能将功率提高 4 倍 录音时 它们都是呈现高阻态 在节电模式下 它们保持为低电平 分段录音的实现 对 ISD1420 进行分段录音之前要将语音信息与分段地址对照 如表 3 7 所示 表3 7 硬件电路实现分段录音的语音信息与地址对照表 语 音 信 息 分段 地址 A7A6A5A4A3A2A1A0 000H00000000 108H00001000 210H00010000 318H00011000 420H00100000 528H00101000 630H00110000 738H00111000 840H01000000 948H01001000 百50H01010000 十58H01011000 点60H01100000 负68H01101000 摄氏度70H01110000 现在温度是80H10000000 检查电路连接 接线和电源情况 并通过对照表来设置 8 位双置开关选择要录音的 地址 最后按下录音键直至录音结束 松开录音键 重复此操作就可以将自己需要录入 的内容全部录入到芯片中 另外 A0 和 A1 都需要接地 因为我们要确保分段间隔不小 于 0 5S 所以至少要四段 否则录音的信息可能会重叠 导致放音时达不到自己的要求 分段录音时 ISD1420 的 A0 A7 用作地址输入线 A6 A7 不可同时为高电平 所以 地址范围为 00H 9FH 即为十进制码 0 159 共 160 个数值 这表明 ISD1420 的 EEPROM 16 模拟存储器最多可被划分为 160 个存储单元 也就是说 ISD1420 最多可存储 160 个语音 段 语音段的最小时间长度为 0 125S 不同分段的选择是通过对 A0 A7 端接不同的高低 电平来实现 同样 分段录音也可以通过软件来实现 其中 P0 口连接 ISD1420 的地址端 其中 A0 A1 接地 A2 A7 分别连接 P0 0 P0 5 A0 A1 接地的原因如上所述 P0 6 连接 PL 端 P0 7 连接 REC 端 同时 要注意 P0 口做 I O 口时要接上拉电阻 本实验中利用 的是 9 个端口的排阻 其中 1 管脚为公共端 接电源 阻值为 1K 其 ISD1420 外围一些 电阻电容的作用与硬件实现中的作用是一样的 在此不再赘述 由于 ISD1420 录音时间 为 20S 所以本次的时间安排如下下 单字时间为 1S 共用了 14S 现在温度是 安排了 4S 摄氏度 安排了 2S 这样 正好利用完 20S 的时间 ISD1420 的应用电路如图 3 10 所示 放音的实现 放音在纯硬件电路中是通过放音控制键来实现的 在我的毕业设计中 我采用的是 通过软件来实现录放音的 所以在录音完毕后 通过读取采集到的温度值来报温 根据 表 10 可以看出放音寻址时要将 P0 6 端置 0 P0 7 置 1 其余的不变 但是考虑到寻址与 放音控制之间的竞争冒险 所要先寻址 寻址时可以对 P0 6 置 1 寻址后再对 P0 6 置 0 同时要注意到 若用 PLAYL 端控制的话一定要注意延时 因为 PLAYL 是低电平控制 的 A1 2 A2 3 A3 4 A4 5 A5 6 A6 7 A7 8 PLAYL 23 PLAYE 24 REC 27 AGC 19 VCCD 28 VCCA 16 RECLED 25 ANA OUT 21 ANA IN 20 MIC REF 18 SP 15 SP 14 XCLK 26 VSSA 13 VSSD 12 ISD1420 A0 1 R3100k R4100k R5100k S2 VCC D D GND J1 AU Y1005 R MIC 17 C4 4 7uF R6 470K S3S4 放放音音录录音音 P0 1 P0 0 P0 2 P0 3 P0 4 P0 5 SPOUT VCC GND 图3 10 ISD1420 的应用电路图 17 3 5 音频放大模块音频放大模块 由于语音芯片输出端的信号比较小 为了让人能够听见 所以电路中加一个功率放 大电路来对这个音频小信号进行放大 这个音频放大器选用的是 LM386 具体介绍如下 LM386 是美国国家半导体公司生产的音频功率放大器 电压增益内置为 20 LM386 是专为的损耗电源所设计的功率放大器 它的內建增益为 20 透过 1 脚和 8 脚位间电容 的搭配 增益最高可达 200 LM386 可使用电池为供应电源 输入电压范围可由 4V 12V 无作动时尽消耗 4mA 电流 且失真低 LM386 的接脚图及內部方块图如下图 3 11 3 12 所示 本设计中的电路连接图见附录所示 图 3 11 LM386 接脚图 图 3 12 LM386 接脚图及內部方块图 本设计中 LM386 的具体连接如图 3 13 所示 18 C4 1uF 3 2 6 74 1 8 U3 RV1 1k C7 100uF LS1 SPEAKER R8 10k C5 33p R7 1 2k C6 1uF 图 3 13 LM386 的电路图 3 6 系统硬件电路图系统硬件电路图 系统硬件电路图如图 3 14 所示 19 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P1 0 T2 1 P1 1 T2EX 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 U1 AT89S51 5V D7 14 D6 13 D5 12 D4 11 D3 10 D2 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 LCD LM016L 54 4 DQ 2 VCC 3 GND 1 U2 DS18B20 5V GND R2 4 7k X1 11 0592MHZ C3 22pF C2 22pF C1 22uF S1 R1 10k 2 3 4 5 6 7 8 9 1 RP110K 8 A1 2 A2 3 A3 4 A4 5 A5 6 A6 7 A7 8 PLAYL 23 PLAYE 24 REC 27 AGC 19 VCCD 28 VCCA 16 RECLED 25 ANA OUT 21 ANA IN 20 MIC REF 18 SP 15 SP 14 XCLK 26 VSSA 13 VSSD 12 ISD1420 A0 1 R3100K R4100K R5100K S2S3S4 录 录音 音放 放音 音 C4 1uF 3 2 6 74 1 8 U3 RV1 1k C7 100uF LS1 SPEAKER R8 10k C5 33p R7 1 2k C6 1uF SPOUT VCC D D GND J1 AU Y1005 R MIC 17 C4 4 7uF R6 470K V VC CC C V VC CC C 图 3 14 系统硬件电路图 4 系统软件设计系统软件设计 软件设计是本设计的重点和难点 其中的关键在于对温度采集芯片 DS18B20 语音芯 片 ISD1420 的使用 系统程序包括主程序 读出温度子程序 温度转换命令子程序 计算温度子程序 调用语音芯片 ISD1420 程序 主程序的主要功能是负责温度的实时显示 读出并处理 DS18B20 的测量的当前温度 值 其程序流程图及各模块的流程图如下图 4 1 4 2 4 3 所示 各模块程序设计清单见 附表 20 初始化 调用显示子程序 1S到 初次上电 读出温度值温度计算处理 显示数据刷新 发温度转换开始命令 图4 1 主程序流程图 N Y Y N 开始 结束 初始化I O口 手动分段录制语音 分段控制播放语音 图4 2 单片机与ISD1420应用程序 流程 21 开始 初始化DS18B20 答应脉冲 发起Skip Rom命令 发起Convert T命令 延时1秒 等待温度转换完成 初始化DS18B20 答应脉冲 发起Read Scratchpad 读取第1 2字节 即为温度数据 N N Y Y 图4 3 单片机实现温度转换读取 温度数值流程图 22 基于以上软件设计所得出的电路仿真图为图 4 4 XTAL2 18 XTAL1 19 ALE 30 EA 31 PSEN 29 RST 9 P0 0 AD0 39 P0 1 AD1 38 P0 2 AD2 37 P0 3 AD3 36 P0 4 AD4 35 P0 5 AD5 34 P0 6 AD6 33 P0 7 AD7 32 P1 0 T2 1 P1 1 T2EX 2 P1 2 3 P1 3 4 P1 4 5 P1 5 6 P1 6 7 P1 7 8 P3 0 RXD 10 P3 1 TXD 11 P3 2 INT0 12 P3 3 INT1 13 P3 4 T0 14 P3 7 RD 17 P3 6 WR 16 P3 5 T1 15 P2 7 A15 28 P2 0 A8 21 P2 1 A9 22 P2 2 A10 23 P2 3 A11 24 P2 4 A12 25 P2 5 A13 26 P2 6 A14 27 U1 AT89S51 5V 2 3 4 5 6 7 8 9 1 RP 10K 5V D7 14 D6 13 D5 12 D4 11 D3 10 D2 9 D1 8 D0 7 E 6 RW 5 RS 4 VSS 1 VDD 2 VEE 3 LCD LM016L 61 0 DQ 2 VCC 3 GND 1 U2 DS18B20 5V GND R2 4 7k X CRYSTAL C 22uF R 10k 图 4 4 电路仿真图 5 软件简介及仿真软件简介及仿真 本设计是基于 Proteus 电路设计 Keil C51 程序设计以及两者联合仿真调试的方法 建立起单片机系统硬件电路设计 软件设计以及调试的全虚拟环境 使得全部的设计工 程在 PC 上就能完成 可显著提高单片机应用系统的设计开发效率 降低开发风险 5 1 软件简介软件简介 5 1 1 Proteus 软件的简介软件的简介 Protues 软件是英国 Labcenter electronics 公司出版的 EDA 工具软件 它不仅具 有其它 EDA 工具软件的仿真功能 还能仿真单片机及外围器件 它是目前最好的仿真 单片机及外围器件的工具 它运行于Windows 操作系统上 可以仿真 分析 SPICE 各 种模拟器件和集成电路 基于 Proteus ISIS 仿真设计软件的系统设计流程为 23 开始 根据系统功能设计 修改Proteus电路 设计修改程序 并生成目标代码 Proteus仿真调试 调试通过 制作目标板 退出 NO NO 软件问题 硬件问题 YES 图5 1 基于Proteus ISIS仿真软件的单片机 系统设计流程图 该软件具有 4 大功能模块 智能原理图设计 ISIS 丰富的器件库 支持总线结构 智能的器件搜索 智 能化的连线功能 可输出高质量图纸 可方便地供POWERPOINT WORD 等多种 文档使用 完善的电路仿真功能 Prospice 独特的单片机协同仿真功能 VSM 软件仿真 支持当前的主流单片机 如 51 系列 AVR 系列 Z80 系列 PIC12 系列 HC11 系列 PIC16 系列 PIC18 系列 68000 系列等 5 1 2 Keil 软件简介软件简介 Keil C51 是美国 Keil Software 公司出品的 51 系列兼容单片机 C 语言软件开发系 统 与汇编相比 C 语言在功能上 结构性 可读性 可维护性上有明显的优势 因 而易学易用 用过汇编语言后再使用C 来开发 体会更加深刻 使用独立的 Keil 仿真器时 注意事项 仿真器上的复位按钮只复位仿真芯片 不复位目标系统 24 仿真器标配 11 0592MHz 的晶振 但用户可以在仿真器上的晶振插孔中换插其 他频率的晶振 仿真芯片的 31 脚 EA 已接至高电平 所以仿真时只能使用片内 ROM 不能使用 片外 ROM 但仿真器外引插针中的 31 脚并不与仿真芯片的 31 脚相连 故该仿真器仍可 插入到扩展有外部 ROM 其 CPU 的 EA 引脚接至低电平 的目标系统中使用 5 2 系统

温馨提示

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

评论

0/150

提交评论