AT89C52单片机设计.doc_第1页
AT89C52单片机设计.doc_第2页
AT89C52单片机设计.doc_第3页
AT89C52单片机设计.doc_第4页
AT89C52单片机设计.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1 摘摘 要要 单片机作息时间控制实现了对时间控制的智能化 摆脱了传统由人来控制时间的长 短的不便 实现代学校必不可少的设备 AT89C52 是美国 ATMEL 公司生产的低电压 高性 能 CMOS8 位单片机 片内含 8Kbytes 的可反复擦写的只读程序存储器 PEROM 和 256bytes 的随机存取数据存储器 RAM 器件采用 ATMEL 公司的高密度 非易失性存储 技术生产 与标准 MCS 51 指令系统及 8052 产品引脚兼容 片内置通用 8 位中央处理器 CPU 和 FLASH 存储单元 功能强大 AT89C52 单片机适用于许多较为复杂控制应用场合 关键词关键词 芯片 单片机型 显示器 存储器 继电器 2 目目 录录 摘摘 要要 1 1 第一章第一章 绪绪 论论 3 3 1 1 课题的提出及意义 3 1 2 设计的任务及要求 3 第二章第二章 总体方案设计总体方案设计 4 4 2 1 芯片比较 4 2 1 1 单片机选型 4 2 1 2 显示器接口芯片的选择 4 2 1 3 存储器的选择 7 2 1 4 继电器的选择 9 2 2 总体设计及系统原理 10 第三章第三章 硬件设计硬件设计 1111 3 1 单片机部分 11 3 1 1 AT89C52 11 3 1 2 单片机硬件资源分配 14 3 2 存储器部分 14 3 3 显示部分 22 3 4 电源与复位电路部分 23 3 4 1 电源部分 23 3 4 2 复位电路 24 3 5 电铃和继电器部分 24 3 6 按键部分 25 第第 四四 章章 软软 件件 设设 计计 2626 4 1 主程序设计 26 4 2 子程序设计 28 第五章第五章 系统安装与调试系统安装与调试 3030 5 1 软件调试 30 5 2 系统调试 30 参参 考考 文文 献献 3131 致致 谢谢 3232 3 第一章第一章 绪绪 论论 1 1 课题的提出及意义 单片机作息时间控制实现了对时间控制的智能化 摆脱了传统由人来控制时间的长 短的不便 实现代学校必不可少的设备 1 2 设计的任务及要求 1 作息时间能控制电铃 2 作息时间能启动和关闭放音机 单片机作息时间控制的功能如下 使用 4 位七段显示器来显示现在的时间 显示格式为 时分 由 LED 闪动来作秒计数表示 具有 4 个按键来作功能设置 可以设置现在的时间及显示定时设置时间 一旦时间到则发出一阵声响 同时继电器启动 可以控制放音机开启和关闭 4 第二章第二章 总体方案设计总体方案设计 2 1 芯片比较 2 1 1 单片机选型单片机选型 当今单片机厂商琳琅满目 产品性能各异 常用的单片机有很多种 Intel8051 系列 Motorola 和 M68HC 系列 Atmel 的 AT89 系列 台湾 Winbond 华邦 W78 系列 荷兰 Pilips 的 PCF80C51 系列 Microchip 公司的 PIC 系列 Zilog 的 Z86 系列 Atmel 的 AT90S 系列 韩国三星公司的 KS57C 系列 4 位单片机 台湾义隆的 EM 78 系列等 我们最 终选用了 ATMEL 公司的 AT89C52 单片机 AT89C52 是美国 ATMEL 公司生产的低电压 高性 能 CMOS8 位单片机 片内含 8Kbytes 的可反复擦写的只读程序存储器 PEROM 和 256bytes 的随机存取数据存储器 RAM 器件采用 ATMEL 公司的高密度 非易失性存储 技术生产 与标准 MCS 51 指令系统及 8052 产品引脚兼容 片内置通用 8 位中央处理器 CPU 和 FLASH 存储单元 功能强大 AT89C52 单片机适用于许多较为复杂控制应用场合 2 1 2 显示器接口芯片的选择显示器接口芯片的选择 LED 显示器接口芯片的选择常用的显示器接口芯片有 CD4511 CD4513 MC14499 8279 MAX7219 74HC164 等 它们的功能有 1 CPU 接受来 自键盘的输入数据 并作预处理 2 数据显示的管理和数据显示器的控制 CD4511 是 BCD 锁存 7 段译码 驱动器 但在显示 6 和 9 时 显示为 b 和 q 不是很好看 CD4513 是 BCD 锁存 7 段译码 驱动器 消隐 但现在市面上不好买 MC14499 为串行输入 BCD 码 十进制译码驱动器 用它来构成单片机应用系统的显示器接口 可以大大减少 I O 口线的占用数量 但是 由片内震荡器经过四分频的信号 经位译码后只能提供 4 个位 控信号 使信号的采集受到限制 并且 MC19944 的价格偏高 也不经济 同样 8279 为 INTEL 公司生产的通用键盘 显示器接口芯片 其内部设有 16 8 显示数据 RAM 若采用 8279 管理键盘和显示器 可以减少软件程序 从而减轻主机的负担 但我们同时也发现 由于其功能比较强大 不可避免将会使外围设备与操作过程复杂化 同时价格比较贵 对比一下 MAX7219 和 74HC164 其占用资源少 且不需复杂的驱动电路 但 MAX7219 虽然比较好用 且一片能驱 动四个数码管 但对于我们设计的系统来说 不需要很多数码管 此外 MAX7219 相对 74HC164 的价格也比较贵 所以我们最终选用 74HC164 下面对 MAX7219 作一下介绍 特点 特点 5 1 采用 3 线串行接口传送数据 2 内部有 8 字节显示静态 RAM 和 6 个特殊功能寄存器 相当于 14 个字节的 RAM 单元 它们是可寻址的 即可以有选择的任意写入 3 只需一个外部电阻即可调节 LED 的段电流 并且允许程控方式 LED 通电的占空比 而可方便的调节 LED 显示的亮度 或用于模拟亮度显示 4 可 LED 显示器的扫描个数 5 有不译码和 B 码两种显示模式 这种选择可做到位控 即各 LED 显示器可以有不 同的显示方式 译码或不译码 6 含硬件动态扫描显示控制 可设置低功耗方式 可进行图条显示 引脚图引脚图 如图 2 1 图 2 1 说明 说明 引脚名称作用 1DIN 串行数据输入 在CLK上升沿时 数据被装入内部 16位移位寄存器 2 3 5 8 10 11 DIG0 DIG7 八个数字驱动器线路 来自共阴极显示器的反向电 流 MAX7219当关闭的时候拉位输出到V 当关闭 的时候MAX7221的位驱动器是高阻抗状态 4 9GND 地 两个GND引脚必须被连接在一起 12LOAD 装载数据输入 串行数据的最后16位被锁存在LOAD 的上升沿 6 CS 片选输入 当 CS是低电平时穿行数据被装载到移 位寄存器中 在 CS上升沿时串行数据的最后16位 被锁存 13CLK 串行时钟输入 10MHz的最大比率 在CLK上升沿时 数据被转移到内部移位寄存器 在CLK下降沿时 数据从DOUT输出 在MAX7221中只有 CS是低电平时 CLK输入被激活 14 17 20 23 SEGA SEG G DP 七段驱动和小数点驱动电源电流显示 在MAX7219 中 当段驱动器被关闭 它就被接到地 当关闭以 后MAX7221的段驱动器成高阻状态 18ISET 通过一只电阻器 RSET 连接VDD来设置最高段电流 查阅选择RSET电阻器部分 19V 正供给电压 连接到 5V 24DOUT 串行数据输出 进入DIN的数据16 5个时钟周期以 后在DOUT有效 这个引脚常被用来链接 MAX7219 MAX7221 没有高阻状态 工作原理简介工作原理简介 数据 含地址 接收数据 含地址 接收 MAX7219 采用串行寻址方式 在传送的串行数据中包含有 RAM 的地址 按照时序的要 求 单片机将 16 位二进制数逐位发送 DIN 端 在 CLK 上升延到来之前 DIN 必须有效 在 CLK 的每个上升延 DIN 被串行逐位移入 MAX7219 内部的 16 位穿行寄存器中 设最先移 入的数据是 D15 最后移入的数据是 D0 则移入 16 位串行寄存器的数据是 D15 D0 为了 有选择的将数据写入 8 个显示 RAM 或 6 个特殊功能寄存器 D0 D15 中 D8 D11 四位作 为 RAM 和特殊功能寄存器的地址 D0 D7 作为写入显示数据或控制字 与并行数据传送 相比 MAX7219 串行接收 D0 D15 并存放到 16 位串行寄存器中的过程 相当于并行传送 中 将并行数据和地址送到数据和地址总线上的过程 数据装载数据装载 16 位接收寄存器将收到的 D0 D7 位数据写入 RAM 或特殊功能寄存器是在数据装载信 号控制下完成的 图 3 8 是 MAX7219 的数据接收装载 写入 时序图 由图可知 LOAD 必须在 15 个 CLK 下降延前由高变低 在 16 个 CLK 同时或之后由低变高 上升延 在 LOAD 的上升延 8 位数据 D0 D7 写入以 4 位二进制数 D8 D11 位地址的 RAM 或特殊功能 寄存器中 显示扫描显示扫描 当显示模式设定后 写入显示 RAM 的数据将在控制器的控制下 按设定的显示模式 以动态扫描方式进行显示 7 MAX7219MAX7219 内部显示内部显示 RAMRAM 及特殊功能寄存器及特殊功能寄存器 显示 RAM 地址 1 8 地址为 1H 的 RAM 数据控制接 D0 引脚的显示器 地址为 2H 的 RAM 数据控制接 D1 引 脚的显示器 译码方式寄存器 地址 9H 该寄存器的 8 位二进制数的各位值分别控制着 8 个 LED 显示器的译码方式 当高电 平时选择 BCD B 码译码模式 当低电平时选择不译码模式 B 码译码的显示自行与现实数 据的关系如下 显示数据 十六进制 0 1 2 3 4 5 6 7 8 9 A B C D E F B 码字型 0 1 2 3 4 5 6 7 8 9 E H L P 其中 代表全灭 小数点不译码 它由显示数据的 D7 位控制 扫描界限寄存器 地址 BH 该寄存器的 D0 D3 位数据设定值为 0 7 设定值表示显示器动态扫描个数为 1 8 停机寄存器 地址 CH 当位 D0 0 时 MAX7219 处于停机状态 当 D0 1 时 处于正常工作状态 显示测试寄存器 地址 FH 当位 D0 0 时 MAX7219 按设定模式正常工作 当 D0 1 时 处于测试状态 在该状态 下 不管 MAX7219 处于什么模式 全部 LED 将按最大亮度接通显示 亮度寄存器 地址 AH 及两度的调解或控制 亮度可通过硬件和软件两种方法调解或控制 2 1 3 存储器的选择存储器的选择 为了改善主 CPU 的资源与时序的分配 我们对 AT89C51 进行串行数据存储器的扩展 常用的存储芯片有很多 如 AT93C46 56 66 X5045 经过比较选择 最终选用了 XICOR 公司的 X5045 X5045 把三种常用的功能 看门狗定时器 电压控制和 EEPROM 组合在单个封装之内 这种组合降低了系统的成本并减少了对电路板空间的要求 看门狗定时器对微控制器提 供了独立的保护系统 低 VCC 检测电路可以保护系统免受低电压的影响 同时 X5045 是 串行 EEPROM 具有简单的三总线工作的串行外设接口 是一种有独特功能的高性能价格比 存储器件 AT93C46 56 66 是 ATMEL 公司推出的低功耗 低电压电可擦除的可编程只读存储器 它采用 CMOS 技术和 Fairchild Semiconductor 公司的 Mi croWire 工业标准 3 线串行接 口 具有 1Kb 2kB 4kB 的容量 并可通过 ORG 管脚配置成 128 8 256 8 512 8 或 8 64 16 128 16256 16 等结构 该系列存储器可靠性高 能够重复写 100 万次 数据可以 保存 100 年不丢失 采用 8 脚 PDIP SOIC 封装和 14 脚 SOI 封装 SOI 封装为 JEDEC 和 EIAJ 标准 与并行的 EEPROM 相比 AT93C46 56 66 可大大节省印制板空间 且接线简 单 因而在多功能的精密测试仪中具有广阔的前途 引脚功能引脚功能 CS 片选信号 高电平有效 低电平时进入等待模式 在连续的指令之间 CS 信号 必须持续至少 250ns 的低电平 才能保证芯片正常工作 CLK 串行时钟信号 在 CLK 的上升沿 操作码 地址和数据位进入器件或从器件输 出 在发送序列时 CLK 最好不停止 以防止读 写数据的错误 DI 串行数据输入 可在 CLK 的同步下输入开始位 操作码 地址位和数据位 DO 串行数据输出 在 CLK 同步下读周期时 用于输出数据 而在地址擦 写周期或 芯片擦 写周期时 该端用于提供忙 闲信息 VSS 接地 VCC 接 5V 电源 ORG 存贮器构造配置端 该端接 VCC 或悬空时 输出为 16 位 接 GND 时 输出为 8 位 指令及时序指令及时序 地址擦指令 ERASE 该指令用于强迫指定地址中所有数据位都为 1 一旦信息在 DI 端上被译码 就 需使 CS 信号保持至少 250ns 的低电平 然后将 CS 置为高电平 这时 DO 端就会指示 忙 标志 DO 为 0 表示编程正在进行 DO 为 1 表示该指定地址的寄存器单 元已擦完 可以执行下一条指令 擦 写允许指令 EWEN 由于在上电复位后 AT93C46 56 66 首先将处于擦 写不允许状态 故该指令必须在 所有编程模式前执行 一旦该指令执行后 只要外部没有断电就可以对芯片进行编程 地址写指令 WRITE 写指令时 先写地址 然后将 16 位的或 8 位数据写入到指定地址中 当 DI 端输出 最后一个数据位后 在 CLK 时钟的下一个上升沿以前 CS 必须为低 且需至少保持 250ns 然后将 CS 置为高电平 需要说明的是 写周期时 每写一个字节需耗时 4ms 地址读指令 READ 读指令用于从指定的单元中把数据从高位到低位输出至 DO 端 但逻辑 0 位先于数 据位输出 读指令在 CLK 的上升沿触发 且需经过一段时间方可稳定 为防止出错 建 议在读指令结束后 再输出 2 3 个 CLK 脉冲 芯片擦指令 ERAL 该指令可将整个存贮器阵列置为 其它功能与地址擦指令相同 9 芯片写指令 WRAL 该指令可将命令中指定的数据写入整个存贮器阵列 其它功能与地址写指令相同 该 指令周期所花费时间的最大值为 30ms 擦 写禁止指令 EWDS 使用该指令可对写入的数据进行保护 操作步骤与擦 写允许指令相同 2 1 4 继电器的选择继电器的选择 继电器是我们生活中常用的一种控制设备 通俗的意义上来说就是开关 在条件满 足的情况下关闭或者开启 继电器的开关特性在很多的控制系统尤其是离散的控制系统 中得到广泛的应用 从另一个角度来说 由于为某一个用途设计使用的电子电路 最终 或多或少都需要和某一些机械设备相交互 所以继电器也起到电子设备和机械设备的接 口作用 最常见的继电器要数热继电器 通常使用的热继电器适用于交流 50Hz 60Hz 额定 电压至 660V 额定电流至 80A 的电路中 供交流电动机的过载保护用 它具有差动机构 和温度补偿环节 可与特定的交流接触器插接安装 时间继电器也是很常用的一种继电器 它的作用是作延时元件 通常它可在交流 50Hz 60Hz 电压至 380V 直流至 220V 的控制电路中作延时元件 按预定的时间接通或 分断电路 可广泛应用于电力拖动系统 自动程序控制系统及在各种生产工艺过程的自 动控制系统中起时间控制作用 在控制中常用的中间继电器通常用作继电控制 信号传输和隔离放大等用途 此外 还有电流继电器用来限制电流 电压继电器用来控制电压 静态电压继电器 相序电压 继电器 相序电压差继电器 频率继电器 功率方向继电器 差动继电器 接地继电器 电动机保护继电器等等 正是有了这些不同类型的继电器 我们才有可能对不同的物理 量作出控制 完成一个完整的控制系统 除了传统的继电器之外 继电器的技术还应用在其他的方面 比如说电机智能保护 器是根据三相交流电动机的工作原理 分析导致电动机损坏的主要原因研制的 它是一 种设计独特 工作可靠的多功能保护器 在故障出现时 能及时切断电源 便于实现电 机的检修与维护 该产品具有缺相保护 短路 过载保护功能 适用于各类交流电动机 开关柜 配电箱等电器设备的安全保护和限电控制 是各类电器设备设计安装的优选配 套产品 该技术安装尺寸 接线方式 电流调整与同型号的双金属片式热继电器相同 是直接代替双金属片式热继电器的更新换代的先进电子产品 而其真正的原理还是继电 器技术 继电器技术发展到现在 已经和计算机技术结合起来 产生了可编程控制器的技术 可编程控制器简称作 PLC 它是将微电脑技术直接用于自动控制的先进装置 它具有可靠 性高 抗干扰性强 功能齐全 体积小 灵活可扩 软件直接 简单 维护方便 外形 美观等优点 以往继电器控制的电梯有几百个触点控制电梯的运行 有一个触点接触不 良 就会引起故障 维修也相当麻烦 而 PLC 控制器内部有几百个固态继电器 几十个 定时器 计数器 具备停电记忆功能 输入输出采用光电隔离 控制系统故障仅为继电器 控制方式的 10 正因为如此 国家有关部门已明文规定从 1997 年起新产电梯不得使用 继电器控制电梯 改用 PLC 微电脑控制电梯 可以看出 继电器技术在日常生活中无所不在 而且和电脑的紧密结合更加增强了 10 它的活力 使得继电器为我们的生活更好地服务 11 2 2 总体设计及系统原理 经比较我们选定单片机芯片为 AT89C52 存储器芯片为 X5045 在确定系统的大体形式之后 画出本系统的结构布局 电路原理如图 2 2 所示 图 2 2 12 第三章第三章 硬件设计硬件设计 3 1 单片机部分 3 1 1 AT89C52 特点 特点 与 MCS 51 产品指令和引脚完全兼容 8K 字节可重擦写 FLASH 闪存 1000 次擦写周期 全静态操作 0Hz 24MHz 三级加密程序存储器 256X8 字节内部 RAM 32 个可编程 I O 口线 3 个 16 位定时 计数器 8 个中断源 可编程串行 UART 通道 低功耗空闲和掉电模式 功能特性概述功能特性概述 AT89C52 提供以下标准功能 8K 字节 FLASH 闪存 256 字节内部 RAM 32 个 I O 口线 3 个 16 位定时 计数器 一个 6 向量两级中断结构 一个全双工串行通信口 片内振荡器 及时钟电路 同时 AT89C52 可降至 0Hz 的静态逻辑操作 并支持两种软件可选的节电工 作模式 空闲方式停止 CPU 工作 但允许 RAM 定时 计数器 串行通信口及中断系统继 续工作 掉电方式保存 RAM 中的内容 但振荡器停止工作并禁止其他所有部件工作直到 下一个硬件复位 AT89C52 的芯片管脚图如图 3 1 13 图 3 1 引脚功能说明引脚功能说明 VCC 电源电压 GND 地 P0 口 P0 口是一组 8 位漏极开路型双向 I O 口 也即地址 数据总线复用口 作 为输出口用时 每位能吸收电流的方式驱动 8 个 TTL 逻辑门电路 对端口 P0 写 1 时 可作为高阻抗输入端用 在访问外部数据存储器或程序存储器时 这组口线分时转换地址 低 8 位 和数据 总线复用 在访问期间激活内部上拉电阻 在 FLASH 编程时 P0 口接收指令字节 而在程序校验时 输出指令字节 校验时 要求外接上拉电阻 P1 口 P1 口是一个带内部上拉电阻的 8 位双向 I O 口 P1 的输出缓冲级可驱动 吸收或输出电流 4 个 TTL 逻辑门电路 对端口写 1 通过内部的上拉电阻把端口拉 到高电平 此时可作输出口 作输入口使用时 因为内部存在上拉电阻 某个引脚被外 部信号拉低时会输出一个电流 与 AT89C51 不同之处是 P1 0 和 P1 1 还可分别作为定时 计数器 2 的外部计数输入 P1 0 T2 和输入 P1 1 T2EX 参见下表 FLASH 编程和程序校验期间 P1 接收低 8 位地址 P1 0 和 P1 1 的第二功能 14 引脚号功能特性 P1 0 T2 定时 计数器 2 外部计数脉冲输入 时钟输出 P1 1 T2EX 定时 计数 2 捕获 重装载触发和方向控制 P2 口 P2 是一个带内部上拉电阻的 8 位双向 I O 口 P2 的输出缓冲级可驱动 吸 收或输出电流 4 个 TTL 逻辑门电路 对端口 P2 写 1 通过内部的上拉电阻把端口拉 到高电平 此时可作输入口 作输入口使用时 因为内部存在上拉电阻 某个引脚被外 部信号拉低时会输出一个电流 在访问外部程序存储器或 16 位地址的外部数据存储器 例如执行 MOVX DPTR 指令 时 P2 口送出高 8 位地址数据 在访问 8 位地址的外部数据存储器 如执行 MOVX RI 指 令 时 P2 口输出 P2 锁存器的内容 FLASH 编程或校验时 P2 亦接收高位地址和一些控制信号 P3 口 P3 口是一组带有内部上拉电阻的 8 位双向 I O 口 P3 口输出缓冲级可驱动 吸收或输出电流 4 个 TTL 逻辑门电路 对 P3 口写入 1 时 它们被内部上拉电阻拉 高并可作为输入端口 此时 被外部拉低的 P3 口将用上拉电阻输出电流 P3 口除了作为一般的 I O 口线外 更重要的用途是它的第二功能 如下表所示 端口引脚第二功能 P3 0 RXD 串行输入口 P3 1 TXD 串行输出口 P3 2 INTO 外中断 0 P3 3 INT1 外中断 1 P3 4 TO 定时 计数器 0 P3 5 T1 定时 计数器 1 P3 6 WR 外部数据存储器写选通 P3 7 RD 外部数据存储器读选通 此外 P3 口还接收一些用于 FLASH 闪存编程和程序校验的控制信号 RST 复位输入 当振荡器工作时 RST 引脚出现两个机器周期以上高电平将是单 片机复位 ALE PROG 当访问外部程存储器或数据存储器时 ALE 地址锁存允许 输出脉冲 用于锁存地址的低 8 位字节 一般情况下 ALE 仍以时钟振荡频率的 1 6 输出固定的脉冲 信号 因此它可对外输出时钟或用于定时目的 要注意的是 每当访问外部数据存储器 15 时将跳过一个 ALE 脉冲 对 FLASH 存储器编程期间 该引脚还用于输入编程脉冲 PROG 如有必要 可通过对特殊功能寄存器 SFR 区中的 8EH 单元的 D0 位置位 可禁止 ALE 操作 该位置位后 只有一条 MOVX 和 MOVC 指令才能将 ALE 激活 此外 该引脚会被 微弱拉高 单片机执行外部程序时 应设置 ALE 禁止位无效 PSEN 程序储存允许 PSEN 输出是外部程序存储器的读选通信号 当 AT89C52 由外部程序存储器取指令 或数据 时 每个机器周期两次 PSEN 有效 即输出两个脉冲 在此期间 当访问外部数据存储器 将跳过两次 PSEN 信号 EA VPP 外部访问允许 欲使 CPU 仅访问外部程序存储器 地址为 0000H FFFFH EA 端必须保持低电平 接地 需注意的是 如果加密位 LB1 被编程 复位时内部会锁存 EA 端状态 如 EA 端为高电平 接 Vcc 端 CPU 则执行内部程序存储器的指令 FLASH 存储器编程时 该引脚加上 12V 的编程允许电源 Vpp 当然这必须是该器件是 使用 12V 编程电压 Vpp 3 1 2 单片机硬件资源分配单片机硬件资源分配 P2 4 连接按键 P2 5 连接按键 P2 6 连接按键 P2 7 连接按键 P3 4 连接蜂鸣器 P3 5 接继电器 P1 4 连接 X5045 的 SO 端 P1 5 连接 X5045 的 CS 端 P1 6 连接 X5045 的 CLK 端 P1 7 连接 X5045 的 SI 端 3 2 存储器部分 在上一章我已选定了存储器芯片 X5045 下面对其作进一步的介绍 特点 特点 16 可编程的看门狗定时器 上电复位及低 VCC 检测 即在上电和 VCC 低于检测门限时 输出复位信号 输 出复位高电平有效 直至 VCC 1V 复位信号仍有效 SPI 接口方式 最高可达 1MHZ 的串行时钟频率 512 8 位串行 EEPROM 低功耗 CMOS 3mA 工作电流 10uA 备用电流 电源电压 2 7V 5 5V 分块锁定 可保护 1 4 1 2 或所有 EEPROM 列 防止偶然性写保护 高可靠性 数据可保存 100 年 每字节可擦除次数可达到 10 万次 可编程的复位门限 需要加高电压 15 18V 加在 WP 引脚 及一个专门的时序 8 引脚小型 DIP 封装 引脚图引脚图 如图 3 2 图 3 2 引脚说明 引脚说明 CS 1 片选输入 SO 2 串行输出 SI 3 串行输出 SCK 4 串行时钟输入 WP 5 写保护输入 Vss 6 地 Vcc 7 电源电压 RESET 8 复位输出 使用说明 使用说明 串行输出 SO SO是一个推 拉串行数据输出引脚 在读周期时间内 数据从这个引脚输出 串行时 钟脉冲下降沿时数据输出 串行输入 SI SI是串行数据输入引脚 所有的操作码 字节 地址及数据都通过这个引脚写入存储 器 串行时钟脉冲上升沿时 数据被锁存 串行时钟 SCK 17 串行时钟控制串行总线为数据的输入和输出计时 SI引脚的操作码 地址或数据在时 钟输入上升沿时被锁存 SO引脚的数据在时钟输入上升沿时被改写 片选 CS 当 CS为高电平时 X5043 45被检测 SO输出引脚处于高阻抗状态 除非内部写操作在 进行中的时候 X5045将处于后备电源模式 CS为低电平时 可以使X5943 45处于工作 电源模式 应特别注意 在电源上电以后 需要在开始任何操作以前完成 CS引脚上高电 平到低电平的转换 写保护 WP 当 WP为低电平时 对于X5045不能完成非易失性写操作 但是在其他方面工作正常 当 WP被拉成高电平时 所有的功能 包括非易失性写操作都能正常工作 当 WP变成高 电平 CS仍然是低电平时 将中断对X5045的写操作 如果内部写周期已经开始 WP变 成低电平将对写操作没有影响 复位 RESET X5045的RESET分别工作在高电平 低电平 对外输出一直工作到VCC降至最小电压以 下 将一直工作200ms直到VCC升高大于最小电压 如果看门狗定时时间已定 CS保持高 电平或低电平的时间超过看门狗的定时时间 RESET也同样有效 当 CS下降沿时可使看 门狗定时器复位 工作原理工作原理 X5045 是设计成直接与许多微控制器系列的同步串行外设接口 SPI 相接的 512 8EEPROM X5045 包括一个 8 位指令寄存器 可以通过 SI 输入来访问 数据在 SCK 上 升延由时钟同步输入 在整个工作期间内 CS 必须低电平且 WP 输入必须是高电平 复位电源 复位电源 给X5045上电将使复位电路有效 这个电路使RESET引脚有效 RESET可以阻止系统微 处理机在不充足的电压或振荡器稳定之前开始操作 当VCC超过装置的Vtrip200ms 理论 值 电路将解除RESET 允许资料处理机开始处理代码 图3 3 设定Vtrip电压时序 VCC 要设定的值 图3 3 低电压控制 低电压控制 18 在操作过程中 X5045监测VCC标准并检测RESET 如果提供的电压低于预先设置的最 小Vtrip值 在电源供电不足或节电状态 RESET会发信号阻止微处理机操作 RESET信 号有效一直到电压降至1V 并且仍有效到VCC恢复并超过Vtrip200ms 看门狗定时 看门狗定时 看门狗电路通过检测WDI输入来监测微处理机的工作情况 微处理机应定期切换 CS WDI引脚以防止RESET信号有效 在看门狗定时时间终止之前应完成 CS WDI引脚从 高电平到低电平的切换 状态寄存器的两种非易失性控制位的状态决定看门狗的定时时 间 微处理机可以改变看门狗的位 如果微处理机没有作用 看门狗定时器的控制位将 不会改变 甚至在所有电源不能供电的状态下 VCCVCC入口复位程序入口复位程序 X5045载有标准的VCC初始电压Vtrip 在正常的操作和存储条件下 这个值将不能改 变 然而 在应用过程中有的地方初始电压不一定非常准确或需要更高精度的初始电压 X5045的入口将被调整 使用高电压控制信号 设置设置VtripVtrip值值 这个时序常用来把Vtrip值设置成更高的电压值 例如 当前Vtrip值为4 4V 新的值 为4 6V 次程序将直接进行转换 如果新设置的值低于当前值 在设置新值之前必须先 复位 设置新的Vtrip值 把理想的初始电压值加到VCC引脚上 给 WP引脚加上编程电压 Vp 发送WREN指令 接着写数据00H到地址01H 在写操作时 CS变成高电平 启动Vtrip 编程时序 当 WP变成低电平时完成操作 复位初始电压 复位初始电压 此时序常被用来把Vtrip设置成原始电压 例如 如果当前Vtrip值为4 4V 新的Vtrip值 必须为4 0V 然而Vtrip需要被复位 当Vtrip值被复位以后 新的Vtrip值将低于1 7V 这个程序常用来把电压设置成更低的值 复位Vtrip 把至少3V的电压加到VCC引脚上 给 WP引脚加上编程电压Vp 发送WREN指令 接着写数据00H到地址03H 在写操作时 CS 变成高电平 启动Vtrip编程时序 当 WP变成低电平时完成操作 图3 4 复位门电压时 序 VCC 3V WP 15 18V 图3 5 复位门电压电路 图3 4 19 图3 5 SPISPI串行存储 串行存储 芯片的存储部分是CMOS串行EEPROM排列及Xicor的分块锁存保护 这个排列在内部被 作为8位指令寄存器 该装置具有SPI接口 软件协议可以通过四条总线进行操作 该芯片利用Xicor的所有的指令写单元 可以提供每字节擦写次数最少为100万次 数 据可最少保存100年 该芯片被设计成直接连接许多通用微处理机的SPI接口 该芯片包括一个8位的指令寄存器来控制该装置的操作 指令代码通过SI输入写入该 装置 有两条写指令需要指令字节 有两条读指令需要指令字节开始数据的输出 剩余 的指令需要一条字节 一个八位的地址 数据字节 所有的指令 地址和数据位都需要 SCK输入计时 所有的指令 地址和数据都首先被转换成MSB 时钟和数据定时 时钟和数据定时 SI 引脚的输入数据在 CS 变成低电平以后 SCK 的第一个上升沿时被锁存 SO 上的 数据在 SCK 下降沿时被输出 SCK 是固定的 允许使用者终止适中 也可以重新开启恢复 操作 在整个操作过程中 CS 必须保持低电平 X5045 的全部指令名 指令格式和操作说明如下表所示 X5045 指令集 指令指令格式操作说明 WREN00000110 设置写使能锁存器 允许写 操作 WRDI00000100 设置写使能锁存器 禁止写 操作 RDSR00000101 读状态寄存器 WRSR00000001 写状态寄存器 块锁定位 WRITE0000A8010 把数据写入开始所选地址中 READ0000A8011 从开始所选地址中读出数据 指令寄存器可以通过 SI 输入来访问 所用指令 地址与数据都以 MSB 在前的方式传 送 20 写使能锁存器写使能锁存器 该装置包含一个写使能锁存器 这个锁存器在写操作开始之前必须先设置 WREN指令 可以设置锁存器 WRID指令可以使锁存器复位 在上电以后 完成一个有效的字节 页 或者是状态寄存器写周期 锁存器将自动复位 如果 WP变成低电平锁存器也将复位 当 发布WREN WRDI RDSR命令发送字节地址和数据是没有必要的 图3 6 写使能 不能锁 存时序 图3 6 状态寄存器 状态寄存器 状态寄存器包括四个非易失性控制位 两个易失性状态位 控制位可以设置看门狗 定时器的操作 存储块锁存保护 状态寄存器被设计成 状态记录员 状态寄存器 缺省状态为30H 76543210 00WD1WD0BL1BL0WELWIP 写入程序位 WIP 是一个易变性的 只读位 指示装置的是否忙于内部非易变性写 操作 使用RDST指令可以使WIP位被读出 当设置为1时 非易变性写操作在进行中 当 设置为0时 进行中没有写操作 写使能锁存位 WEL 指示 写使能 锁存的状态 当WEL为1时 锁存器被置位 当 WEL为0时 锁存器被复位 WEL是一个易变性的 只读位 WREN指令可以设置WEL位 WROS指令可以使WEL位复位 块锁存位BL0和BL1 设置块锁定保护的标准 这些非易变位可以用WRSR指令编程 允 许使用者保护存储器序列的1 4 1 2 全部或空 被块锁存保护排列的任一部分只能读 不能写 它将保护到BL位被改变使存储器部分不能块锁存保护 状态寄存器 位 序列地址保 护 BL1BL0X5043 X5045 00 无 01 180 1FF 10 100 1FF 11 000 1FF 21 看门狗定时位WD0和WD1 选择看门狗定时溢出时间 用WRSR指令可以对这些非易变 位编程 状态寄存器 位 WD1WD0 看门狗定时时间溢 出 典型值 001 4s 01600ms 10200ms 11 不确定 读状态寄存器 读状态寄存器 读状态寄存器 把 CS降为低电平来选择该装置 接着发送8位RDSR指令 状态寄存 器的内容被转移到SO引线上 通过CLK计时 状态寄存器在任何时间都可以被读出 甚至 在写周期过程中 写状态寄存器 写状态寄存器 在写数据到写状态寄存器之前 先发布WREN指令来设置 写使能 锁存器 WEL 首先使 CS变为低电平 对该装置定时WREN指令 再把 CS拉成高电平 再次把 CS拉成低 电平 在8位数据之后 进入WRSR指令 这8位数据与状态寄存器的内容一致 当 CS变为 高电平时操作结束 如果在WREN和WRSR之间 CS没有变成高电平 WRSR指令将无效 芯片保护矩阵 存储块WREN命令 WEL 芯片引脚 WP 被保护的区 域 不被保护的区 域 状态寄存器 BL0 BL1 WD0 WD1 0X 被保护被保护被保护 X0 被保护被保护被保护 11 被保护写使能写使能 22 图3 7 读状态寄存器时序 图3 8 写状态寄存器时序 读存储序列 读存储序列 当从EEPROM存储序列中读时 首先把 CS拉成低电平以选择芯片 8位READ指令被传 输到芯片中 接着是8位的地址 READ指令的第3位选择芯片的高位或地位 在READ代码 和地址被发送以后 在选择的地址中且存储在存储器中的数据被转移到SO引线上 存储 器下一个地址存储的数据通过继续提供时钟脉冲可以被读出 每一个数据的字节被转移 以后地址将自动增加到更高的地址 当达到最高地址 地址计算器变为000 允许读周期 无限的继续 当把 CS引脚拉成高电平时 读操作停止 写存储序列 写存储序列 在写数据到存储器序列之前 先发布WREN指令来设置 写使能 锁存器 WEL 首先 使 CS变为低电平 对该装置定时WREN指令 再把 CS拉成高电平 再次把 CS拉成低电平 在8位地址之后 进入WRITE指令 接着数据就被写入 WRITE指令的第3位包含地址位 A8 可以选择序列的高位或低位 如果在WREN和WRITE之间 CS没有变成高电平 WRITE指 令将无效 WRITE指令至少需要16个时钟周期 CS在整个操作过程中必须保持低电平 操作者可 以继续写入16字节的数据 唯一的限制是这16个字节必须存在同一页中 一页的地址开 始于地址 x xxxx 0000 结束于地址 xxxxx 1111 如果字节地址达到了该页的最后 一个字节 并且时钟仍然继续 计算器将返回到该页的第一个地址 写在以前写过的数 据上 23 为了写操作 字节或页写 能被完成 在时钟周期内被写入的最后的数据字节的0位 以后CS必须被拉成高电平 如果它在任何时间没有被拉成高电平 写操作将不能完成 在写过程中跟随着一个状态寄存器或存储序列写时序 状态寄存器可以被读入来检 查WIP位 非易变写过程中WIP处于高电平 图3 9 存储序列时序 图3 10 写存储时序 3 3 显示部分 本仪器利用 89C52 单片机串行口和廉价的 74HC164 集成块实现多个 LED 显示的一种 简单方法 利用该方法设计的多路 LED 显示系统具有硬件结构简单 软件编程容易和价 24 格低廉的特点 下面简单的介绍一下 74HC164 特点 特点 1 与门串行输入 2 完全的缓冲时钟脉冲和串行输入 3 直接清除 引脚图如图引脚图如图 3 113 11 图 3 11 说明 说明 这些 8 位移位寄存器的特点是具有与门串行输入和不同步的清除输入 CLR 门电 路串行输入 A 和 B 允许对输入数据的完全控制 低电平加在输入端可以抑制新数据的进 入 高电平输入能使输入有效 串行输入的数据当 CLK 是高电平或低电平时可以改变 89C52 单片机串行口方式 0 为移位寄存器方式 外接 3 片 74LS164 作为 3 位 LED 显示 器的静态显示接口 把 89C51 的 RXD 作为数据输出线 TXD 作为移位时钟脉冲 74LS164 为 TTL 单向 8 位移位寄存器 可实现串行输入 并行输出 其中 A B 第 1 2 脚 为串 行数据输入端 2 个引脚按逻辑与运算规律输入信号 共一个输入信号时可并接 T 第 8 脚 为时钟输入端 可连接到串行口的 TXD 端 每一个时钟信号的上升沿加到 T 端时 移位寄存器移一位 8 个时钟脉冲过后 8 位二进制数全部移入 74LS164 中 R 第 9 脚 为复位端 当 R 0 时 移位寄存器各位复 0 只有当 R 1 时 时钟脉冲才起作用 Q1 Q8 第 3 6 和 10 13 引脚 并行输出端分别接 LED 显示器的 hg a 各段对应的 引脚上 在给出了 8 个脉冲后 最先进入 74LS164 的第一个数据到达了最高位 然后再 来一个脉冲 第一个脉冲就会从最高位移出 搞清了这一点 下面让我们来看电路 6 片 7LS164 首尾相串 而时钟端则接在一起 这样 当输入 8 个脉冲时 从单片机 RXD 端 输出的数据就进入到了第一片 74LS164 中了 而当第二个 8 个脉冲到来后 这个数据就 进入了第二片 74LS164 而新的数据则进入了第一片 74LS164 这样 当第六个 8 个脉冲 完成后 首次送出的数据被送到了最左面的 164 中 其他数据依次出现在第一 二 三 片 74LS164 中 25 3 4 电源与复位电路部分 3 4 1 电源部分电源部分 本次设计应用的电压有 5V 220V 交流电源经变压器 整流 滤波后分别进入芯片 7805 产生 5V 这些电源的具体应用情况如下 5V 电源 单片机及外围电路所用电源 9V 电源 压电喇叭所用电源 3 4 2 复位电路复位电路 当 MCS 5l 系列单片机的复位引脚 RST 全称 RESET 出现 2 个机器周期以上的高电平 时 单片机就执行复位操作 如果 RST 持续为高电平 单片机就处于循环复位状态 根据应用的要求 复位操作通常有两种基本形式 上电复位和上电或开关复位 上电复位要求接通电源后 自动实现复位操作 常用的上电复位电路如图 3 12 a 中 左图所示 图中电容 C1 和电阻 R1 对电源十 5V 来说构成微分电路 上电后 保持 RST 一 段高电平时间 由于单片机内的等效电阻的作用 不用图中电阻 R1 也能达到上电复位 的操作功能 如图 3 12 a 中右图所示 图 3 12 要求电源接通后 单片机自动复位 并且在单片机运行期间 用开关操作也能使单 片机复位 常用的上电或开关复位电路如图 3 14 b 所示 上电后 由于电容 C3 的充电 和反相门的作用 使 RST 持续一段时间的高电平 当单片机已在运行当中时 按下复位 键 K 后松开 也能使 RST 为一段时间的高电平 从而实现上电或开关复位的操作 根据 实际操作的经验 下面给出这两种复位电路的电容 电阻参考值 图 3 12 a 中 Cl 10 30uF R1 1k 图 3 12 b 中 C2 1uF Rl lk R2 10k 本系统的复位电路采用上电复位 26 3 5 电铃和继电器部分 当定时时间到了 压电喇叭则发出一阵声响 时间到时发出一阵声响 按下 K4 键 可以停止声响 也可以启动继电器 由继电器可以控制放音机 3 6 按键部分 按键设定部分比较简单 因为本系统按键少 所以在设计上采用了独立按键方式 程序的编制上也采用了简单的扫描方式 程序执行后工作指示灯 LED 闪动 表示程序开始执行 七段显示器显示 0000 按 下操作键 K1 K4 动作如下 操作键 K1 设置现在的时间 操作键 K2 显示闹铃设置时间 操作键 K3 设置闹铃时间 操作键 K4 闹铃 ON OFF 设置 设为 ON 时连续 3 次发出哔的一声

温馨提示

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

评论

0/150

提交评论