已阅读5页,还剩51页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要 高建筑物如今在人们生活中处处可见 而高建筑物夜间闪烁灯以其鲜明的 装饰美化作用在城市里发挥着重要作用 闪烁灯的种类和智能程度随着现代电 子技术的发展不断的更新 其操作平台更简易 管理 管理更加智能化 显示 花样更加复杂美观 成为城市夜生活中不可缺少的设施之一 本课题主要应用 80c51 来实现 单片机具有体积小 更能强 应用面广等 优点 目前争议前所未见的速度取代者传统电子线路构成的经典系统 蚕食着 传统数字电路与模拟电路固有的领地 它的体积小 质量轻 价格便宜 为学 习 应用和开发提供了便利条件 关键词 关键词 单片机 80c51 灯光控制 Abstract High buildings now in people s lives everywhere but high buildings flashing lights at night with its bright decorates beautification effect in the city plays an important role Flashing lights and type of intelligent degree with modern electronic technology development constantly update Its operation platform more simple management Management more intelligent show design more complicated and beautiful become the city nightlife and indispensable to the one of the facilities This topic is applied to realize the 80 c51 microcontroller has small more strong wide application advantages at present dispute the speed of the unprecedented replace traditional electronic circuit consists of the classic system shrinking the traditional digital circuit and analog circuits inherent territory its small volume light quality price cheap application and development of learning provides the convenience Keywords Single chip microcomputer Lighting control 目 录 摘 要 Abstract 第 1 章 绪论 1 1 1 课题背景 1 第 2 章 单片机应用系统设计 3 2 1 方案选择 3 2 2 单元电路的设计 5 2 2 1 解码电路 5 本章小结 10 结 论 21 致 谢 22 参考文献 23 附录 1 译文 24 附录 2 英文参考资料 27 第 1 章 绪论 1 1 课题背景 1 1 1 1 概述概述 近年来 迅猛发展的计算机技术在社会的各个领域均显示了旺盛的生命力 为了适应社会的发展需要 单片微型计算机异军突起 随着计算机技术的日益 发展 微型单片机的发展经历几代 各种实用型的单片机也层出不穷 其中以 目前来看 MSC 51 最为经典实用 为当今的单片机的主流机型 在实际应用中 最为广泛使用 本文着重阐述了以单片机为最小控制系统的高建筑物夜间闪烁灯控制系统 的设计及其调试过程 主要部分由单片机控制 通过光敏三极管控制整个电路 的通断 来实现灯的亮灭 达到预先设定的目标 实现自动根据外界的光的强 度启动 节省人力资源 本设计课题着重软硬件的结合 在调试过程中体现单片机的控制功能 培 养了一定的能力 体现了理论与实践相结合的重要性 1 2 单片机的概述与发展 1 2 1 单片机简介 单片机是一种集成电路芯片 采用超大规模技术把具有数据处理能力 如算 术运算 逻辑运算 数据传送 中断处理 的微处理器 CPU 随机存取数据存 储器 RAM 只读程序存储器 ROM 输入输出电路 I O 口 可能还包括定时 计数器 串行通信口 SCI 显示驱动电路 LCD 或 LED 驱动电路 脉宽调制电 路 PWM 模拟多路转换器及 A D 转换器等电路集成到一块单块芯片上 构成 一个最小然而完善的计算机系统 这些电路能在软件的控制下准确 迅速 高 效地完成程序设计者事先规定的任务 由此来看 单片机有着微处理器所不具 备的功能 它可单独地完成现代工业控制所要求的智能化控制功能 这是单片 机最大的特征 然而单片机又不同于单板机 芯片在没有开发前 它只是具备 功能极强的超大规模集成电路 如果赋予它特定的程序 它便是一个最小的 完整的微型计算机控制系统 它与单板机或个人电脑 PC 机 有着本质的区别 单片机的应用属于芯片级应用 需要用户了解单片机芯片的结构和指令系统以 及其它集成电路应用技术和系统设计所需要的理论和技术 用这样特定的芯片 设计应用程序 从而使该芯片具备特定的功能 不同的单片机有着不同的硬件特征和软件特征 即它们的技术特征均不尽 相同 硬件特征取决于单片机芯片的内部结构 用户要使用某种单片机 必须 了解该型产品是否满足需要的功能和应用系统所要求的特性指标 这里的技术 特征包括功能特性 控制特性和电气特性等等 这些信息需要从生产厂商的技 术手册中得到 软件特征是指指令系统特性和开发支持环境 指令特性即我们 熟悉的单片机的寻址方式 数据处理和逻辑处理方式 输入输出特性及对电源 的要求等等 开发支持的环境包括指令的兼容及可移植性 支持软件 包含可 支持开发应用程序的软件资源 及硬件资源 要利用某型号单片机开发自己的 应用系统 掌握其结构特征和技术特征是必须的 单片机控制系统能够取代以前利用复杂电子线路或数字电路构成的控制系 统 可以软件控制来实现 并能够实现智能化 现在单片机控制范畴无所不在 例如通信产品 家用电器 智能仪器仪表 过程控制和专用控制装置等等 单 片机的应用领域越来越广泛 诚然 单片机的应用意义远不限于它的应用范畴或由此带来的经济效益 更重要的是它已从根本上改变了传统的控制方法和设计思想 是控制技术的一 次革命 是一座重要的里程碑 1 2 2 单片机的发展概述 1946 年第一台电子计算机诞生至今 只有 50 年的时间 依靠微电子技术 和半导体技术的进步 从电子管 晶体管 集成电路 大规模集成电路 现在一块芯片上完全可以集成几百万甚至上千万只晶体管 使得计算机体积更 小 功能更强 特别是近 20 年时间里 计算机技术获得飞速的发展 计算机 在工农业 科研 教育 国防和航空航天领域获得了广泛的应用 计算机技术 已经是一个国家现代科技水平的重要标志 单片机诞生于 20 世纪 70 年代 象 Fairchid 公司研制的 F8 单片微型计算 机 所谓单片机是利用大规模集成电路技术把中央处理单元 Center Processing Unit 也即常称的 CPU 和数据存储器 RAM 程序存储器 ROM 及其 他 I O 通信口集成在一块芯片上 构成一个最小的计算机系统 而现代的单片 机则加上了中断单元 定时单元及 A D 转换等更复杂 更完善的电路 使得单 片机的功能越来越强大 应用更广泛 20 世纪 70 年代 微电子技术正处于发展阶段 集成电路属于中规模发展 时期 各种新材料新工艺尚未成熟 单片机仍处在初级的发展阶段 元件集成 规模还比较小 功能比较简单 一般均把 CPU RAM 有的还包括了一些简单的 I O 口集成到芯片上 象 Farichild 公司就属于这一类型 它还需配上外围的 其他处理电路方才构成完整的计算系统 类似的单片机还有 Zilog 公司的 Z80 微处理器 80 年代 世界各大公司均竞相研制出品种多功能强的单片机 约有几十个 系列 300 多个品种 此时的单片机均属于真正的单片化 大多集成了 CPU RAM ROM 数目繁多的 I O 接口 多种中断系统 甚至还有一些带 A D 转换器的单片机 功能越来越强大 RAM 和 ROM 的容量也越来越大 寻址空间 甚至可达 64kB 可以说 单片机发展到了一个全新阶段 应用领域更广泛 许 多家用电器均走向利用单片机控制的智能化发展道路 1982 年以后 16 位单片机问世 代表产品是 INTEL 公司的 MCS 96 系列 16 位单片机比起 8 位机 数据宽度增加了一倍 实时处理能力更强 主频更高 集成度达到了 12 万只晶体管 RAM 增加到了 232 字节 ROM 则达到了 8kB 并 且有 8 个中断源 同时配置了多路的 A D 转换通道 高速的 I O 处理单元 适 用于更复杂的控制系统 九十年代以后 单片机获得了飞速的发展 世界各大半导体公司相继开发 了功能更为强大的单片机 美国 Microchip 公司发布了一种完全不兼容 MCS 51 的新一代 PIC 系列单片机 引起了业界的广泛关注 特别它的产品只有 33 条 精简指令集吸引了不少用户 使人们从 INTEL 的 111 条复杂指令集中走出来 PIC 单片机获得了快速的发展 在业界中占有一席之地 1990 年美国 INTEL 公司推出了 80960 超级 32 位单片机引起了计算机界的 轰动 产品相继投放市场 成为单片机发展史上又一个重要的里程碑 1 2 3 单片机的发展趋势 现在可以说单片机是百花齐放 百家争鸣的时期 世界上各大芯片制造 公司都推出了自己的单片机 从 8 位 16 位到 32 位 数不胜数 应有尽有 有与主流 C51 系列兼容的 也有不兼容的 但它们各具特色 互成互补 为单 片机的应用提供广阔的天地 纵观单片机的发展过程 可以预示单片机的发展趋势 大致有 1 低功耗 CMOS 化 MCS 51 系列的 8031 推出时的功耗达 630mW 而现在的单片机普遍都在 100mW 左右 随着对单片机功耗要求越来越低 现在的各个单片机制造商基本 都采用了 CMOS 互补金属氧化物半导体工艺 象 80C51 就采用了 HMOS 即高密 度金属氧化物半导体工艺 和 CHMOS 互补高密度金属氧化物半导体工艺 CMOS 虽然功耗较低 但由于其物理特征决定其工作速度不够高 而 CHMOS 则具备了 高速和低功耗的特点 这些特征 更适合于在要求低功耗象电池供电的应用场 合 所以这种工艺将是今后一段时期单片机发展的主要途径 2 微型单片化 现在常规的单片机普遍都是将中央处理器 CPU 随机存取数据存储 RAM 只读程序存储器 ROM 并行和串行通信接口 中断系统 定时电路 时钟电 路集成在一块单一的芯片上 增强型的单片机集成了如 A D 转换器 PMW 脉宽 调制电路 WDT 看门狗 有些单片机将 LCD 液晶 驱动电路都集成在单一的 芯片上 这样单片机包含的单元电路就更多 功能就越强大 甚至单片机厂商 还可以根据用户的要求量身定做 制造出具有自己特色的单片机芯片 此外 现在的产品普遍要求体积小 重量轻 这就要求单片机除了功能强 和功耗低外 还要求其体积要小 现在的许多单片机都具有多种封装形式 其 中 SMD 表面封装 越来越受欢迎 使得由单片机构成的系统正朝微型化方向发 展 3 主流与多品种共存 现在虽然单片机的品种繁多 各具特色 但仍以 80C51 为核心的单片机占 主流 兼容其结构和指令系统的有 PHILIPS 公司的产品 ATMEL 公司的产品和 中国台湾的 Winbond 系列单片机 所以 C8051 为核心的单片机占据了半壁江山 而 Microchip 公司的 PIC 精简指令集 RISC 也有着强劲的发展势头 中国台湾 的 HOLTEK 公司近年的单片机产量与日俱增 与其低价质优的优势 占据一定 的市场分额 此外还有 MOTOROLA 公司的产品 日本几大公司的专用单片机 在一定的时期内 这种情形将得以延续 将不存在某个单片机一统天下的垄断 局面 走的是依存互补 相辅相成 共同发展的道路 第第 2 章章单片机应用系统设计 2 1 系统设计主要是根据要实现的功能要求 对系统功能细化 分为若干 功能模块 化出系统功能框图 在对功能模块进行硬件和软件功能实现的分配 具体的设计分软件设计和硬件设计两部分 在本章中 简单的说明了系统设计 的基本流程 2 1 简述系统设计 单片机的应用系统的研制过程如图2 1所示 图 2 1 单片机应用系统的研制过程 用户提出任务开始 以芯片为基础进行设计 到最后完成任务 大致可以 分为 一 确定任务 总体设计 由于是实际问题 要考虑系统的先进性 可靠性 可维护性以及成本 经济效益出发 拟定出合理可行的技术性能指标 首先 根据任务的繁杂程度和技术指标要求选择机型在本次设计中 初 步定下选择89C51 其次 选择系统要用到的其他元器件 其中重要的是传感器的选择 根 据老师的意见 本次设计选用光敏电阻器 在总体设计的过程中 必须对软件和硬件综合考虑 原则上 能够用软 件来完成的任务 就尽量用软件来实现 降低硬件的成本 简化硬件结构 二 硬件电路设计 首先了解设计各个模块的功能与原理与组成 研究资料形成本次设计的 初步方案 熟悉回顾Protel的运用 并使用Protel绘制出基本的电路图 再 次检验自己的设计 修改设计中的不合理之处 三 软件设计 进行软件结构设计的任务是确定程序结构 划分功能模块 其中心思 想是将一个一个功能较多 程序量较大的程序整体按其功能划分成若干个相 对独立的程序段 分别进行独立的设计与测试查错 最终在连接为一个程序 整体 这样做的优点是对于我们学生来说 易于查找出错误 各个模块之间 相互不影响 易于修改 便于程序的调用 2 2 MSC 51单片机主要应用特性 MCS 51单片机是美国INTE公司于1980年推出的产品 与MCS 48单片机相比 它的结构更先进 功能更强 在原来的基础上增加了更多的电路单元和指令 指令数达111条 MCS 51单片机可以算是相当成功的产品 一直到现在 MCS 51系列或其兼容的单片机仍是应用的主流产品 各高校及专业学校的培训教材 仍与MCS 51单片机作为代表进行理论基础学习 我们也以这一代表性的机型进 行系统的讲解 MCS 51系列单片机主要包括8031 8051和8751等通用产品 其主要功能如 下 8位CPU 4kbytes 程序存储器 ROM 128bytes的数据存储器 RAM 32条I O口线 111条指令 大部分为单字节指令 21个专用寄存器 2个可编程定时 计数器 5个中断源 2个优先级 一个全双工串行通信口 外部数据存储器寻址空间为64kB 外部程序存储器寻址空间为64kB 逻辑操作位寻址功能 双列直插40PinDIP封装 单一 5V电源供电 8051是MCS 51系列单片机的典型产品 我们以这一代表性的机型进行系统 的讲解 8051单片机包含中央处理器 程序存储器 ROM 数据存储器 RAM 定时 计数器 并行接口 串行接口和中断系统等几大单元及数据总线 地址总线 和控制总线等三大总线 它的内部结构如图2 1所示 中央处理器 中央处理器 CPU 是整个单片机的核心部件 是8位数 据宽度的处理器 能处理8位二进制数据或代码 CPU负责控制 指挥和调度整 个单元系统协调的工作 完成运算和控制输入输出功能等操作 数据存储器 RAM 8051内部有128个8位用户数据存储单元和128个 专用寄存器单元 它们是统一编址的 专用寄存器只能用于存放控制指令数据 用户只能访问 而不能用于存放用户数据 所以 用户能使用的的RAM只有128 个 可存放读写的数据 运算的中间结果或用户定义的字型表 程序存储器 ROM 8051共有4096个8位掩膜ROM 用于存放用户程 序 原始数据或表格 定时 计数器 ROM 8051有两个16位的可编程定时 计数器 以实 现定时或计数产生中断用于控制程序转向 并行输入输出 I O 口 8051共有4组8位I O口 P0 P1 P2或P3 用于对外部数据的传输 全双工串行口 8051内置一个全双工串行通信口 用于与其它设备 间的串行数据传送 该串行口既可以用作异步通信收发器 也可以当同步移位 器使用 中断系统 8051具备较完善的中断功能 有两个外中断 两个定时 计数器中断和一个串行中断 可满足不同的控制要求 并具有2级的优先级别 选择 时钟电路 8051内置最高频率达12MHz的时钟电路 用于产生整个 单片机运行的脉冲时序 但8051单片机需外置振荡电容 图 2 1 8051 内部结构 2 3 本章小结 在本章 大体上介绍了完成本次设计的大致上的思路 包括软件与硬 件上的设计 也对单片机做了大体上的介绍 对本次设计任务做了初步的介绍 明确了设计的任务和设计方向 第三章 硬件电路设计 3 1 MSC 51 单片机的硬件结构 3 1 1 MSC 单片机内部结构 单片机的结构有两种类型 一种是程序存储器和数据存储器分开的形式 即哈佛 Harvard 结构 另一种是采用通用计算机广泛使用的程序存储器与数 据存储器合二为一的结构 即普林斯顿 Princeton 结构 INTEL的MCS 51系列 单片机采用的是哈佛结构的形式 而后续产品16位的MCS 96系列单片机则采用 普林斯顿结构 图3 1是MCS 51系列单片机的内部结构示意图 图 3 1 MSC 51 内部结构示意图 图3 1 MCS 51系列单片机内部结构示意图 MSC 51的引脚说明 1 电源引脚 Vcc和 Vss Vcc 40脚 电源端 为 5V Vss 20脚 接地端 2 时钟电路引脚XTAL1和XTAL2 XTAL2 18脚 接外部晶体和微调电容的一端 XTAL1 19脚 接外部晶体和微调电容的另一端 3 控制信号引脚 RST ALE PSEN EA RST VPD 9脚 RST是复位信号输入端 高电平有效 ALE PROG 地址锁存允许信号端 PSEN 程序存储允许输出信号端 EA Vpp 外部程序存储器地址允许输入端 固化编程电压输入端 4 输入 输出端口P0 P1 P2 和P3 P0口 P0 0 P0 7 39 32脚 P0口是一个漏极开路的八位准双向I O端 口 P1口 P1 0 P1 7 1 8脚 P1口是一个带内部上拉电阻的8位准双向I O 端口 P2口 P2 0 P2 7 21 28脚 P2口是一个带内部上拉电阻的8位准双向 I O端口 P3口 P3 0 P3 7 10 17脚 P3口是一个带内部上拉电阻的8位准双向 I O端口 P3口与其他I O端口有很大区别 它除作为一般准双向I O口外 每个引 脚还具有第二功能 外部管脚图如图 3 2 所 9 脚 RESET VPD复位信号复用脚 当 8051 通电 时钟电路开始工作 在 RESET 引脚上出现 24 个时钟周期以上的高电平 系统即初始复位 初始化 后 程序计数器 PC 指向 0000H P0 P3 输出口全部为高电平 堆栈指钟写入 07H 其它专用寄存器被清 0 RESET 由高电平下降为低电平后 系统即从 0000H 地址开始执行程序 然而 初始复位不改变 RAM 包括工作寄存器 R0 R7 的状态 8051 的初始态如下表 3 1 8051 的复位方式可以是自动复位 也可以是手动复位 见下图 3 3 此 外 RESET VPD还是一复用脚 Vcc 掉电期间 此脚可接上备用电源 以保证 单片机内部 RAM 的数据不丢失 3 1 2 MSC 51 单片机输入输出口 8051 有 4 组 8 位 I O 口 P0 P1 P2 和 P3 口 P1 P2 和 P3 为准双向口 P0 口则为双向三态输入输出口 下面我们分别介绍这几个口线 P0 口和 P2 口 图 3 4 为 P0 口和 P2 口其中一位的电路图 由图可见 电路中包含一个数据输出锁存器和两个三态数据输入缓冲器 另外还 图 3 2 MSC 51 引脚 特殊功能寄存器初始态特殊功能寄存器初始态 ACC00HB00H PSW00HSP07H DPH00HTH000H DPL00HTL000H IPxxx00000BTH100H IE0 xx00000BTL100H TMOD00HTCON00H SCONxxxxxxxxBSBUF00H P0 P31111111BPCON0 xxxxxxxB 表 3 1 8051 初始状态 有一个数据输出的驱动和控制电路 这两组口线用来作为 CPU 与外部数据存储 器 外部程序存储器和 I O 扩展口 而不能象 P1 P3 直接用作输出口 它们 一起可以作为外部地址总线 P0 口身兼两职 既可作为地址总线 也可作为数 据总线 参考图 3 4 图 3 3 8051 的复位方式 图 3 4 P2 口锁存器和缓冲器结构 P1 口 图 3 5 为 P1 口其中一位的电路图 P1 口为 8 位准双向口 每 一位均可单独定义为输入或输出口 当作为输入口时 1 写入锁存器 Q 非 0 T2 截止 内上拉电阻将电位拉至 1 此时该口输出为 1 当 0 写入锁存 器 Q 非 1 T2 导通 输出则为 0 作为输入口时 锁存器置 1 Q 非 0 T2 截止 此时该位既可以把外部电路拉成低电平 也可由内部上拉电阻拉 成高电平 正因为这个原因 所以 P1 口常称为准双向口 需要说明的是 作 为输入口使用时 有两种情况 其一是 首先是读锁存器的内容 进行处理后 再写到锁存器中 这种操作即读 修改 写操作 象 JBC 逻辑判断 CPL 取反 INC 递增 DEC 递减 ANL 与逻辑 和 ORL 逻辑或 指令均属于这类操作 其 二是 读 P1 口线状态时 打开三态门 G2 将外部状态读入 CPU 图 3 5 P1 口锁存器和缓冲器的结构 P3 口 P3 口的电路如图 3 6 所示 P3 口为准双向口 为适应引脚的第二功能的 需要 增加了第二功能控制逻辑 在真正的应用电路中 第二功能显得更为重 要 由于第二功能信号有输入输出两种情况 我们分别加以说明 P3 口的输入输出及 P3 口锁存器 中断 定时 计数器 串行口和特殊功能 寄存器有关 P3 口的第一功能和 P1 口一样可作为输入输出端口 同样具有字 节操作和位操作两种方式 在位操作模式下 每一位均可定义为输入或输出 在这里我将着重说明 P3 口的第二功能 P3 口的第二功能各管脚定义如下 P3 0 串行输入口 RXD P3 1 串行输出口 TXD P3 2 外中断 0 INT0 P3 3 外中断 1 INT1 P3 4 定时 计数器 0 的外部输入口 T0 P3 5 定时 计数器 1 的外部输入口 T1 P3 6 外部数据存储器写选通 WR P3 7 外部数据存储器读选通 RD 对于第二功能为输出引脚 当作 I O 口使用时 第二功能信号线应保持高电 平 与非门开通 以维持从锁存器到输出口数据输出通路畅通无阻 而当作第 二功能口线使用时 该位的锁存器置高电平 使与非门对第二功能信号的输出 是畅通的 从而实现第二功能信号的输出 对于第二功能为输入的信号引脚 在口线上的输入通路增设了一个缓冲器 输入的第二功能信号即从这个缓冲器 的输出端取得 而作为 I O 口线输入端时 取自三态缓冲器的输出端 这样 不管是作为输入口使用还是第二功能信号输入 输出电路中的锁存器输出和第 二功能输出信号线均应置 1 图 3 6 P3 口线逻辑电路图 3 1 3 MSC 51 定时 计数器 MCS 51 的单片机内有两个 16 位可编程的定时 计数器 它们具有四种工作 方式 其控制字和状态均在相应的特殊功能寄存器中 通过对控制寄存器的编 程 就可方便地选择适当的工作方式 定时 计数器的工作方式 MCS 51 单片机内部的定时 计数器的结构如图 3 7 所示 定时器 T0 特 性功能寄存器 TL0 低 8 位 和 TH0 高 8 位 构成 定时器 T1 由特性功能寄 存器 TL1 低 8 位 和 TH1 高 8 位 构成 特殊功能寄存器 TMOD 控制定时寄 存器的工作方式 TCON 则用于控制定时器 T0 和 T1 的启动和停止计数 同时管 理定时器 T0 和 T1 的溢出标志等 程序开始时需对 TL0 TH0 TL1 和 TH1 进行 初始化编程 以定义它们的工作方式和控制 T0 和 T1 的计数 TMOD 和 TCON 这两个特殊功能寄存器的格式参见表 3 2 与表 3 3 1 定时 计数器的方式控制字 TMOD 字节地址为 89H 其格式如表 3 2 表 1 TMOD 寄存器结构 D7D6D5D4D3D2D1D0 GATAM1M0GATAM1M0 T1 方式字段 T0 方式字段 表 3 2 2 定时器控制积存器 TCON 字节地址为 88H 位地址为 88H 8FH 其格式 如表 3 3 表 2 TCON 结构 D7D6D5D4D3D2D1D0 TF1TR1TF0TR0IE1IT1IE0IT0 表 3 3 需要注意的是 TCON 的 D0 D3 位与中断有关 将在中断的内容中加以说 明 MCS 51 的定时 计数器共有四种工作方式 将在下面进行详细说明 1 工作方式 0 定时 计数器 0 的工作方式 0 电路逻辑结构见图 3 8 定时 计数器 1 与其 完全一致 工作方式 0 是 13 位计数结构的工作方式 其计数器由 TH 的全部 8 位和 TL 的低 5 位构成 TL 的高 3 位没有使用 当 0 时 多路开关接通振 荡脉冲的 12 分频输出 13 位计数器以次进行计数 这就是定时工作方式 当 1 时 多路开关接通计数引脚 To 外部计数脉冲由银南脚 To 输入 当 计数脉冲发生负跳变时 计数器加 1 这就是我们常称的计数工作方式 不管是哪种工作方式 当 TL 的低 5 位溢出时 都会向 TH 进位 而全部 13 位 计数器溢出时 则会向计数器溢出标志位 TF0 进位 我们讨论门控位 GATA 的功能 GATA 位的状态决定定时器运行控制取决于 TR0 的一个条件还是 TR0 和 INT0 引脚这两个条件 当 GATA 1 时 由于 GATA 信 号封锁了与门 使引脚 INT0 信号无效 而这时候如果 TR0 1 则接通模拟开关 使计数器进行加法计数 即定时 计数工作 而 TR0 0 则断开模拟开关 停止 计数 定时 计数不能工作 当 GATA 0 时 与门的输出端由 TR0 和 INT0 电平的状态确定 此时如果 TR0 1 INT0 1 与门输出为 1 允许定时 计数器计数 在这种情况下 运行控 制由 TR0 和 INT0 两个条件共同控制 TR0 是确定定时 计数器的运行控制位 由软件置位或清 0 如上所述 TF0 是定时 计数器的溢出状态标志 溢出时由硬件置位 TF0 溢出中断被 CPU 响应时 转入中断时硬件清 0 TF0 也可由程序查询和清 0 图 3 8 定时 计数器工作方式 0 逻辑结构 在工作方式下 计数器的计数值范围是 1 8192 213 当为定时工作方式时 定时时间的计算公式为 213 计数初值 晶振周期 12 或 213 计数初值 机器周期 其时间单位与晶振周期或机器周期相同 如果单片机的晶振选为 6 000MHz 则最小定时时间为 213 213 1 1 6 10 6 12 2 10 6 s 2 us 213 0 1 6 10 6 12 16384 10 6 s 16384 us 2 工作方式 1 当 M1 M0 01 时 定时 计数器处于工作方式 1 此时 定时 及数器的等效 电路如图 3 9 所示 仍以定时器 0 为例 定时器 1 与之完全相同 图 3 9 定时 计数器工作方式 1 等效电路 可以看出 方式 0 和方式 1 的区别仅在于计数器的位数不同 方式 0 为 13 位 而方式 1 则为 16 位 由 TH0 作为高 8 位 TL0 为低 8 位 有关控制状态字 GATA TF0 TR0 和方式 0 相同 在工作方式 1 下 计数器的计数值范围是 1 65536 216 当为定时工作方式 1 时 定时时间的计算公式为 216 计数初值 晶振周期 12 或 216 计数初值 机器周期 其时间单位与晶振周期或机器周期相同 如果单片机的晶振选为 6 000MHz 则最小定时时间为 213 216 1 1 6 10 6 12 2 10 6 s 2 us 216 0 1 6 10 6 12 131072 10 6 s 131072 us 3 工作方式 2 当 M1M0 10 时 定时 计数器处于工作方式 2 此时定时器的等效电阻如图 3 10 所示 我们还是以定时 计数器 0 为例 定时 计数器 1 与之完全一致 工作方式 0 和工作方式 1 的最大特点就是计数溢出后 计数器为全 0 因 而循环定时或循环计数应用时就存在反复设置初值的问题 这给程序设计带来 许多不便 同时也会影响计时精度 工作方式 2 就针对这个问题而设置 它具 有自动重装载功能 即自动加载计数初值 所以也有的文献称之为自动重加载 工作方式 在这种工作方式中 16 位计数器分为两部分 即以 TL0 为计数器 以 TH0 作为预置寄存器 初始化时把计数初值分别加载至 TL0 和 TH0 中 当计 数溢出时 不再象方式 0 和方式 1 那样需要 人工干预 由软件重新赋值 而是由预置寄存器 TH 以硬件方法自动给计数器 TL0 重新加载 图 3 10 定时 计数器工作方式 2 等效电路 程序初始化时 给 TL0 和 TH0 同时赋以初值 当 TL0 计数溢出时 置位 TF0 的同时把预置寄存器 TH0 中的初值加载给 TL0 TL0 重新计数 如此反复 这样省去了程序不断需给计数器赋值的麻烦 而且计数准确度也提高了 但这 种方式也有其不利的一面 就是这样一来的计数结构只有 8 位 计数值有限 最大只能到 255 所以这种工作方式很适合于那些重复计数的应用场合 例如 我们可以通过这样的计数方式产生中断 从而产生一个固定频率的脉冲 也可 以当作串行数据通信的波特率发送器使用 4 工作方式 3 当 M1M0 11 时 定时 计数器处于工作方式 3 此时 定时 及数器的等 效电路如图 3 11 所示 仍以定时器 0 为例 值得注意的是 在工作方式 3 模 式下 定时 计数器 1 的工作方式与之不同 下面我们分别说明 在工作方式 3 模式下 定时 计数器 0 被拆成两个独立的 8 位计数器 TL0 和 TH0 其中 TL0 既可以作计数器使用 也可以作为定时器使用 定时 计 数器 0 的各控制位和引脚信号全归它使用 其功能和操作与方式 0 或方式 1 完 全相同 TH0 就没有那么多 资源 可利用了 只能作为简单的定时器使用 而且由于定时 计数器 0 的控制位已被 TL0 占用 因此只能借用定时 计数器 1 的控制位 TR1 和 TF1 也就是以计数溢出去置位 TF1 TR1 则负责控制 TH0 定时 的启动和停止 等效电路参见图 3 12 由于 TL0 既能作定时器也能作计数器使用 而 TH0 只能作定时器使用 而不能作计数器使用 因此在方式 3 模式下 定时 计数器 0 可以构成二个定 时器或者一个定时器和一个计数器 图 3 11 定时 计数器工作方式 3 等效电路 如果定时 计数器 0 工作于工作方式 3 那么定时 计数器 1 的工作方 式就不可避免受到一定的限制 因为自己的一些控制位已被定时 计数器借用 只能工作在方式 0 方式 1 或方式 2 下 等效电路参见图 3 12 图 3 12 T1 工作方式 2 在这种情况下 定时 计数器 1 通常作为串行口的波特率发生器使用 以 确定串行通信的速率 因为已没有 TF1 被定时 计数器 0 借用了 只能把计数 溢出直接送给串行口 当作波特率发生器使用时 只需设置好工作方式 即可 自动运行 如要停止它的工作 需送入一个把它设置为方式 3 的方式控制字即 可 这是因为定时 计数器本身就不能工作在方式 3 如硬把它设置为方式 3 自然会停止工作 3 1 4 MSC 51 的中断系统 出现中断的原因是因为单片机中 CPU 只有一个 但在同一时间内可能会面 临着处理很多任务的情况 如运行主程序 数据的输入和输出 定时 和计数 时间已到要处理 可能还有一些外部的更重要的中断请求 如超温超压 要先 处理 此时也得象人的思维一样停下某一样 或几样 工作先去完成一些紧急 任务的中断方法 这样的一样处理方法上升到计算机理论 就是一个资源面对多项任务的处 理方式 由于资源有限 面对多项任务同时要处理时 就会出现资源竞争的现 象 中断技术就是为了解决资源竞争的一个可行的方法 采用中断技术可使多 项任务共享一个资源 所以有些文献也称中断技术是一种资源共享技术 3 1 4 1 MSC 51 的中断结构 计算机的中断系统能够加强 CPU 对多任务事件的处理能力 从而使它 的应用范围进一步扩大 在 MCS 48 结构的基础上 MCS 51 在增强了 I O 的种 类 功能和数量的同时 也增强了中断能力 MCS 51 提供了 5 个中断源 两个 中断优先级控制 可实现两个中断服务嵌套 当 CPU 支持中断屏蔽指令后 可 将一部分或所有的中断关断 只有打开相应的中断控制位后 方可接收相应的 中断请求 程序设置中断的允许或屏蔽 也可设置中断的优先级 MSC 51 的中 断结构如图 3 13 所示 3 1 4 2 中断处理流程 CPU 响应中断请求后 就立即转入执行中断服务程序 不同的中断源 不同的中断要求可能有不同的中断处理方法 但它们的处理流程一般都如下所 述 1 现场保护与现场恢复 中断是在执行其它任务的过程中转去执行临时的任务 为了在执行完中 断服务程序后 回头执行原先的程序时 知道程序原来在何处打断的 各有关 寄存器的内容如何 就必须在转入执行中断服务程序前 将这些内容和状态进 行备份 即保护现场 就象文章开头举的例子 在看书时 电话玲响需传去 接电话时 必须在书本上做个记号 以便在接完电话后回来看书时 知道从哪 些内容继续往下看 计算机的中断处理方法也如此 中断开始前需将个有关寄 存器的内容压入堆栈进行保存 以便在恢复原来程序时使用 中断服务程序完成后 继续执行原先的程序 就需把保存的现场内容从 堆栈中弹出 恢复积存器和存储单元的原有内容 这就是现场恢复 图 3 13 MSC 51 中断系统结构 如果在执行中断服务时不是按上述方法进行现场保护和恢复现场 就会是 程序运行紊乱 程序跑飞 自然使单片机不能正常工作 2 中断打开和中断关闭 在中断处理进行过程中 可能又有新的中断请求到来 这里规定 现场 保护和现场恢复的操作是不允许打扰的 否则保护和恢复的过程就可能使数据 出错 为此在进行现场保护和现场恢复的过程中 必须关闭总中断 屏蔽其它 所有的中断 待这个操作完成后再打开总中断 以便实现中断嵌套 3 中断服务程序 既然有中断产生 就必然有其具体的需执行的任务 中断服务程序就是 执行中断处理的具体内容 一般以子程序的形式出现 所有的中断都要转去执 行中断服务程序 进行中断服务 4 中断返回 执行完中断服务程序后 必然要返回 中断返回就是被程序运行从中断 服务程序转回到原工作程序上来 在 MCS 51 单片机中 中断返回是通过一条 专门的指令实现的 自然这条指令是中断服务程序的最后一条指令 3 1 4 3 中断的响应 MCS 51CPU 在每一个机器周期顺序检查每一个中断源 在机器周期的 S6 按优先级处理所有被激活的中断请求 此时 如果 CPU 没有正在处理更高或相 同优先级的中断 或者现在的机器周期不是所执行指令的最后一个机器周期 或者 CPU 不是正在执行 RETI 指令或访问 IE 和 IP 的指令 因为按 MCS 51 中断 系统的特性规定 在执行完这些指令之后 还要在继续执行一条指令 才会响 应中断 CPU 在下一个机器周期响应激活了的最高级中断请求 中断响应的主要内容就是由硬件自动生成一条长调用 LCALL addr16 指令 这里的 addr16 就是程序存储器中相应的中断区入口地址 这些中断源的服务 程序入口地址如下表 3 8 个中断源的服务程序入口地址 中断源入口地址 外中断 0 0003H 定时 计数器 0 000BH 外中断 1 0013H 定时 计数器 0 001BH 串行口中断 0023H 表 3 8 个中断源的服务程序入口地址 生成 LCALL 指令后 CPU 紧跟着便执行之 首先将 PC 程序计数器 的内容压 入堆栈保护断点 然后把中断入口地址赋予 PC CPU 便按新的 PC 地址 即中 断服务程序入口地址 执行程序 值得一提的是 各中断区只有 8 个单元 一般情况下 除非中断程序非常 简单 都不可能安装下一个完整的中断服务程序 因此 通常是在这些入口 地址区放置一条无条件转移指令 使程序按转移的实际地址去执行真正的中断 服务程序 3 1 5 复位电路 单片机复位电路设计的好坏 直接影响到整个系统工作的可靠性 许多用户在 设计完单片机系统 并在实验室调试成功后 在现场却出现了 死机 程 序飞走 等现象 这主要是单片机如无规律可循的 死机 程序飞走 等 而用仿真器调试时却无此现象发生或极少发生此现象 在实际应用中 用 户有时会发现在关闭电源后的短时间内再次开启电源 单片机可能回工作不正 常 这些现象 都可以认为是由于单片机复位电路的设计不当引起的 所以在 复位电路的设计显得尤为重要 目前为止 单片机复位电路主要有四种类型 a 微分型复位电路 b 积分型复位电路 c 比较器型复位电路 d 看门狗型复位电路 当 MCS 5l 系列单片机的复位引脚 RST 全称 RESET 出现 2 个机器周期以上 的高电平时 单片机就执行复位操作 如果 RST 持续为高电平 单片机就处于 循环复位状态 根据应用的要求 复位操作通常有两种基本形式 上电复位和上电或开关 复位 上电复位要求接通电源后 自动实现复位操作 常用的上电复位电路如 下图 3 14 中左图所示 图中电容 C1 和电阻 R1 对电源十 5V 来说构成微分电路 上电后 保持 RST 一段高电平时间 由于单片机内的等效电阻的作用 不用图 3 14 中电阻 R1 也能达到上电复位的操作功能 如下图 3 14 A 中右图所示 图 3 14 单片机的复位电路 上电或开关复位要求电源接通后 单片机自动复位 并且在单片机运行 期间 用开关操作也能使单片机复位 常用的上电或开关复位电路如上图 B 所示 上电后 由于电容 C3 的充电和反相门的作用 使 RST 持续一段时间的 高电平 当单片机已在运行当中时 按下复位键 K 后松开 也能使 RST 为一段 时间的高电平 从而实现上电或开关复位的操作 根据实际操作的经验 下面给出这两种复位电路的电容 电阻参考值 上图 3 14 A 中 Cl 10 30uF R1 1k 上图 3 14 B 中 C 1uF Rl lk R2 10k 单片机复位后的状态 单片机的复位操作使单片机进入初始化状态 其中包括使程序计数器 PC 0000H 这表明程序从 0000H 地址单元开始执行 单片机冷启动后 片内 RAM 为随机值 运行中的复位操作不改变片内 RAM 区中的内容 21 个特殊功能 寄存器复位后的状态为确定值 见下表 3 9 值得指出的是 记住一些特殊功能寄存器复位后的主要状态 对于了解单片机 的初态 减少应用程序中的韧始化部分是十分必要的 说明 表中符号 为随机状态 A 00H 表明累加器已被清零 特殊功能寄存器 初始状态 特殊功能寄存器 初始状态 A 00H TMOD 00H B 00H TCON 00H PSW 00H TH0 00H SP 07H TL0 00H DPL 00H TH1 00H DPH 00H TL1 00H P0 P3 FFH SBUF 不定 IP 00000B SCON 00H IE 0 00000B PCON 0 B 表 3 9 PSW 00H 表明选寄存器 0 组为工作寄存器组 SP 07H 表明堆栈指针指向片内 RAM 07H 字节单元 根据堆栈操作的先加 后压法则 第一个被压入的内容写入到 08H 单元中 Po P3 FFH 表明已向各端口线写入 1 此时 各端口既可用于输入又可用 于输出 IP 00000B 表明各个中断源处于低优先级 IE 0 00000B 表明各个中断均被关断 系统复位是任何微机系统执行的第一步 使整个控制芯片回到默认的硬件 状态下 51 单片机的复位是由 RESET 引脚来控制的 此引脚与高电平相接超过 24 个振荡周期后 51 单片机即进入芯片内部复位状态 而且一直在此状态下 等待 直到 RESET 引脚转为低电平后 才检查 EA 引脚是高电平或低电平 若 为高电平则执行芯片内部的程序代码 若为低电平便会执行外部程序 本次设计电路中 采用微分型复位电路示意图 3 15 所示 图 3 15 微分型复位电路 上电瞬间 RES 端的电位与 Vcc 相同 随着电容的逐步充电 充电电流减少 RES 电位逐渐下降 上电复位所需的最短时间是振荡器建立时间加上二个机器 周期 在这段时间内 RES 端口电平应维持高于施密特触发器的下阈值 一般 Vcc 的上升时间不超过 1ms 振荡器经历时间不超过 10ms 故 C 10 uf R 8 2 K T RC 82ms 下面以以高电平复位为例 建立如下方程 电源上电时 可以认为 Us 为阶跃信号 即 其 中 U0 是由于下拉电阻 R 在 CPU 复位端引起的电压值 一般为 0 3V 以下 但在实际应用中 Us 不可能为理想的阶跃信号 其主要原因有两点 1 稳压电源的输出开关特性 2 设计人员在设计电路时 为保证电源电 压稳定性 往往在电源的输入端并联一个大电容 从而导致了 Us 不可能为阶 跃信号特征 由于第一种情况与第二种情况在本质上是一样的 即对 Us 的上 升斜率产生影响 从而影响了的 URST 的复位特性 为此假 Us 的上升斜率为 k 从 0V Us 需要 T 时间 即 当 T 时 令 A T 则 即此时的复位可靠性较前面的好 另一种情况就是设计人员将一些开关性质的功率器件 如大功率 LED 发不 管与单片机系统共享一个稳压电源 而单片机系统的复位端采用微分复位电路 由此也将造成复位的不正常现象 具体分析如图 3 16 所示 将器件等效为电阻 RL 其中开关特性即 RL 很小或 RL 很大两种工作状态 而稳压电源的基本工作原理是 RL I U I U 从中可以看出 负载的变化必然引电流的变化 为了分析简单 假设 R RL 并且 R R0 这样 可以近似地钭以上电路网络看作两个网络的组合 并且网络之间的负载效应可 以忽略不计 第一个电路网络等效为一个分压电路 当 RL 从 RLmin Rlmax 时 使其变 化为阶跃性持 则 UA 为一个赋的阶跃信号 图 3 16 复位
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年会计职称考试冲刺预测题
- 2026年财务主管招聘考试模拟
- 2026年乡村建设工匠考试仿真题及模拟卷
- 2026年造价工程师笔试历年仿真题
- 2026年一级造价工程师土建工程模拟题
- 2026年教育知识与教育能力
- 2026双江弘达综合供销(集团)有限公司招聘职业经理人1名考试备考题库及答案解析
- 2026年上半年金平县紧密型县域医疗卫生共同体面向社会招聘第二批编外人员(7人)考试参考试题及答案解析
- 广安投资集团有限公司2026年人才引进考试备考题库及答案解析
- 2026福建泉州安溪县凤城中学招聘秋季编外合同教师考试参考试题及答案解析
- 国家事业单位招聘2025国家文化和旅游部恭王府博物馆应届毕业生招聘4人笔试历年参考题库典型考点附带答案详解
- 盐热敷疗法蒙医
- 2026贵州农商联合银行社会招聘20人备考题库含答案详解(达标题)
- 2026年达芬奇调色考证高分题库及答案详解(夺冠)
- 2026年高考高三考前预测卷物理试卷(湖南专用)(含答案)
- 2026家电行业创新零售白皮书-
- 心理康复的常用技术
- 江小白营销案例分析
- 中职机械教学中数字化教学资源的开发与应用课题报告教学研究课题报告
- 宜宾市自然资源和规划局竞争性比选工作人员的考试参考试题及答案解析
- 《道路运输企业主要负责人和安全生产管理人员安全考核机动车维修企业》专业部分题库(附答案)
评论
0/150
提交评论