基于单片机的多功能时钟设计毕业论文.doc_第1页
基于单片机的多功能时钟设计毕业论文.doc_第2页
基于单片机的多功能时钟设计毕业论文.doc_第3页
基于单片机的多功能时钟设计毕业论文.doc_第4页
基于单片机的多功能时钟设计毕业论文.doc_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

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

文档简介

编号 淮安信息淮安信息职业职业技技术术学院学院 毕毕业业论论文文 题 目基于单片机的多功能时钟设计 学生姓名 学 号 系 部电气工程系 专 业机电一体化 班 级 指导教师 顾问教师 二 一三年十月 摘 要 I 摘摘 要要 随着生活节奏的加快 人们时间观念的加强 时钟已经成为人们日常生活 中不可或缺的一部分 而如何在时钟的基础上 根据人们生活的需要增加相应 的功能以及方便于人们的生活 成为时钟设计方面的重点 单片机以其强大的 功能 低廉的价格成为许多多功能电子产品的首选 本文探讨了一种带数字温 度计的语音时钟的实现方案 介绍了以AT89C52单片机为核心 控制实时时钟芯 片DS1302 数字温度芯片DS18B20 语音芯片ISD4003 4和液晶显示模块 OCM12864 1 实现时间和闹钟的显示与调整 温度显示和语音报时 关键词关键词 实时时钟 语音报时 液晶显示 数字温度芯片 Abstract II A Abstractbstract With the quickening pace of life it enhanced sense of time the clock has become an indispensable part of daily life How the clock basis according to people s live need to increase accordingly function to facilitate people s lives become the focus of the clock design Microcontroller with its powerful features low price to become the first choice for many multi functional electronic products The paper discusses a kind of realization of speech chronopher with digital thermometer It introduces realizing displaying and adjusting time and alarm time displaying temperature and giving time by speech with AT89C52 MCU as the core controlling RTC Chip DS1302 DTS Chip DS18B20 ChipCorder ISD4003 4 and LCD module Keywords RTC speech chronopher LCD DTS 目 录 III 目目 录录 摘摘 要要 I I ABSTRACTABSTRACT IIII 第一章第一章 绪论绪论 1 1 1 1 发展现状 目的及意义 1 1 2 设计内容 2 第二章第二章 系统硬件设计系统硬件设计 3 3 2 1 整体框架概述 3 2 2 主控器 AT89C52 3 2 2 1 概述 3 2 2 2 主要性能 4 2 2 3 功能性描述 4 2 3 实时时钟芯片 DS1302 6 2 4 温度传感器 DS18B20 7 2 5 液晶显示模块 12864 9 2 5 1 概述 9 2 5 2 最大工作范围 9 2 6 语音芯片及功放 10 2 6 1 概述 10 2 6 2 芯片内部框图以及电路图 10 2 6 3 芯片管脚 11 2 6 4 ISD4003 4 指令表 13 2 7 独立式键盘设计 13 第三章第三章 系统软件设计系统软件设计 1515 3 1 主程序设计 15 3 2 DS1302 16 3 3 温度芯片 DS18B20 16 3 4 OCM12864 液晶显示 17 3 5 语音芯片 ISD4003 18 3 6 源程序 19 第四章第四章 系统调试系统调试 2424 4 1 PROTEUS软件介绍 24 4 2 本设计调试 25 4 2 1 硬件调试 25 4 2 2 软件调试 25 第五章第五章 结论与展望结论与展望 2626 5 1 结论 26 5 2 展望 26 目录 致谢致谢 2626 参考文献参考文献 2828 第一章 绪论 1 第一章第一章 绪论绪论 1 1 发发展展现现状 目的及意状 目的及意义义 单片机自 20 世纪 70 年代问世以来 以其极高的性能价格比 受到人们的 重视和关注 应用很广 发展很快 单片机具有体积小 重量轻 抗干扰能力 强 环境要求不高 价格低廉 可靠性高 灵活性好 开发较为容易 单片机 是一种集成在电路芯片 是采用超大规模集成电路技术把具有数据处理能力的 中央处理器 CPU 随机存储器 RAM 只读存储器 ROM 多种 I O 口和中断系统 定 时器 计时器等功能 可能还包括显示驱动电路 脉宽调制电路 模拟多路转换 器 A D 转换器等电路 集成到一块硅片上构成的一个小而完善的计算机系统 单片机在出现时 Intel 公司就给其单片机取名为嵌入式微控制器 embedded microcontroller 单片机的最明显的优势 就是可以嵌入到各种仪器 设备 中 这一点是巨型机和网络不可能做到的 单片机在内部已集成了越来越多的 部件 这些部件包括一般常用的电路 例如 定时器 比较器 A D 转换器 D A 转换器 串行通信接口 Watchdog 电路 LCD 控制器等 近年来单片机技术飞速发展 产品质量越来越好 而成本却越来越低 现 阶段许多复杂 多用的电子器件普遍采用单片机来实现 随着半导体工艺技术 的发展及系统设计水平的提高 单片机还会不断产生新的变化和进步 最终人 们可能发现 单片机与微机系统之间的距离越来越小 甚至难以辨认 同时 随着人们生活节奏的加快 时钟已经成为人们日常生活中的必需品 许多家用 电器都带着时钟模块 而人们也不再满足于仅仅具有时间显示功能的时钟 对 时钟功能的要求也越来越全面 单片机以其强大的功能成为多功能电子时钟的 首选 为电子时钟的功能扩展提供了强大的支持 实现一物多用 提高电子时 钟的使用价值 当然们不再满足于电子时钟的计时显示功能时语音时钟在社会生活中已经 得到了广泛应用 本文探讨的系统即为其中一种 给出的实现方案和系统设计 过程中实现的单片机模拟单线总线通信方式 单片机模拟 SPI 通信方式 有一 定参考价值 此外 文中探讨的系统也对传统的语音时钟做了扩充 增加了数 字温度计模块 本设计详细介绍了该系统的组成和基本原理 中带你介绍了硬 件设计的思想和软件设计的思路 保证在系统功能齐全 性能良好的前提下 最大限度的简化电路 降低系统的整体成本 提高系统的可靠性 淮安信息职业技术学院毕业设计论文 2 1 2 设计设计内容内容 基于单片机的多功能时钟设计 主要探讨了一种带数字温度计的语音时钟 的实现方案 本方案采用单片机 AT89C52 作为控制单元 与数字温度芯片 DS18B20 接口获得温度数据 与实时时钟芯片 DS1302 接口获得时间 日历数据 通过与液晶模块 OCM12864 1 接口显示温度 时间和日历 按键中断模块包含四 个按键 分别与单片机 INT0 INT1 T0 T1 引脚连接 实现四个外部中断源 用以调整时间和闹钟 开关闹钟和控制语音报时 语音报时通过语音芯片 ISD4003 4 和扬声器实现 第二章 系统硬件设计 3 第二章第二章 系统硬件设计系统硬件设计 2 1 整体框架概述整体框架概述 系统结构如图 2 1 所示 本方案采用单片机 AT89C52 作为控制单元 与数 字温度芯片 DS18B20 接口获取温度数据 与实时时钟芯片 DS1302 接口获取时间 日历数据 通过与液晶模块 OCM12864 1 接口显示温度 时间和日历 按键中 断模块包含了四个按键 分别与单片机的 INT0 INT1 T0 T1 连接 实现四个 外部中断源 用以调整时间和闹钟 开关闹钟和控制语音报时 图 2 1 系统结构图 2 2 主控器主控器 AT89C52 2 2 1 概述概述 AT89C52 是一个低电压 高性能 CMOS 8 位单片机 片内含 8k bytes 的可反 复擦写的 Flash 只读程序存储器和 256 bytes 的随机存取数据存储器 RAM 器件采用 ATMEL 公司的高密度 非易失性存储技术生产 兼容标准 MCS 51 指令 系统 片内置通用 8 位中央处理器和 Flash 存储单元 功能强大的 AT89C52 单 片机可为您提供许多较复杂系统控制应用场合 AT89C52 有 40 个引脚 32 个外部双向输入 输出 I O 端口 同时内含 2 个外中断口 3 个 16 位可编程定时计数器 2 个全双工串行通信口 2 个读写口 线 AT89C52 可以按照常规方法进行编程 但不可以在线编程 S 系列的才支持 在线编程 其将通用的微处理器和 Flash 存储器结合在一起 特别是可反复擦 写的 Flash 存储器可有效地降低开发成本 AT89C52 有 PDIP PQFP TQFP 及 PLCC 等三种封装形式 以适应不同产品的需求 淮安信息职业技术学院毕业设计论文 4 2 2 2 主要性能主要性能 1 兼容 MCS51 指令系统 8k 可反复擦写 1000 次 Flash ROM 2 32 个双向 I O 口 256 8bit 内部 RAM 3 3 个 16 位可编程定时 计数器中断 时钟频率 0 24MHz 4 2 个串行中断 可编程 UART 串行通道 5 2 个外部中断源 共 8 个中断源 6 2 个读写中断口线 3 级加密位 7 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能 2 2 3 功能性描述功能性描述 AT89C52 为 40 脚双列直插封装的 8 位通用微处理器 采用工业标准的 C51 内核 在内部功能及管脚排布上与通用的 8xc52 相同 其主要用于会聚调整时 的功能控制 功能包括对会聚主 IC 内部寄存器 数据 RAM 及外部接口等功能部 件的初始化 会聚调整控制 会聚测试图控制 红外遥控信号 IR 的接收解码及 与主板 CPU 通信等 AT89C52 的主要管脚有 1 XTAL1 19 脚 和 XTAL2 18 脚 振荡器输入输出端口 外接 12MHz 晶振 RST Vpd 9 脚 为复位输入端口 外接电阻电容组成的复位电路 VCC 40 脚 和 VSS 20 脚 为供电端口 分别接 5V 电源的正负端 P0 P3 为可编程通用 I O 脚 其功能用途由软件定义 在本设计中 P0 端口 32 39 脚 被定义为 N1 功能控制端口 分别与 N1 的相应功能管脚相连 接 13 脚定义为 IR 输入端 10 脚和 11 脚定义为 I2C 总线控制端口 分别连 接 N1 的 SDAS 18 脚 和 SCLS 19 脚 端口 12 脚 27 脚及 28 脚定义为握 手信号功能端口 连接主板 CPU 的相应功能端 用于当前制式的检测及会聚调 整状态进入的控制功能 2 P0 口 P0 口是一组 8 位漏极开路型双向 I O 口 也即地址 数据 总线复用口 作为输出口用时 每位能吸收电流的方式驱动 8 个 TTL 逻辑门电 路 对端口 P0 写 1 时 可作为高阻抗输入端用 在访问外部数据存储器或 程序存储器时 这组口线分时转换地址 低 8 位 和数据总线复用 在访问期 间激活内部上拉电阻 在 Flash 编程时 P0 口接收指令字节 而在程序校验时 输出指令字节 校验时 要求外接上拉电阻 P1 口 P1 是一个带内部上拉电阻的 8 位双向 I O 口 P1 的输出缓冲级 可驱动 吸收或输出电流 4 个 TTL 逻辑门电路 对端口写 1 通过内部的 上拉电阻把端口拉到高电平 此时可作输入口 作输入口使用时 因为内部存 在上拉电阻 某个引脚被外部信号拉低时会输出一个电流 IIL 与 AT89C51 第二章 系统硬件设计 5 不同之处是 P1 0 和 P1 1 还可分别作为定时 计数器 2 的外部计数输入 P1 0 T2 和输入 P1 1 T2EX P2 口 P2 是一个带有内部上拉电阻的 8 位双向 I O 口 P2 的输出缓冲 级可驱动 吸收或输出电流 4 个 TTL 逻辑门电路 对端口 P2 写 1 通过 内部的上拉电阻把端口拉到高电平 此时可作输入口 作输入口使用时 因为 内部存在上拉电阻 某个引脚被外部信号拉低时会输出一个电流 IIL 在访 问外部程序存储器或 16 位地址的外部数据存储器 例如执行 MOVX DPTR 指令 时 P2 口送出高 8 位地址数据 在访问 8 位地址的外部数据存储器 如执行 MOVX RI 指令 时 P2 口输出 P2 锁存器的内容 Flash 编程或校验时 P2 亦接收高位地址和一些控制信号 P3 口 P3 口是一组带有内部上拉电阻的 8 位双向 I O 口 P3 口输出缓 冲级可驱动 吸收或输出电流 4 个 TTL 逻辑门电路 对 P3 口写入 1 时 它们被内部上拉电阻拉高并可作为输入端口 此时 被外部拉低的 P3 口将用上 拉电阻输出电流 IIL P3 口除了作为一般的 I O 口线外 更重要的用途是它 的第二功能 P3 口还接收一些用于 Flash 闪速存储器编程和程序校验的控制 信号 3 RST 复位输入 当振荡器工作时 RST 引脚出现两个机器周期以上 高电平将使单片机复位 4 ALE PROG 当访问外部程序存储器或数据存储器时 ALE 地址锁存 允许 输出脉冲用于锁存地址的低 8 位字节 一般情况下 ALE 仍以时钟振荡 频率的 1 6 输出固定的脉冲信号 因此它可对外输出时钟或用于定时目的 要 注意的是 每当访问外部数据存储器时将跳过一个 ALE 脉冲 对 Flash 存储器 编程期间 该引脚还用于输入编程脉冲 PROG 如有必要 可通过对特殊功能 寄存器 SFR 区中的 8EH 单元的 D0 位置位 可禁止 ALE 操作 该位置位后 只有一条 MOVX 和 MOVC 指令才能将 ALE 激活 此外 该引脚会被微弱拉高 单 片机执行外部程序时 应设置 ALE 禁止位无效 5 PSEN 程序储存允许 PSEN 输出是外部程序存储器的读选通信号 当 AT89C52 由外部程序存储器取指令 或数 据 时 每个机器周期两次 PSEN 有效 即输出两个脉冲 在此期间 当访问外部数据存储器 将跳过两次 PSEN 信号 6 EA VPP 外部访问允许 欲使 CPU 仅访问外部程序存储器 地址为 0000H FFFFH EA 端必须保持低电平 接地 需注意的是 如果加密位 LB1 被编程 复位时内部会锁存 EA 端状态 如 EA 端为高电平 接 Vcc 端 CPU 则 执行内部程序存储器中的指令 Flash 存储器编程时 该引脚加上 12V 的编程 允许电源 Vpp 当然这必须是该器件是使用 12V 编程电压 Vpp 7 XTAL1 振荡器反相放大器的及内部时钟发生器的输入端 淮安信息职业技术学院毕业设计论文 6 8 XTAL2 振荡器反相放大器的输出 2 3 实时时钟实时时钟芯片芯片 DS1302 DS1302 是 DALLAS 公司推出的涓流充电时钟芯片 内含有一个实时时钟 日历和 31 字节静态 RAM 通过简单的串行接口与单片机进行通信 图 2 3 所示 为 DS1302 的引脚排列 其中 VCC1 为后备电源 VCC2 为主电源 DS1302 由 VCC1 或 VCC2 两者中的较大者供电 所以在主电源关闭的情况下 也能保持时 钟的连续运行 X1 和 X2 是振荡源 外接 32 768KHz 晶振用来为芯片提供计时 脉冲 RST 是复位 片选线 通过把 RST 输入驱动置高电平来启动所有的数据传 送 RST 输入有两种功能 首先 RST 接通控制逻辑 允许地址 命令序列送入 移位寄存器 其次 RST 提供终止单字节或多字节数据的传送手段 当 RST 为 高电平时 所有的数据传送被初始化 允许对 DS1302 进行操作 如果在传送过 程中 RST 置为低电平 则会终止此次数据传送 I O 引脚变为高阻态 上电行动 时 在 VCC 大于等于 2 5V 之前 RST 必须保持低电平 在 SCLK 为低电平时 才能将 RST 置为高电平 I O 为串行数据输入端 双向 SCLK 始终是输入端 图 2 3 DS1302 的硬件接线图 时钟芯片 DS1302 的工作原理 a DS1302 的控制字节 DS1302 控制字节的高有效位 位 7 必须是逻辑 1 如果它为 0 则不能把 数据写入 DS1302 中 位 6 如果 0 则表示存取日历时钟数据 为 1 表示存取 RAM 数据 位 5 至位 1 指示操作单元的地址 最低有效位 位 0 如为 0 表示 要进行写操作 为 1 表示进行读操作 控制字节总是从最低位开始输出 b 数据输入输出 I O 在控制指令字输入后的下一个 SCLK 时钟的上升沿时 数据被写入 DS1302 数据输入从低位即位 0 开始 同样 在紧跟 8 位的控制指令字后的下 一个 SCLK 脉冲的下降沿读出 DS1302 的数据 读出数据时从低位 0 位到高位 7 第二章 系统硬件设计 7 c DS1302 的寄存器 DS1302 有 12 个寄存器 其中有 7 个寄存器与日历 时钟相关 存放的数 据位为 BCD 码形式 CH 是时钟暂停标志位 当该位为 1 时 时钟振荡器停止 DS1302 处于低功耗状态 当该位为 0 时 时钟开始运行 WP 是写保护位 在 任何的对时钟和 RAM 的写操作之前 WP 必须为 0 当 WP 为 1 时 写保护位 防止对任一寄存器的写操作 此外 DS1302 还有年份寄存器 控制寄存器 充电寄存器 时钟突发寄存 器及与 RAM 相关的寄存器等 时钟突发寄存器可一次性顺序读写除充电寄存器 外的所有寄存器内容 DS1302 与 RAM 相关的寄存器分为两类 一类是单个 RAM 单元 共 31 个 每个单元组态为一个 8 位的字节 其命令控制字为 C0H FDH 其中奇数为读操作 偶数为写操作 另一类为突发方式下的 RAM 寄存器 此方式下可一次性读写所有的 RAM 的 31 个字节 命令控制字为 FEH 写 FFH 读 2 4 温度温度传传感器感器 DS18B20 本设计的测温元件采用 DS18B20 数字温度传感器 该产品采用美国 DALLAS 公司生产的 DS18B20 可组网数字温度传感器芯片封装而成 具有 耐磨耐碰 体积小 使用方便 封装形式多样 适用于各种狭小空间设备数 字测温和控制领域 使用 DS18B20 数字温度传感器 可以感测周围环境温 度变化 并将数据传送给单片机进行处理 实现周围环境实时温度的监测 DS18B20 具有独特的单线接口 只需 1 个接口引脚即可通信 多点能力使分 布式温度检测应用得以简化 不需要外部元件 可用数据线供电 不需备份 电源 测量范围从 55 至 125 增量值为 0 5 等效的华氏温度范围是 67 F 至 257 F 以 9 位数字方式读出温度 在 1 秒 典型值 内把温度变 换为数字 用户可定义的 非易失性的温度告警设置 告诫搜索命令识别和 寻址温度在编定的极限之外的器件 温度告警情况 应用范围包括恒温控 制 工业系统 消费类产品 温度计或任何热敏系统 下图 图 2 4 为 DS18B20 硬件接线图 淮安信息职业技术学院毕业设计论文 8 图 2 4DS18B20 引脚接线 引脚说明 GND 为接地引脚 DQ 为数据输入输出脚 用于单线操作 漏极 开路 VCC 接电源正 a DS18B20 的主要特性 1 适应电压范围更宽 电压范围 3 0 5 5V 在寄生电源方式下可由 数据线供电 2 独特的单线接口方式 DS18B20 在与微处理器连接时仅需要一条口 线即可实现微处理器与 DS18B20 的双向通讯 3 DS18B20 支持多点组网功能 多个 DS18B20 可以并联在唯一的三 线上 实现组网多点测温 4 DS18B20 在使用中不需要任何外围元件 全部 传感元件及转换电 路集成在形如一只三极管的集成电路内 5 温范围 55 125 在 10 85 时精度为 0 5 6 可编程 的分辨率为 9 12 位 对应的可分辨温度分别为 0 5 0 25 0 125 和 0 0625 可实现高精度测温 7 在 9 位分辨率时最多在 93 75ms 内把温度转换为数字 12 位分辨 率时最多在 750ms 内把温度值转换为数字 速度更快 8 测量结果直接输出数字温度信号 以 一 线总线 串行传送给 CPU 同时可传送 CRC 校验码 具有极强的抗干扰纠错能力 9 负压特性 电源极性接反时 芯片不会因发热而烧毁 但不能正 常工作 DS18B20 只需要接到控制器 单片机 的一个 I O 口上 由于单总线为开漏 所以需要外接一个 4 7K 的上拉电阻 DS18B20 数据线是开漏结构 这就意味着 在没有数据的时候 总线处于什么样的状态是不确定的 加一个上拉电阻就可以 使总线在空闲的时候处于高电平状态 b DS18B20 的供电方式 DS18B20 的供电方式有两种 寄生电源供电方式和外部电源供电方式 本 第二章 系统硬件设计 9 设计采用外部电源供电方式 DS18B20 工作电源由 VDD 引脚接入 此时 I O 线不需要强上拉 不存在电源电流不足的问题 可以保证转换精度 外部电 源供电方式是 DS18B20 最佳的工作方式 工作稳定可靠 抗干扰能力强 而 且电路也比较简单 可以开发出稳定可靠的多点温度监控系统 2 5 液晶液晶显显示模示模块块 12864 2 5 1 概述概述 OCM12864 液晶显示模块是 128 64 点阵型液晶显示模块 可显示各种字符及 图形 可与 CPU 直接接口 具有 8 为标准数据接口 6 条控制线及电源线 采用 KSO108 控制 IC 其接线图如 2 5 外观尺寸 113 65 11mm ocm12864 1 93 70 10mm ocm12864 2 78 70 10mm ocm12864 3 视域尺寸 73 4 38 8mm ocm12864 1 70 7 38mm ocm12864 2 64 44mm ocm12864 3 2 5 2 最大工作范最大工作范围围 1 逻辑工作电压 Vcc 4 5 5 5V 2 电源地 GND 0V 3 LCD 驱动电压 Vee 0 10V 4 输入电压 Vee Vdd 5 工作温度 Ta 0 55 常温 20 70 宽温 6 保存温度 Tstg 10 65 图 2 5 液晶显示模块接线图 淮安信息职业技术学院毕业设计论文 10 2 6 语语音芯片及功放音芯片及功放 2 6 1 概述概述 ISD4003 4 单片录放时间为 4 分钟 其通信方式为 SPI 方式 详见 ISD 公司 关于该芯片的数据手册 本系统中以单片机模拟 SPI 方式与其接口 单片机对 其写入 16 位格式命令时序 2 6 2 芯片内部框芯片内部框图图以及以及电电路路图图 图 2 6 ISD4003 4 内部框图 SS 1 MOSI 2 MISO 3 Vssd 4 Vssa 11 Vssa 12 AUD OUT 13 AM CAP 14 ANA IN 16 ANA IN 17 Vcca 18 Vssa 23 RAC 24 INT 25 XCLK 26 Vccd 27 SCLK 28 U30 ISD4003 input 2 input 3 GND 4 output 5 VCC 6 U31 LM386 MISO MOSI SCLK SS INT RAC RT9 20K C7 104 C8 104 C9 104 E7 4 7uF E8 1uF E9 4 7uF E10 220uF MK750 Mic2 Q18 9014 R113 1K R114 10K R115 10K R116 300K R117 2K Speaker 8 0 5W GND 1 OUT 2 IN 3 U32 SE8117 VCC J21 Jumper 图 2 7 语音模块电路图 第二章 系统硬件设计 11 2 6 3 芯片管脚芯片管脚 语音芯片管脚排列图如 2 8 所示 1 2 3 4 5 6 7 8 9 10 11 12 13 14 SS MOSI MISO VSSD NC NC NC NC NC NC VSSA VSSA AUDOUT AMCAP 28 27 26 25 24 23 22 21 20 19 18 17 16 15 SCLK VCCD XCLK INT RAC VSSA NC NC NC NC VCCA ANA IN ANA IN NC 1 2 3 4 5 6 7 8 9 10 11 12 13 14 VSSA RAC NC NC INT XCLK VCCD SCLK SS MOSI MISO VSSD NC NC 28 27 26 25 24 23 22 21 20 19 18 17 16 15 NC NC VCCA ANA IN ANA IN NC AMCAP NC AUDOUT NC VSSA VSSA NC NC TSOP PDIP SOIC 图 2 8 芯片管脚排列图 引脚描述 引脚描述 电源 VCCA VCCD 为使噪声最小 芯片的模拟和数字电路使用不同 的电源总线 并且分别引到外封装不同管脚上 模拟和数字电源端最好分别走 线 尽可能在靠近供电端处相连 而去耦合电容应尽量靠近器件 地线 VSSA VSSD 芯片内部的模拟和数字电路也使用不同的地线 几个 VSSA 尽量在引脚焊盘上相连 并用低阻通路连到电源上 VSSD 也用低阻通 路连到电源上 同相模拟输入 ANA IN 录音信号的同相输入端 输入放大器可用 单端或差分驱动 单端输入时 信号由耦合电容输入 最大幅度为峰峰值 32mV 耦合电容和本端的 3K 电阻输入阻抗决定芯片频带的低端截止频率 差 分驱动时 信号最大幅度为峰峰值 16 mV 反相模拟输入 ANA IN 差分驱动时 这是录音信号的反相输入 端 信号通过耦合电容输入 最大幅度为峰峰值 16 mV 本端的标称输入阻抗为 56K 单段驱动时 本端通过电容接地 两种方式下 ANAIN ANAIN 端的耦 合电容值应相同 音频输出 AUD OUT 提供音频输出 可驱动 5K 的负载 片选 SS 此端为低 即向该 ISD4000 芯片发送指令 两条指令之 间为高电平 串行输入 MOSI 此端为串行输入端 主控制器应在串行时钟上升沿 之前半个周期将数据放到本端 供 ISD 输入 淮安信息职业技术学院毕业设计论文 12 串行输出 MISO ISD 的串行输出端 ISD 未选中时 本端呈高阻态 串行时钟 SCLK ISD 的时钟输入端 由主控制器产生 用于同步 MOSI 和 MISO 的数据转输 数据在 SCLK 上升沿锁存到 ISD 在下降沿移出 ISD 中断 INT 漏极开路输出 ISD 在任何操作 包括快进 中检测到 EOM 或 OVF 时 本端变低并保持 中断状态在下一个 SPI 周期开始时清除 中断 状态也可用 RINT 指令读取 OVF 标志 指示 ISD 录 放操作已到达存储器的末尾 EOM 标志只在放音中检测到内部的 EOM 标志时 此状态位置 1 行地址时钟 RAC 漏极开路输出 每个 RAC 周期表示 ISD 存储器的 操作进行了一行 ISD4000 系列中的存储器共 600 至 2400 行 该信号 175ms 保 持高电平 低电平为 25ms 快进模式下 RAC 的 218 75us 是高电平 31 25us 为 低电平 该端用于存储管理技术 外部时钟 XCLK 本端内部有下拉元件 芯片内部的采样时钟出厂前 已调校 误差在 1 内 商业级的芯片在整个温度和电压范围内 其频率变化 在 2 25 内 工业级芯片在整个温度和电压范围内 频率变化在 6 4 内 建 议使用稳压电源 若要求更高精度 可从本端输入外部时钟 如前表所列 由 于内部的防混淆及平滑滤波器已设定 故上述推荐的时钟频率不应改变 输入 时钟的占空比无关紧要 因内部首先进行了分频 在不外接时钟时 此端必须 接地 自动静噪 AMACP 当录音信号电平下降到内部设定的某一阈值以下 时 自动静噪功能使信号衰减 这样有助于减小无信号 静音 时的噪声 通 常 本端对地接 1uF 的电容 构成内部信号电平峰值检测电路的一部分 检出 的峰值电平与内部设定的阈值作比较 决定自动静噪功能的翻转点 大信号时 自动静噪电路不衰减 静音时衰减 6dB 1uF 的电容也影响自动静噪电路对信号 幅度的响应速度 本端接 VCCA 则禁止自动静噪 2 6 4 ISD4003 4 指令表指令表 语音芯片 ISD4003 4 指令表如表 2 1 所示 表 2 1 ISD4003 4 指令表 指令指令5 位控制码 位控制码 操作摘要操作摘要 POWERUP00100 上电 等待 TPUD 后器件可以工 作 第二章 系统硬件设计 13 SETPLAY11100 从指定地址开始放音 必须后跟 PLAY 指令使放音继续 PLAY11110 从当前地址开始放音 直至 EOM 或 OVF SETREC10100 从指定地址开始录音 必须后跟 REC 指令使录音继续 REC10110 从当前地址开始录音 直至 OVF 或停止 SETMC11101 从指定地址开始快进 必须后跟 MC 指令使快进继续 MC11111 执行快进 直到 EOM 若再无信息 则进入 OVF 状态 STOP0X110 停止当前操作 STOPPWRDN0X01X 停止当前操作并掉电 RINT0X110 读状态 OVF 和 EOM 2 7 独立式独立式键盘设计键盘设计 实现键盘控制的方法有多种 它可以用 FPGA 来进行控制 也可以用单片 机来进行控制 在本系统中 我们采用了单片机来进行控制 因为单片机可以 很好的解决键抖动 由若干个按键组成一个键盘 其电路结构可分为独立式键盘和矩阵式键盘 两种 独立式键盘每个键单独占用一根 I O 口线 每根 I O 口线上的按键工作 状态不会影响其他 I O 口线上的状态 矩阵式键盘按键排列为行列式矩阵结构 也称行列式键盘结构 4 行 4 列共 16 个键 只占用 8 根 I O 口线 键数目较多 可节省口线 本设计采用的是独立式键盘 键盘的工作方式可分为编程控制方 式和中断控制方式 CPU 在一个工作周期内 利用完成其他任务的空余时间 调用键盘扫描子程序 经程序查询 若无键操作 则返回 若有键操作 则进 而判断是哪个键 并执行相应的键处理程序 这种方式为编程扫描方式 由于 单片机在正常应用过程中 可能会经常进行键操作 因而编程控制方式使 CPU 经常处于工作状态 在进行本次设计中 只涉及到了设置 上调 下调 确定 四个功能 因此采用独立式键盘 按键设计图如图 2 9 所示 淮安信息职业技术学院毕业设计论文 14 图 2 9 按键设计 第三章 系统软件设计 15 第三章第三章 系统软件设计系统软件设计 3 1 主程序主程序设计设计 包含主程序设计 语音芯片录放音程序设计 实时时钟程序设计 温度芯 片程序设计 液晶显示程序设计五部分 图 3 1 所示为主程序流程图 图 3 1 主程序流程图 在此 仅将流程图中的重点做以解释说明 由于系统中要用到四个外部中 断 而 AT89C52 只有 2 个中断源引脚 INT0 和 INT1 所以需要另外扩展 2 个中断 源引脚 在本系统中 将计数引脚 T0 和 T1 扩展为 2 个中断源引脚 具体方法 如下 1 将定时器 计数器 T0 和 T1 设定为计数功能 2 将定时器 计数器 T0 和 T1 设定为方式 2 即自动加载 8 位计数定时模式 淮安信息职业技术学院毕业设计论文 16 3 设定 TL0 和 TL1 计数初值为 0 xFF 设定 TH0 和 TH1 加载数据为 0 xFF 4 开启定时器 计数器中断 将计数中断 0 1 设定为下降沿触发方式 每当 T0 或 T1 引脚出现负跳变就 会产生一次中断 达到了扩展 2 个中断源的目的 3 2 DS1302 DS1302 的引脚中 VCC1 为后备电源 VCC2 为主电源 RST 是复位 片选线 通过把 RST 输入驱动置高电平来启动所有的数据传送 RST 输入有两种功能 首 先 RST 接通控制逻辑 允许地址 命令序列送入移位寄存器 其次 RST 提供 终止单字节或多字节数据的传送手段 当 RST 为高电平时 所有的数据传送被 初始化 允许对 DS1302 进行操作 如果在传送过程中 RST 置为低电平 则会终 止此次数据传送 I O 引脚变为高阻态 上电运行时 在 Vcc 2 0V 之前 RST 必须保持低电平 只有在 SCLK 为低电平时 才能将 RST 置为高电平 I O 为串 行数据输入输出端 双向 SCLK 为时钟输入端 3 3 温度芯片 DS18B20 温度数据由单片机从数字温度芯片 DS18B20 获取 DS18B20 的通信方式为单 线总线方式 详见美国 DSLLAS 公司关于该芯片的数据手册 本系统中以单片 机模拟单线总线方式实现与其接口 单片机以字节为单位对其进行读写操作 读写一个字节分成 8 个连续的位读写时隙实现 单片机读写 DS18B20 的位时隙 如图 3 2 3 3 所示 图 3 2 主机读 0 时隙和读 1 时隙 第三章 系统软件设计 17 图 3 3 主机写 0 时隙和写 1 时隙 单片机对 DS18B20 的操作需遵循以下步骤 1 复位 即单片机发出复位脉冲 将总线从高电平拉到低电平并保持 480 微秒到 960 微秒 然后释放 等待接收 DS18B20 的存在脉冲 DS18B20 将总线 从高电平拉低 保持 60 微秒到 240 微秒 2 发送 ROM 操作指令 即读 ROM 33H 匹配 ROM 55H 忽略 ROM CCH 和搜素 ROM F0H 其中之一 3 发送存储器操作指令 即读便笺存储器 BEH 写便笺存储器 4EH 复制便笺存储器 18H 温度转换 44H 回写 E2PROM 的值到便笺存储器 B8H 和读电源供给 B4H 其中之一 4 处理或数据操作 要注意 DS18B20 进行一次 12 位的温度转换需要 750 毫秒 如果温度转换没有结束就去读温度数据 将不能得到正确的温度值 且 会终止正在进行的温度转换 所以 必须等待足够的时间 让温度转换完成 本系统中 重复 ShowTimes 次读取时间数据 显示时间和温度等操作来实现这 个等待时间 3 4 OCM12864 液晶液晶显显示示 OCM12864 液晶显示模块是 128 64 点阵型液晶显示模块 可显示各种字符及 图形 可与 CPU 直接接口 具有 8 为标准数据接口 6 条控制线及电源线 采用 KSO108 控制 IC AT89C52 读 写 0CM1286 时序图如图 3 4 3 5 淮安信息职业技术学院毕业设计论文 18 图 3 4 AT89C52 读 OCM12864 1 的时序 图 3 5 AT89C52 写 OCM12864 1 的时序 3 5 语语音芯片音芯片 ISD4003 语音报时和闹铃功能由语音芯片 ISD4003 4 实现 ISD4003 4 单片录放时间 为 4 分钟 其通信方式为 SPI 方式 详见 ISD 公司关于该芯片的数据手册 本 系统中以单片机模拟 SPI 方式与其接口 单片机对其写入 16 位格式命令时序如 图 3 6 所示 图 3 6 单片机写 16 位格式命令时序图 单片机启动 ISD4003 4 放音需遵循以下步骤 1 发送上电指令 2 等待上电延时时间 3 发送设定放音起始地址指令和放音起始地址 16 位二进制为 11100 A 表示地址位 4 发送放音指令 16 位二进制为 11110 X 表示无作用 第三章 系统软件设计 19 在本系统中 首先选取不同的起始地址分别录入语音 现在时间 温度 摄氏度 0 到 10 的语音 点 和 分 然后再录入闹铃音 闹钟开 启状态下 若时间到达闹钟设定时间 则按指定地址播放闹铃音 若发生计时 中断 T0 将中断发生时的时 分和温度值分离为十位和个位两部分 再分别计 算出对应的语音存储地址 按照十位的语音 10 的语音 个位的语音进行语 音输出 每次语音报时以输出语音 现在时间 开始 接着按上述方式分别输 出时和分的语音 再输出语音 温度 然后输出温度值的语音和语音 摄氏度 3 6 源程序源程序 TIMER0 CLR TR0 MOV TH0 0B8H MOV TL0 000H DJNZ R1 GOON PUSH ACC MOV A P3 PUSH ACC MOV P3 0FFH MOV A R7 PUSH ACC ACALL TIME MOV R1 50 POP ACC MOV R7 A POP ACC MOV P3 A POP ACC GOON SETB TR0 RETI TIME MOV A 53H ADD A 01H 淮安信息职业技术学院毕业设计论文 20 DA A MOV E7 A CLR C SUBB A 60H JNC MIN1 MOV 53H R7 SJMP OK MIN1 MOV 53H 00H JB B 6 OK 当 B 6 为 1 时 设置时间不进位 TIME2 MOV A 52H SWAPA INC A MOV R7 A CLR C SUBB A 0CAH JNC MIN2 MOV A R7 SWAPA MOV 52H A SJMP OK MIN2 MOV 52H 0CH INC 51H VLR C MOV A 51H 第三章 系统软件设计 21 SUBB A 0C6H JNC HOUR SJMP OK HOUR MOV 51H 0C0H TIME3 MOV A 50H ADD A 01H DA A MOV R7 A CLR C SUBB A 24H JNC HOUR1 MOV 50H R7 SJMP OK HOUR1 MOV 50H 00H OK RET TIMER1 PUSH ACC MOV A R7 PUSH ACC CLR TR1 MOV TH1 0DcH 淮安信息职业技术学院毕业设计论文 22 MOV TL1 00H SETB TR1 ACALL TIME1 POP ACC MOV R7 A POP ACC RETI TIME MOV A 43H ADD A 01H DA A MOV R7 A JC MIN11 MOV 43H R7 SJMP OK1 MIN11 43H 00H TME21 MOV A 42H SWAPA INC A MOV R7 A CLR C SUBB A 0CAH JNC MIN21 MOV A R7 SWAPA MOV 42H A SJMP 第三章 系统软件设计 23 OK1 MIN21 MOV 42H 0CH INC 41H CLR C MOV A 41H SUBB A 0C6H JNC HOUR2 SJMP OK1 HOUR2 MOV 41H 0C0H TIME31 MOV A 40H ADD A 01H DA A MOV R7 A CLR C SUBB A 60H JNC HOUR11 MOV 40H R7 SJMP OK1 HOUR11 MOV 40H 00H OK RET 淮安信息职业技术学院毕业设计论文 24 第四章第四章 系统调试系统调试 4 1 Proteus 软软件介件介绍绍 Proteus 软件是来自英国 Labcenter electronics 公司的 EDA 工具软件 Proteus 软件有近 20 年的历史 在全球广泛使用 除了其具有和其它 EDA 工具 一样的原理布图 PCB 自动或人工布线及电路仿真的功能外 其革命性的功能是 他的电路仿真是互动的 针对微处理器的应用 还可以直接在基于原理图的虚 拟原型上编程 并实现软件源码级的实时调试 如有显示及输出 还能看到运 行后输入输出的效果 配合系统配置的虚拟仪器如示波器 逻辑分析仪等 Proteus 能够很容易的为用户建立了完备的电子设计开发环境 Proteus 产品 系列也包含了革命性的 VSM 技术 用户可以对基于微控制器的设计连同所有的 周围电子器件一起仿真 不愧为一款非常优秀的单片机仿真软件 Proteus 组合了高级原理布图 混合模式 SPICE 仿真 PCB 设计以及自动布 线来实现一个完整的电子设计系统 此系统受益于 15 年来的持续开发 被 电 子世界 在其对 PCB 设计系统的比较文章中评为最好产品 Proteus 产品系 列也包含了我们革命性的 VSM 技术 用户可以对基于微控制器的设计连同所有 的周围电子器件一起仿真 用户甚至可以实时采用诸如 LED LCD 键盘 RS232 终端等动态外设模型来对设计进行交互仿真 其功能模块 个易用而又功能强大的 ISIS 原理布图工具 PROSPICE 混合 模型 SPICE 仿真 ARES PCB 设计 PROSPICE 仿真器的一个扩展 PROTEUS VSM 便于包括所有相关的器件的基 于微处理器设计的协同仿真 此外 还可以结合微控制器软件使用动态的键盘 开关 按钮 LEDs 甚至 LCD 显示 CPU 模型 1 支持许多通用的微控制器 如 PIC HC11 以及 8051 2 交互的装置模型包括 LED 和 LCD 显示 RS232 终端 通用键盘 3 强大的调试工具 包括寄存器和存储器 断点和单步模式 4 IAR C SPY 和 Keil uVision2 等开发工具的源层调试 5 应用特殊模型的 DLL 界面

温馨提示

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

评论

0/150

提交评论