基于单片机具有录音功能的音乐闹钟的设计毕业论文.doc_第1页
基于单片机具有录音功能的音乐闹钟的设计毕业论文.doc_第2页
基于单片机具有录音功能的音乐闹钟的设计毕业论文.doc_第3页
基于单片机具有录音功能的音乐闹钟的设计毕业论文.doc_第4页
基于单片机具有录音功能的音乐闹钟的设计毕业论文.doc_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

摘 要 电子技术和计算机技术应用领域不断扩大 单片机技术已成为电子技术领域 中的一个新的亮点 单片机自出现以来已走过了近 20 年的发展路程 随着单片 机技术的迅猛发展和应用领域不断扩大 纵观单片机发展里程 几乎很难找到我 们生活的哪个领域没有单片机的踪迹 基于单片机的通用定时控制系统正是属 于单片机技术范围 特别是在智能化控制高度发展的前提下 定时控制是不可 或缺的条件 可以说只要有智能化的存在 就必须要用到定时控制 导弹的导 航装置 飞机上各种仪表的控制 计算机的网络通讯与数据传输 工业自动化 过程的实时控制和数据处理 民用豪华轿车的安全保障系统 全自动洗衣机的 控制 以及程控玩具 电子宠物等等 这些都离不开单片机通用定时技术 更 不用说自动控制领域的机器人 智能仪表 医疗器械了 本文完成了一种智能音乐闹钟的设计 本设计是由中央控制器 时钟系统 显示器及键盘部分组成 控制器采用单片机 AT89C51 时钟系统采用美国 DAL LAS 公司生产的 ISD4002 实时时钟芯片 它将产生的时间信号传递给单片机 单片机通过 74LS48 译码 使 LED 8 段数码管显示当前的时间 在计时过程中 当到达所设定的闹铃时间后 将播放音乐 并且此时 LED 数码管所显示的不再 是时间而是一个代码 只有用户在将这个代码从键盘上正确的输入进去 才能 将其音乐关闭 否则音乐将一直播放下去 用户可以通过键盘设置闹铃的时间 和校正时间 关键词 单片机 ISD4002 智能闹钟 LED 数码管 AT89C51 智能化 1 Abstract Electronic technology and computer technology has been expanding single chip technology has become in the field of electronic technology of a newbright spot Since there has been single chip single chip technology has gone through nearly 20 years away with the rapid development of single chip technology and applications has been expanding when we look back it is very difficult to find the area of almost no traces of single chip micro computer MCU based control system is common from time to time belonging to thescopeofsingle chiptechnology Especially in the intelligent control of a high degree of development the timing control is an indispensable condition Can be said to exist as long as there is intelligent it is necessary to take control of the timing Missile navigation equipment aircraft control on a variety of instruments computer network communications and data transmission industrial automation real time process control and data processing limousine civilian security systems automatic control of washing machines as well as program controlled toys electronic pets etc which can not be separated from general purpose single chip technology from time to time Not to mention the field of robot automation intelligent instrumentation medical equipment has been In this paper a smart alarm clock music design This design is from the central controller the clock system monitor and keyboard parts Controllers using SCM AT89C51 the clock system uses the U S company s ISD4002 DALLAS real time clock chip it will have the time to signal transmitted to the microcontroller SCM through 74 LS48 decoding LED 8 of the digital display of the current Time When in the course of time set by the arrival of the alarm time will play music and at this time of the LED digital display is no longer time but a code that only users of this code from the keyboard on the correct input into the Music can be closed otherwise would have been broadcast on music Users can set the alarm through the keyboard of the time and correction time Keywords singlechip ISD4002 Smart alarm clock LED digital display AT89C51 intelligent 目 录 摘 要 Abstract 第 1 章 引 言 2 1 1 本课题的研究背景 2 1 2 音乐闹钟国内外发展现状 2 1 3 本课题的主要研究内容及意义 3 第 2 章 音乐闹钟系统组成及分析 4 2 1 音乐闹钟系统原理 4 2 2 音乐闹钟系统设计转换算法 4 第 3 章 音乐闹钟系统硬件设计 7 3 1 总电路设计框架图 7 3 2 单片机及外围电路设计 7 3 3 ISD4002 外围电路的设计 9 3 4 单片机主体电路设计 15 3 5 按键电路设计 20 3 6 显示电路的接口设计 20 3 7 报警模块设计 23 3 8 系统电源设计 23 第 4 章 音乐闹钟系统软件设计 24 4 1 系统软件设计框架 24 4 2 时间系统软件设计 24 4 3 重要节日提示软件设计 26 4 4 秒表软件设计 27 4 5 LCD 显示程序设计 28 4 6 录音模块的软件设计 30 4 7 播放音乐模块的软件设计 33 4 8 按键程序设计 34 第 5 章 音乐闹钟的制作与调试 36 5 1 印制电路板的设计与制作 36 5 2 实物的制作与系统的调试 40 第 6 章 结 论 44 1 参考文献 45 致 谢 47 附 录 48 第 1 章 引 言 1 1 本课题的研究背景 目前 随着科技的进步 电子产品的智能化水平不断提高 应用也越来越 广泛 例如电话查询服务 通信 工程控制 语言学习及各种家用电器 车载 设备的功能增加 但设备的操控性越来越复杂 人机交互设计在系统设计中的 地位越来越重要 受到系统成本 体积等多方面的限制 应用开发可以选择的 人机交互设计方法并不多 增强人机交互性能的方法开始受到应用开发的重视 1 电子产品的人机界面在日常生活中应用也比较广泛 比如电子称 当我们 一站上电子称时 就会自动读出身高和体重 再如当我们走进超市时 经常能 听到 欢迎光临 的声音 还有闹钟的自动报时 玩具智能声控小车等等 在 作战时 当有敌军进入我区时 会发生警告声 如 有敌人进入 等 这些声 音的提示就是应用了语音集成电路及相应的控制器件 再如 时间 温度等通 过液晶显示出现在人们面前 在超市啊 在公交车站啊 使人们认识到时间如 生命 中国大文学家鲁迅曾今有云 浪费自己的时间就是慢性自杀 浪费别 人的时间就是谋财害命 音乐闹钟的发展已趋于成熟 其功能也相当完善 应用也十分广泛 从一 开始的年 月 日的显示到年 月 日和温度的显示再到年 月 日的显示 温度的显示和语音整点报时 最后到年 月 日的显示 温度的显示 语音整 点报时 和阳历 阴历之间的转换及其显示等等 1 2 音乐闹钟国内外发展现状 目前 市场上出售的音乐闹钟以显示时间和年历为主 深圳新安泰恒电子 厂设计生产的电子万年历就是一种多功能音乐闹钟 它是把已有的挂历以及装 饰画等和数字显示的万年历结合为一体 由于采用了单片微机技术 软 硬件 配合使用 实现了年历钟 公历 农历 多点报闹 定时 世界时 家用定时 控制器等诸多功能 使它不仅具有挂历的装饰性 而且具有较高的实用性 并 且具有极强的功能扩展潜力 其特征是 数字显示的万年电子历钟与挂历 及 3 装饰画 镜子结合为一体 国内一种产品电子万年历 采用了基于 AT89C52 单 片机的控制技术 并结合了语音录放模块 ISD1420 和红外遥控技术 使其具备 了遥控调时 语音报时等功能 具有一定的新颖性和实用性 使用也更为方便 所以这成了厂家发展制作的方向 2 1 3 本课题的主要研究内容及意义 本系统主要由单片机以及数码管 按键等组成 实现有时钟显示 定点闹 铃和录音等功能 闹钟可以录下用户的声音 例如用户明天要做的重要事情等 给用户准确的提醒 用户可以通过按键修改时钟后查看闹铃时间 由于本系统 采用了数码管作为显示器 所以在夜间看时间更加方便 另外 本系统可以设 定多个定时时间 实现多点定时提醒 这是一般闹钟没有的功能 本电子闹钟 具有性能可靠 电路简单 加上采用了逐位修改的方法使得修改时间更加方便 而且它还能方便的扩展其他功能 如秒表 日历等 我理想中的音乐闹钟 也 是我想做的 即公历转农历 语音报时 语音录音 及语音播放 由于时间 能力及元器件供应等因素 只能一步一步做 尽量多得实现功能 本课题的特 点与一般的音乐闹钟相比 具有重要节日提示功能 意义 从电子产品在做显示上看 虽然有很多人做 而且比较普遍 俗话 说得好 随大众化走不会错 把时间 录音 报警合为一体 使功能更齐全更 具人性化 从个人出发 此课题虽然常见 但要做精确难度不小 趁毕业设计 可以 让我再动动手 同时能学到不少相关知识 可以对单片机有进一步的了解 对 液晶显示也有更深的理解 从历史和生活出发 在生活中 我们离不开时间 时间见证了历史 历史 凝结了世界光辉的成就和人类文明 而且世界还在向前发展 我们需要时间来 证明人类的伟大 通过音乐闹钟的制作 可以把平时所学的理论知识运用到实践 可以把软件和 硬件知识很好的配合起来 可以把所学的这方面知识统一起来 给自己的做个 比较好的总结 单片机与人体界面一体化的运用有进一步的理解和体会 第 2 章 音乐闹钟系统组成及分析 2 1 音乐闹钟系统原理 音乐闹钟原理是以单片机为核心 时钟芯片及语音芯片为辅助器件 从而 组成一个简洁的系统 在软件程序设计方面 应用了模块式编程思想 利用程 序将按键赋予不同的功能 复位功能 翻页功能 调整功能 加减功能 从整 个系统看 就像一棵树 在树的主干上生长了很多了树干和树梢 也像蜘蛛一 样 中间一个主体 向四周伸展着许多蛛丝 无论从哪方面出发 都可以扩展 无限的功能 只要有足够的存储空间就行 AT89C51 LCD1602 按键 报警 ISD4002 图图 2 12 1 总电路框架图总电路框架图 2 2 音乐闹钟系统设计转换算法 2 2 1 实现公历与农历之间的相互转换 要实现公历与农历之间的相互转换 为了方便起见 这里引入 5 个变量 标 准阳历 标准阴历 准公历 准农历和假积日 其中 标准阳历和标准阴历的 特点是每月均为 30 天 准公历和准农历为初步确定的公历和农历 有待验证和 修正 在后面具体介绍 假积日是某日对应月数乘以 30 加上该日对应的日数 1 从公历到农历转换 通过 4 个转换过程来实现公历到农历的转换 即公历 标准阳历 标准阴 历 准农历 农历 在实现从公历到农历的转换过程中 不但要用到基本数据 5 表里该年的数据 而且还可能要用到上年的数据 因此 根据该年的公历年份 先查询基本数据表得到该年和上年数据 然后解释得到的数据所代表的有用 可能用到的 信息 这里以 1981 年 4 月 13 日为例具体介绍从公历到农历的 转换 因为本例中 1981 年和 1980 年的数据分别是 0X65126D05 和 0X75025601 该数据代表的有用信息为 1981 年无闰月 1 3 4 6 7 10 月是小月 其余月是大月 岁首积日差是 35 日 1980 年无闰月 11 12 月是 大月 3 1 从公历到标准阳历的转换 根据该公历日期及该日前几个月大小 判 断是否是闰年 转换公历成标准阳历 求出标准阳历的假积日 通过公历日数 加上大月个数求得某日数 若公历日期在 2 月后 平年则日数再减去 2 闰年 则日数再减去 1 如果该日数小于 1 那么 30 加上该日数为标准阳历日数 公历月数减去 1 为标准阳历月数 如果该日数大于 30 那么 该日数减去 30 为标准阳历日数 公历月数加上 1 为标准阳历月数 否则 该日数为标准阳历 日数 公历月数为标准阳历月数 根据假积日的定义求出标准阳历的假积日 因为 1981 年是平年 4 月前有 2 个大月和 2 月 13 2 2 13 1 1330 98 30 3 98 30 8 1981 年 3 月前无闰月 有 1 个小月 所以 公历 1981 年 4 月 13 日是标准阴历 1981 年 3 月 8 日 3 从标准阴历到准农历的转换 判断该日对应标准阴历和公历年份关系 如果两者在同一年 那么 根据标准阴历对应农历该月前有无闰月以及各月大 小 若有闰月则先把月数减去 1 再判断该月是否闰月 然后把日数加上小月 个数 得到准农历 如果两者不在同一年 那么 根据上年该月后 包括当月 有无闰月以及该月后各月大小 日数减去小月个数 若有闰月则该月前面加闰字 得到准农历 因为本例中标准阴历和公历在同一年 1981 年 3 月前无闰月 有一个小月 所以公历 1981 年 4 月 13 日是准农历 1981 年 3 月 9 日 4 从准农历到农历的转换 判断该日准农历和标准阴历月数关系 如果 准农历比标准阴历多一个月 那么 根据标准阴历当月大小 修正得到农历 若月小则准农历日数再加上 1 为公历日数 如果准农历比标准阴历少一个月 那么 根据准农历当月大小 修正得到农历 若月小则准农历日数再减去 1 为 公历日数 否则不用修正 因为 3 月 9 日和 3 月 8 日在同一个月 所以公历 1981 年 4 月 13 日是农历 1981 年 3 月 9 日 2 从农历到公历转换 这里通过四个转换过程来实现农历到公历的转换 即农历 标准阴历 标 准阳历 准公历 公历 在实现过程中需要使用基本数据表中的数据 因此 在介绍转换过程前 先根据举例中该年农历年代 查询基本数据表得到该年数 据 然后解释数据代表的信息 这里以农历 2006 年 8 月 15 日为例具体介绍从 农历到公历的转换 因为本例中 2006 年数据是 0X98622A7D 该数据代表信 息 2006 年有闰 7 月而且闰月为小月 2 4 6 10 月为小月 其余月为大月 岁首积日差为 28 日 7 第 3 章 音乐闹钟系统硬件设计 3 1 总电路设计框架图 AT89C51 LCD1602 按键 报警 ISD4002 图图 3 13 1 总电路框架图总电路框架图 如图 3 1 所示是整个音乐闹钟系统硬件电路的功能框图 它包括中心控制 器 ISD4002 及电源系统 蜂鸣器 LCD1602 时间 重要节日显示 万年历调整 模块 开关按键 本地报警器等系统组成 各个系统之间有机的组合在一起 完成了超级多功能电子音乐闹钟系统硬件电路 3 2 单片机及外围电路设计 这里我选择了 AT89C51 之所以选择了它就是因为它的最小系统比较简 单 只要加了晶振 11MHZ 复位电路 5V 电源就可以工作 最重要的是它 有 8K 的 ROM 可以完成整个程序的设计 可以不用扩展外部 ROM 又可以把 IC 电路简单化 正所谓两全齐美 事实也是如此整个程序需要有接近 5 5K 的 ROM AT89C51 具有以下标准功能 8k 字节 Flash 256 字节 RAM 32 位 I O 口线 看门狗定时器 2 个数据指针 三个 16 位定时器 计数器 一个 6 向量 2 级中断结构 全双工串行口 片内晶振及时钟电路 另外 AT89C51 可降至 0Hz 静态逻辑操作 支持 2 种软件可选择节电模式 空闲模式下 CPU 停止工 作 允许 RAM 定时器 计数器 串口 中断继续工作 掉电保护方式下 RAM 内容被保存 振荡器被冻结 单片机一切工作停止 直到下一个中断或硬 件复位为止 以上的这些功能已经大大满足了这个系统的设计 4 晶振 12MHZ 与复位电路是传统的电路 5V 电源是用了 LM7805 来稳 5V 的电压 不过输入电压要在 7V 以上才会输出 5V 的电压 所以我选择了现 成的变压器电源 是 15VDC 输出 这样就足够了整个系统的电压供给 这种方 法实现起来很简单 效果也可以 但这里我们直接用 5V 电源供电 更简单 晶振与复位电路如图 3 2 所示 图图 3 2 单片机及外围晶振 复位电路图单片机及外围晶振 复位电路图 9 3 3 ISD4002 外围电路的设计 3 3 1 ISD4002 外围控制电路 图图 3 3 ISD4002 外围控制电路图外围控制电路图 图 3 3 为 ISD4002 语音芯片的外围电路 外部元件包括 麦克风 扬声器 喇叭 少数电阻 电容 再加上电源 这样就构成了一个语音录放系统 其 他的功能块包括内部时钟 前置放大器 滤波器 自动增益控制器 AGC 功 率放大器 控制逻辑和模拟存储器全部都做在芯片上 如图所示 麦克风经三极管连接到 ISD4002 的 17 脚 C6 为耦合电容 C1 C2 CC1 为电源滤波电容 13 脚通过运放 LM386 连接到喇叭 变位器 DW 可以改变音量大小 C 可以滤去高频部分 14 脚为自动静噪 AMCAP 当录音信号电平下降到内部设定的某一阈值 以下时 自动静噪功能使信号衰弱 这样有助于养活无信号 静音 时的噪声 通常本端对地接 1 F 的电容 构成内部信号电平峰值检测电路的一部分 检出 的峰值电平与内部设定的阈值作比较 决定自动静噪功能的翻转点 大信号时 自动静噪电路不衰减 静音时衰减 6dB 1 F 的电容也影响自动静噪电路对信 号幅度的响应速度 本端接 VCCA 则禁止自动静噪 该电路中此脚对地接 1 F 的电容 3 3 2 ISD4002 介绍 图图 3 4 ISD4002 管脚图管脚图 公司的串行 接口单片语音录放电路有 四个系列 系列已 停产 电路采用多电平模拟量直接存储技术 音质比 系列更出色 单片录放时间可达 分钟 多芯片级联录放 可延长录放时间 适用于 手机录音 公交车报站 语音导览 部队及校园广播自动播放 消防及空防警 报等场合 图 3 4 为 ISD4002 的管脚图 5 工作电压 3V 单片录放时间 2 至 6 分钟 音质好 适用于移动电话及其他 便携式电子产品中 芯片采用 CMOS 技术 内含振荡器 防混淆滤波器 平滑 滤波器 音频放大器 自动静噪及高密度多电平闪烁存贮陈列 芯片设计是基 于所有操作必须由微控制器控制 操作命令可通过串行通信接口 SPI 或 Microwire 送入 芯片采用多电平直接模拟量存储技术 每个采样值直接存贮 在片内闪烁存贮器中 因此能够非常真实 自然地再现语音 音乐 音调和效 果声 避免了一般固体录音电路因量化和压缩造成的量化噪声和 金属声 采 样频率可为 4 0 5 3 6 4 8 0kHz 频率越低 录放时间越长 而音质有所下 11 降 片内信息存于闪烁存贮器中 可在断电情况下保存 100 年 典型值 反复 录音 10 万次 1 引脚描述 电源 VCCA VCCD 为使噪声最小 芯片的模拟和数字电路使用不同 的电源总线 并且分别引到外封装的不同管脚上 模拟和数字电源端最好分别 走线 尽可能在靠近供电端处相连 而去耦电容应尽量造近器件 地线 VSSA VSSD 芯片内部的模拟和数字电路也使用不同的地线 几个 VSSA 尽量在引脚焊盘上相连 并用低阻通路连至电源上 VSSD 也用低 阻通路连至电源上 这些接地通路要足以使 VSSA 与 VSSD 之间的阻值小于 3 芯片的背面是通过衬底电阻连接到 VSS 的 在做 COB 时托盘须接 VSS 或悬空 同相模拟输入 ANA IN 这是录音信号的同相输入端 输入放大器可用 单端或差分驱动 单端驱动时 信号由耦合电容输入 最大幅度为峰峰值 32mV 耦合电容和本端的 3K 电阻输入阻抗决定了芯片频带的低端截止频率 差分驱动时 信号最大幅度为峰峰值 16mV 串行输出 MISO ISD 的串行输出端 ISD 未选中时 本端呈高阻态 串行时钟 SCLK ISD 的时钟输入端 由主控制器产生 用于同步 MOSI 和 MISO 的数据传输 数据在 SCLK 上升沿锁存到 ISD 在下降沿移出 ISD 中断 INT 本端为漏极开路输出 ISD 在任何操作 包括快进 中检测 到 EOM 或 OVF 时 本端变低并保持 中断状态在下一个 SPI 周期开始时清除 中断状态也可用 RINT 指令读取 OVF 标志 指示 ISD 的录 放操作已到达存 储器的未尾 EOM 标志 只在放音中检测到内部的 EOM 标志时 此状态位 才置 1 行地址时钟 RAC 漏极开路输出 每个 RAC 周期表示 ISD 存储器的操 作进行了一行 该信号 175ms 保持高电平 低电平为 25ms 快进模式下 RAC 的 218 75 s 是高电平 31 25 s 为低电平 该端可用于存储管理技术 外部时钟 XCLK 本端内部有下拉元件 芯片内部的采样时 钟在出厂 前已调校 误差在 1 内 商业级芯片在整个温度和电压范围内 频率变化在 2 25 内 工业级芯片在整个温度和电压范围内 频率变化在 6 4 内 此时 建议使用稳压电源 若要求更高精度 可从本端输入外部时钟 如前表所列 由于内部的防混淆及平滑滤波器已设定 故上述推荐的时钟频率不应改变 输 入时钟的占空比无关紧要 因内部首先进行了分频 在不外接地时钟时 此端 必须接地 自动静噪 AMCAP 当录音信号电平下降到内部设定的某一阈值以下时 自动静噪功能使信号衰弱 这样有助于养活无信号 静音 时的噪声 通常本 端对地接 1 F 的电容 构成内部信号电平峰值检测电路的一部分 检出的峰值 电平与内部设定的阈值作比较 决定自动静噪功能的翻转点 大信号时 自动 静噪电路不衰减 静音时衰减 6dB 1 F 的电容也影响自动静噪电路对信号幅 度的响应速度 本端接 VCCA 则禁止自动静噪 6 2 SPI 串行外设接口 ISD4003 工作于 SPI 串行接口 SPI 协议是一个同步串行数据传输协议 协 议假定微控制器的 SPI 移位寄存器在 SCLK 的下降沿动作 因此对 ISD4003 而 言 在时钟止升沿锁存 MOSI 引脚的数据 在下降沿将数据送至 MISO 引脚 协议的具体内容为 1 所有串行数据传输开始于 SS 下降沿 2 SS 在传输期间必须保持为低电平 在两条指令之间则保持为高电平 3 数据在时钟上升沿移入 在下降沿移出 4 SS 变低 输入指令和地址后 ISD 才能开始录放操作 5 指令格式是 5 位控制码 加 11 位地址码 6 ISD 的任何操作 含快进 如果遇到 EOM 或 OVF 则产生一个中断 该中断状态在下一个 SPI 周期开始时被清除 7 使用 读 指令使中断状态位移出 ISD 的 MISO 引脚时 控制及地址数 据也应同步从 MOSI 端移入 因此要注意移入的数据是否与器件当前进行的操 作兼容 当然 也允许在一个 SPI 周期里 同时执行读状态和开始新的操作 即新移入的数据与器件当前的操作可以不兼容 8 所有操作在运行位 RUN 置 1 时开始 置 0 时结束 9 所有指令都在 SS 端上升沿开始执行 13 3 信息快进 用户不必知道信息的确切地址 就能快进跳过一条信息 信息快进只用于 放音模式 放音速度是正常的 1600 倍 遇到 EOM 后停止 然后内部地址计数 器加 1 指向下条信息的开始处 4 上电顺序 器件延时 TPUD 8kHz 采样时 约为 25 毫秒 后才能开始操作 因此 用户发完上电指令后 必须等待 TPUD 才能发出一条操作指令 例如 从 00 从处发音 应遵循如下时序 1 发 POWER Up 命令 2 等待 TPUD 上电延时 3 发地址值为 00 的 SETPLAY 命令 4 发 PLAY 命令 器件会从此 00 地址开始放音 当出现 EOM 时 立即中断 停止放音 如果从 00 从处发音 则按以下时序 1 发 POWER UP 命令 2 等待 TPUD 上电延时 3 发 POWER UP 命令 4 等待 2 倍 TPUD 5 发地址值为 00 的 SETREC 命令 6 发 REC 命令 器件便从 00 地址开始录音 一直到出现 OVF 存贮器末尾 时 录音停止 表表 3 1 ISD4002 指令表指令表 令指5 位控制码操作摘要 POWERUP00100 上电 等待 TPUD 后器件可以工作 SET PLAY11100 从指定地址开始放音 必须后跟 PLAY 指令使放音 继续 PLAY11110 从当前地址开始放音 直至 EOM 或 OVF SET REC10100 从指定地址开始录音 必须后跟 REC 指令录音继 续 REC10110 从当前地址开始录音 直至 OVF 或停止 SET MC11101 从指定地址开始快进 必须后跟 MC 指令快进继续 MC11111 执行快进 直到 EOM 若再无信息 则进入 OVF 状态 STOP0X110 停止当前操作 STOP WRDN0X01X 停止当前操作并掉电 RINT0X110 读状态 OVF 和 EOM 注 快进只能在放音操作开始时选择 5 SPI 端口的控制位如图 3 5 图图 3 5 SPI 控制位控制位 6 SPI 控制寄存器 SPI 控制寄存器控制器件的每个功能 如录放 录音 信息检索 快进 上电 掉电 开始和停止操作 忽略地址指针等 详见表 3 2 表表3 2 SPI控制寄存器位功能控制寄存器位功能 位值功能 RUN 允许 禁止操作 1 开始 0 停止 PU 电源控制 1 上电 0 掉电 P R 录 放模式 1 放取 0 录 IAB 操作是否使用指令地 址 1 忽略输入地址寄存的 内容 15 0 使用输入地址寄存的 内容 MC 快进模式 1 允许快进 0 禁止 P10 P0 行指针寄存器输出 A10 A0 输入地址寄存器 3 3 3 ISD4002 与单片机接口电路设计 ISD4002 与 MCU 接口电路是系统控制信号的传输接口 如图 3 6 所示 图图 3 6 ISD4002 与与 MCU 接口电路接口电路 ISD4002 与单片机以串口方式相连 P1 0 控制 ISD4002 的片选端 P1 1 串 口控制时钟 P1 2 串口输入端 P1 3 为串口输出端 P3 2 与 ISD4002 中断标志 位相接 当 ISD4002 的第一脚 SS 为低电平时 选中该芯片工作 SS 在传输期间必 须保持为低电平 在两条指令之间则保持为高电平 ISD 在任何操作 包括快进 中检测到 EOM 或 OVF 时 INT 变低并保持 该信号输入到单片机中用来控制放音 中断状态在下一个 SPI 周期开始时清除 行地址时钟 RAC 漏极开路输出 每个 RAC 周期表示 ISD 存储器的操作 进行了一行 ISD4003 系列中的存贮器其 1200 行 该信号 175ms 保持高电平 低电平为 25ms 快进模式下 RAC 的 218 75 s 是高电平 31 25 s 为低电平 该端可用于存储管理技术 7 3 4 单片机主体电路设计 AT89C51 单片机是整个系统的控制中心 AT89C51 是一种低功耗 高性能 CMOS8 位微控制器 具有 8K 在系统可编程 Flash 存储器 使用 Atmel 公司 高密度非易失性存储器技术制造 与工业 80C51 产品指令和引脚完全兼容 片 上 Flash 允许程序存储器在系统可编程 亦适于常规编程器 在单芯片上 拥 有灵巧的 8 位 CPU 和在系统可编程 Flash 使得 AT89C51 为众多嵌入式控制 应用系统提供高灵活 超有效的解决方案 主要性能参数 与 MCS 51 单片机产品兼容 8K 字节在系统可编程 Flash 存储器 1000 次擦写周期 全静态操作 0Hz 33Hz 三级加密程序存储器 32 个可编程 I O 口线 三个 16 位定时器 计数器 八个中断源 全双工 UART 串行通道 低功耗空闲和掉电模式 掉电后中断可唤醒 看门狗定时器 双数据指针 掉电标识符 AT89C51 具有以下标准功能 8k 字节 Flash 256 字节 RAM 32 位 I O 口线 看门狗定时器 2 个数据指针 三个 16 位定时器 计数器 一个 6 向量 2 级中断结构 全双工串行口 片内晶振及时钟电路 另外 AT89S52 可降至 17 0Hz 静态逻辑操作 支持 2 种软件可选择节电模式 空闲模式下 CPU 停止工 作 允许 RAM 定时器 计数器 串口 中断继续工作 掉电保护方式下 RAM 内容被保存 振荡器被冻结 8 图图 3 7 AT89C51 引脚图引脚图 3 4 1 信号引脚介绍 输入 输出口线 P0 0 P0 7 P0 口 8 位双向口线 P1 0 P1 7 P1 口 8 位双向口线 P2 0 P2 7 P2 口 8 位双向口线 P3 0 P3 7 P3 口 8 位双向口线 P3 口除了作为一般的 I O 口线外 更重要的用途是它的第二功能 如下 表 3 3 所示 表表 3 3 单片机单片机 P3 口第二功能表口第二功能表 口线第二功能信号名称 P3 0RXD 串行数据接收 P3 1TXD 串行数据发送 P3 20INT 外部中断 0 申请 P3 31INT 外部中断 1 申请 P3 40T 定时器 计数器 0 计数输入 P3 51T 定时器 计数器 1 计数输入 P3 6WRWR 外部 RAM 写选通 P3 7 RD 外部 RAM 读选通 RST 复位输入 晶振工作时 RST 脚持续 2 个机器周期高电平将使单片 机复位 看门狗计时完成后 RST 脚输出 96 个晶振周期的高电平 特殊寄存 器 AUXR 地址 8EH 上的 DISRTO 位可以使此功能无效 DISRTO 默认状态下 复位高电平有效 9 ALE PROG 地址锁存控制信号 ALE 是访问外部程序存储器时 锁存 低 8 位地址的输出脉冲 在 flash 编程时 此引脚 PROG 也用作编程输入脉 冲 在一般情况下 ALE 以晶振六分之一的固定频率输出脉冲 可用来作为外 部定时器或时钟使用 然而 特别强调 在每次访问外部数据存储器时 ALE 脉冲将会跳过 如果需要 通过将地址为 8EH 的 SFR 的第位置 1 ALE 操 作将无效 这一位置 1 ALE 仅在执行 MOVX 或 MOVC 指令时有效 否 则 ALE 将被微弱拉高 这个 ALE 使能标志位 地址为 8EH 的 SFR 的第 0 位 的设置对微控制器处于外部执行模式下无效 10 PSEN 外部程序存储器选通信号 PSEN 是外部程序存储器选通信号 当 AT89C51 从外部程序存储器执行外部代码时 PSEN 在每个机器周期被 激活两次 而在访问外部数据存储器时 PSEN 将不被激活 EA VPP 访问外部程序存储器控制信号 为使能从 0000H 到 FFFFH 的外 部程序存储器读取指令 EA 必须接 GND 为了执行内部程序指令 EA 应该接 VCC 在 flash 编程期间 EA 也接收 12 伏 VPP 电压 XTAL1 振荡器反相放大器和内部时钟发生电路的输入端 XTAL2 振荡器反相放大器的输出端 3 4 2 机复位电路 单片机如果要正常工作 其复位电路是少不了的 复位操作有上电自动复 位和按键手动复位两种方式 上电复位是通过外部复位电路的电容充电来实现 的 按键手动复位有电平方式和脉冲方式 其中按键电平复位是通过使复位端 19 经电阻于 VCC 电源接通而实现 本课题采用按键电平复位方式 电路如图 3 8 图图 3 8 单片机的复位电路单片机的复位电路 3 4 3 时钟振荡器 单片机中没有晶振 就没有时钟周期 没有时钟周期 单片机就不能执行 指令 所以它就不能工作 AT89C51 中有一个用于构成内部振荡器的高增益反 相放大器 引脚 XTAL1 和 XTAL2 分别是该放大器的输入端和输出端 这个 放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器 外 接石英晶体 或陶瓷谐振器 及电容 C1 C2 接在放大器的反馈回路中构成并 联振荡电路 对外接电容 C1 C2 虽然没有十分严格的要求 但电容容量的大 小会轻微影响振荡频率的高低 振荡器工作的稳定性 起振的难易程序及温度 稳定性 如果使用石英晶体 我们推荐电容使用 30pF 10pF 而如使用陶瓷谐 振器建议选择 40pF 10F 11 图图 3 9 片机振荡电路片机振荡电路 用户也可以采用外部时钟 这种情况下 外部时钟脉冲接到 XTAL1 端 即内部时钟发生器的输入端 XTAL2 则悬空 单片机工作时 是一条一条地从 ROM 中取指令 然后一步一步执行的 单片机访问一次存储器的时间 称为一个机器周期 这是一个时间基准 一个 机器周期包括 12 个时钟周期 如果一个单片机选择了一个 12MHz 晶振 它的 时钟周期是 1 12 微秒 它的机器周期是 12 1 12 1 微秒 3 5 按键电路设计 电路图如 3 10 所示 图图 3 10 按键电路按键电路 按键功能分别为 S 键拨到高电平时 可以录制各站的站名 拨到低电平 时就可以实现报站功能 K1 K5 为报下个站名 快进 后退 复位等功能 21 3 6 显示电路的接口设计 3 6 1 LCD 显示部分 在显示部分我们使用 LCD1602 液晶显示器 它是利用液晶经处理后能改变 光线的传输方向的特性实现显示信息的 液晶显示器具有体积小 重量轻 功 耗极低 显示内容丰富等特点 在单片机应用系统中得到了日益广泛的应用 12 其外观如下图 3 11 图图 3 11 LCD1602 液晶显示器液晶显示器 LCD1602 是一款字符型液晶模块 使用 2 行 16 个字的 5 7 点阵图形来显 示字符 它采用标准的 16 脚接口 各引脚情况如下表 3 4 所示 表表3 4 LCD1602引脚引脚 引脚功能 第 1 脚VSS 电源地 第 2 脚VDD 5V 电源 第 3 脚VEE 液晶显示偏压信号 第 4 脚RS 数据 命令选择端 第 5 脚R W 读 写 选择端 第 6 脚E 使能端 第 7 脚 D0 双向数据线 第 8 脚D1 双向数据线 第 9 脚D2 双向数据线 第 10 脚D3 双向数据线 第 11 脚D4 双向数据线 第 12 脚D5 双向数据线 第 13 脚D6 双向数据线 第 14 脚D7 双向数据线 第 15 脚BLA 背光源正极 第 16 脚BLK 背光源负极 LCD1602 与单片机的数据端和指令端可以直接与单片机的 I O 口相连接 其中第 3 脚为液晶对比度调节端口 接地时对比度最强 接电源时对比度最强 因此 我们可以连接一个 10K 的滑动变阻器来调节液晶的对比度 在 15 脚的 背光地接一个小电阻进行限流 13 则 LCD1602 与单片机的连接如下图 3 12 所 示 图图 3 12 单片机与单片机与 LCD1602 液晶的连接图液晶的连接图 LCD1602 的内部结构主要由 DDRAM CGRAM IR DR BF AC 等大 规模集成电路组成 DDRAM 为数据显示用的 RAM 用以存放 LCD 显示的数据 只要将标准 的 ASCII 码放入 DDRAM 内部控制线路就会自动将数据传送到显示器上 并 显示出该 ASCII 码对应的字符 CGROM 为字符产生器 ROM 它存储了 192 个 5 7 的点阵字型 但只能读 出不能写入 CGRAM 为字型 字符型的 RAM 可供使用者存储特殊造型的造型码 但 它最多只能存 8 个造型 IR 为指令寄存器 负责存储 MCU 要写给 LCD 的指令码 当 RS 及 R W 引脚为 0 且 E 由 1 变为 0 时 D0 D7 引脚上的数据会存入到 IR 寄存器中 14 DR 为数据寄存器 它负责存储微机要写到 CGRAM 或 DDRAM 的数据 23 因此可将 DR 看成一个数据缓冲器 BF 为忙碌信号 当 BF 1 时 不接收微机送来的数据或指令 当 BF 0 时 接收外部数据或指令 所以在写数据或指令到 LCD 之前 须查看 BF 是否为 0 AC 为地址寄存器 负责计数写入 读出 CGRAM 或 DDRAM 的数据地址 AC 依照 MCU 对 LCD 的设置值而自动修改它本身的内容 15 3 7 报警模块设计 报警电路是由蜂鸣器与驱动三极管来构成 电路非常简单 控制方便 效 果好 具体电路如图 3 13 所示 图图 3 13 报警电路报警电路 3 8 系统电源设计 因为电源的供电质量直接影响到整个硬件的工作 因此应该尽量减少电源 中的纹波 在系统的电源接口处设计了电平转换稳压电路 设计中采用了 LM78XX 系列器件进行线性电压转换 LM7805 实现 12V 到 5V 的转换和稳压 电路图如图 3 14 所示 其中 C11 和 C12 为滤波电容 16 图图 3 14 电源电路电源电路 第 4 章 音乐闹钟系统软件设计 4 1 系统软件设计框架 整个多功能电子音乐闹钟系统程序的流程 它包括 3 个主要功能方向 分 别是报警 万年历 重要节日提示 音乐播放 最后由 LCD1602 显示时间 节 日 由蜂鸣器进行报警 整个软件系统由 AT89C51 统一进行控制 通过时钟芯片寄存 在此基础上 进行整个系统的精确控制 所有的模块都是用 C 语言写成 经过 KILLC 编译完 成后下载到 MCU 中 下面将给出各个功能模块的程序并予以说明 流程图如 图 4 1 所示 开始 系统初始化 AT89C51 闹钟 重要节日LCD1602 报警 ISD4002 图图 4 1 系统软件框图系统软件框图 4 2 时间系统软件设计 这里采用时钟芯片与单片机的连接 实现时间和星期的走动和保存 程序 主要思路是 时钟芯片通过调用函数 write ds 和 read ds 来控制 并通过 key1 键的按下次数 调整显示的页数 时间显示在第一页 并通过 key2 按下 的次数 调整具体的时间 时间的加减通过 key3 和 key4 来调整 具体情况如 下 flag key2 1 是对分钟的调整 flag key2 2 是对秒钟的调整 flag key2 3 是对小时的调整 flag key2 4 是对星期的调整 25 flag key2 7 是对年份的调整 flag key2 6 是对月份的调整 flag key2 5 是对日的调整 17 部分程序 void write ds uchar add uchar date DS12C887 写数据函数 cs 0 as 1 ds 1 rw 1 P0 add as 0 rw 0 P0 date rw 1 as 1 cs 1 uchar read ds uchar add DS12C887 读数据函数 uchar ds date as 1 ds 1 rw 1 cs 0 P0 add as 0 ds 0 P0 0 xff ds date P0 ds 1 as 1 cs 1 return ds date 4 3 重要节日提示软件设计 在现代快节奏的社会里 人类接触的事情越来越多 越来越复杂 然而人 脑过多的记忆容易使我们感到疲劳 所以 找一个帮助记忆的工具很有必要 在这里我们就设置了重要节日的提示及其报警系统 来帮助我们的工作和减轻 我们大脑的记忆 在这儿我们通过 IF 程序设置六段重要节日 通过 key1 键的 按下次数 调整显示的页数 温度显示在第三页 并通过 key2 按下的次数 调 整具体的重要节日的时间 重要节日时间的加减通过 key3 和 key4 来调整 18 部分程序 while 1 cshi read ds 0 x33 cfen read ds 0 x34 flag clo read ds 0 x35 if cshi shi else flag beep1 0 for j 1 j 6 j if shi 0 x08 cri ju read ds 0 x3d 4 j czt ju read ds 0 x3e 4 j if cyue ju yue else flag beep2 0 4 4 秒表软件设计 在设计秒表时 要注意其精确性 只能通过单片机的晶振的走动来控制秒 表的走动 即通过定时器和工作方式的选择来设计秒 十分之一秒 百分之一 秒 MCU AT89S52 晶振 12M include AT89X51 H unsigned char code numcode 0 xc0 0 xf9 0 xa4 0 xb0 0 x99 0 x92 0 x82 0 xf8 0 x80 0 x90 0 xbf 0 xff 数字 0 9 及 共阳数码管代码 unsigned char dispbuff 8 0 0 10 0 0 11 11 11 unsigned char code bitcode 0 xfe 0 xfd 0 xfb 0 xf7 0 xef 0 xdf 0 xbf 0 x7f 数码管位选代码 unsigned char dd

温馨提示

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

评论

0/150

提交评论