51单片机汇编语言教程:18课单片机中断系统

上传人:油条 文档编号:12695294 上传时间:2017-09-04 格式:PDF 页数:13 大小:870.57KB
返回 下载 相关 举报
51单片机汇编语言教程:18课单片机中断系统_第1页
第1页 / 共13页
51单片机汇编语言教程:18课单片机中断系统_第2页
第2页 / 共13页
51单片机汇编语言教程:18课单片机中断系统_第3页
第3页 / 共13页
51单片机汇编语言教程:18课单片机中断系统_第4页
第4页 / 共13页
51单片机汇编语言教程:18课单片机中断系统_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《51单片机汇编语言教程:18课单片机中断系统》由会员分享,可在线阅读,更多相关《51单片机汇编语言教程:18课单片机中断系统(13页珍藏版)》请在金锄头文库上搜索。

1、51单片机汇编语言教程 -慧净 电子 会员收集整理 (全部 28课)推荐使用慧净 51实验板。推荐 51学习网 W.HLMCU.OM淘宝网: htp:/shop37031453.taobao.cm /51单片机汇编语言教程: 第 18课 -单片机中断系统( 基 于 HJ-1G、 HJ-3G实 验板 )有 关单 片机 中断 系统 的概 念 : 什 么是 中断 , 我 们从 一个 生活 中的 例程 引入 。 你 正在 家中看 书 , 突 然电 话铃 响了 , 你 放下 书本 , 去 接电 话 , 和 来电 话的 人交 谈 , 然 后放 下电 话 , 回 来继 续看 你的 书 。 这 就是 生活 中

2、的 “ 中 断 ” 的 现象 , 就 是正 常的 工作 过程 被外 部的 事件 打断 了 。仔 细研 究一 下生 活中 的中 断, 对于 我们 学习 单片 机的 中断 也很 有好 处。 第 一、 什么 可 以 引 起中 断, 生活 中很 多事 件能 引起 中断 :有 人按 了门 铃了 ,电 话铃 响了 , 你的 闹钟 闹响 了 , 你 烧的 水开 了 .等 等诸 如此 类的 事件 , 我 们把 能引 起中 断的 称之 为中 断源 ,单 片机 中也 有一 些能 引起 中断 的事 件 , 8031中 一共 有 5个 : 两 个外 部中 断 , 两 个计 数 /定 时器中 断, 一个 串行 口中 断

3、。 第 二 、 中 断的 嵌套 与优 先级 处理 : 设 想一 下 , 我 们正 在看 书 , 电 话铃 响了 , 同 时又 有人 按了门 铃, 你该 先做 那样 呢? 如果 你正 是在 等一 个很 重要 的电 话, 你一 般不 会去 理会 门铃 的 , 而反 之 , 你 正在 等一 个重 要的 客人 , 则 可能 就不 会去 理会 电话 了 。 如 果不 是这 两者 ( 即 不等 电话 , 也 不是 等人 上门 ) , 你 可能 会按 你常 常的 习惯 去处 理 。 总 之这 里存 在一 个优 先级 的问 题 ,单 片机 中也 是如 此 , 也 有优 先级 的问 题 。 优 先级 的问 题不

4、 仅仅 发生 在两 个中 断同 时产 生的 情况 , 也 发生 在一 个中 断已 产生 , 又 有一 个中 断产 生的 情况 , 比 如你 正接 电话 , 有 人按 门铃 的情 况, 或你 正开 门与 人交 谈, 又有 电话 响了 情况 。考 虑一 下我 们会 怎么 办吧 。 第 三 、 中 断的 响应 过程 : 当 有事 件产 生 , 进 入中 断之 前我 们必 须先 记住 现在 看书 的第 几页 了 ,或 拿一 个书 签放 在当 前页 的位 置 , 然 后去 处理 不一 样的 事情 ( 因 为处 理完 了 , 我 们还 要回 来继 续看 书 ) : 电话 铃响 我们 要到 放电 话的 地方

5、 去, 门铃 响我 们要 到门 那边 去, 也说 是不 一样的 中断 , 我 们要 在不 一样 的地 点处 理 , 而 这个 地点 常常 还是 固定 的 。 计 算机 中也 是采 用的 这种 办法 , 五 个中 断源 , 每 个中 断产 生后 都到 一个 固定 的地 方去 找处 理这 个中 断的 程序 , 当 然在 去之 前首 先要 保存 下面 将执 行的 指令 的地 址 , 以 便处 理完 中断 后回 到原 来的 地方 继续 往下执 行程 序。 具体 地说 ,中 断响 应能 分为 以下 几个 步骤 : 1、 保护 断点 ,即 保存 下一 将要 执行的 指令 的地 址 , 就 是把 这个 地址

6、 送入 堆栈 。 2、 寻 找中 断入 口 , 根 据 5个 不一 样的 中断 源所 产生 的中 断, 查找 5个 不一 样的 入口 地址 。以 上工 作是 由计 算机 自动 完成 的, 与编 程者 无关 。在 这 5个 入口 地址 处存 放有 中断 处理 程序 (这 是程 序编 写时 放在 那儿 的, 如果 没把 中断 程序放 在那 儿, 就错 了, 中断 程序 就不 能被 执行 到 ) 。 3、 执行 中断 处理 程序 。 4、 中断 返回 :执行 完中 断指 令后 , 就 从中 断处 返回 到主 程序 , 继 续执 行 。 究 竟单 片机 是怎 么样 找到 中断 程序所 在位 置, 又怎

7、 么返 回的 呢? 我们 稍后 再谈 。51单片机汇编语言教程 -慧净 电子 会员收集整理 (全部 28课)推荐使用慧净 51实验板。推荐 51学习网 W.HLMCU.OM淘宝网: htp:/shop37031453.taobao.cm /MCS-51单 片机 中断 系统 的结 构:5个 中断 源的 符号 、名 称及 产生 的条 件如 下。INT0: 外部 中断 0, 由 P3 2端 口线 引入 ,低 电平 或下 跳沿 引起 。INT1: 外部 中断 1, 由 P3 3端 口线 引入 ,低 电平 或下 跳沿 引起 。T0: 定时 器 计数 器 0中 断, 由 T0计 满回 零引 起。T1: 定

8、时 器 计数 器 l中 断, 由 T1计 满回 零引 起。TI RI: 串行 I O中 断, 串行 端口 完成 一帧 字符 发送 接 收后 引起 。整 个中 断系 统的 结构 框图 见下 图一 所示 。51单片机汇编语言教程 -慧净 电子 会员收集整理 (全部 28课)推荐使用慧净 51实验板。推荐 51学习网 W.HLMCU.OM淘宝网: htp:/shop37031453.taobao.cm /如 图所 示, 由与 中断 有关 的特 殊功 能寄 存器 、中 断入 口、 次序 查询 逻辑 电路 等组 成, 包括 5个 中断 请求 源, 4个 用于 中断 控制 的寄 存器 IE、 IP、 EC

9、ON和 SCON来 控制 中断 类弄 、中 断的开 、关 和各 种中 断源 的优 先级 确定 。中 断请 求源 : ( 1) 外部 中断 请求 源: 即外 中断 0和 1, 经由 外部 管脚 引入 的, 在单 片机 上有 两个 管脚 ,名称 为 INT0、 INT1, 也 就是 P3.2、 P3.这 两个 管脚 。 在 内部 的 TCON中 有四 位是 与外 中断 有关的 。 IT0: INT0触 发方 式控 制位 , 可 由软 件进 和置 位和 复位 , IT0=, INT0为 低电 平触 发方 式 ,IT0=1, INT0为 负跳 变触 发方 式 。 这 两种 方式 的差 异将 在以 后再

10、 谈 。 IE0: INT0中 断请 求标 志位 。 当 有外 部的 中断 请求 时 , 这 位就 会置 1( 这 由硬 件来 完成 ) , 在 CPU响 应中 断后 , 由 硬件将 IE0清 0。 IT1、 IE1的 用途 和 IT0、 IE0相 同 。 ( 2) 内部 中断 请求 源 TF0: 定时 器 T0的 溢出中 断标 记 , 当 T0计 数产 生溢 出时 , 由 硬件 置位 TF0。 当 CPU响 应中 断后 , 再 由硬 件将 TF0清0。 TF1: 与 TF0类 似。 TI、 RI: 串行 口发 送、 接收 中断 ,在 串行 口中 再讲 解。 2、 中断 允许寄 存器 IE在

11、MCS 51中 断系 统中 , 中 断的 允许 或禁 止是 由片 内可 进行 位寻 址的 8位 中断 允许寄 存器 IE来 控制 的。 见下 表 EAX其 中 EA是 总开 关 , 如 果它 等于 0, 则 所有 中断 都不 允许 。 ES 串行 口中 断允 许 ET1 定时 器1中 断允 许 EX1 外中 断 1中 断允 许 。 ET0 定时 器 0中 断允 许 EX0 外中 断 0中 断允 许 。 如 果我们 要设 置允 许外 中断 1, 定时 器 1中 断允 许, 其它 不允 许, 则 IE能 是 EAX即 8CH, 当然 ,我 们也 能用 位操 作指 令 SETBEASETBET1SE

12、TBEX1来 实现 它 。 3、 五 个中 断源 的自 然优 先级 与中 断服 务入 口地 址外 中断 0: 03H定 时器 0: 0BH外 中断 1: 013H定 时器 1: 01BH串 行口 : 023H它 们的 自然 优先 级由 高到 低排 列。 写到 这里 ,大 家应 当明 白, 为什 么前 面有 一些 程序 一始 我们 这样 写: ORG00HLJMPSTARTORG030HSTART: 。这 样写 的目 的 , 就 是为 了让 出中 断源 所占 用的 向量 地址 。 当 然 , 在 程序 中没 用中 断时 , 直 接从 00H开 始写 程序 , 在 原理 上并 没有 错 , 但 在

13、实 际工 作中 最好 不这 样做 。 优 先级 : 单 片机采 用了 自然 优先 级和 人工 设置 高 、 低 优先 级的 策略 , 即 能由 程序 员设 定那 些中 断是 高优 先级 、51单片机汇编语言教程 -慧净 电子 会员收集整理 (全部 28课)推荐使用慧净 51实验板。推荐 51学习网 W.HLMCU.OM淘宝网: htp:/shop37031453.taobao.cm /哪 些中 断是 低优 先级 , 由 于只 有两 级 , 必 有一 些中 断处 于同 一级 别 , 处 于同 一级 别的 , 就 由自 然优 先级 确定 。 开 机时 ,每 个中 断都 处于 低优 先级 ,我 们能

14、 用指 令对 优先 级进 行设 置。 看表 2中 断优 先级 中由 中断 优先 级寄 存器 IP来 高置 的, IP中 某位 设为 1, 对应 的中 断就 是高 优先 级, 不然 就是低 优先 级。 XXPSPT1PX1PT0PX0例 : 设 有如 下要 求 , 将 T0、 外 中断 1设 为高 优先 级 , 其 它为 低优 先级 , 求 IP的 值 。 IP的 首 3位 没用 ,可 任意 取值 ,设 为 0, 后面 根据 要求 写就 能了 X因 此, 最终 , IP的 值就 是 06H。 例: 在上 例中 ,如 果 5个 中断 请求 同时 发生 ,求 中断 响应 的次 序。 响应 次序 为:

15、 定时 器 0 外 中断 1 外 中断 0 实 时器 1 串 行中 断。MCS 51的 中断 响应 过程 :1、 中断 响应 的条 件: 讲到 这儿 ,我 们依 然对 于计 算机 响应 中断 感到 神奇 ,我 们人 能响 应外界 的事 件 , 是 因为 我们 有多 种 “ 传 感器 “ 眼 、 耳 能接 受不 一样 的信 息 , 计 算机 是如 何做到 这点 的呢 ?其 实说 穿了 ,一 点都 不希 奇, MCS51工 作时 ,在 每个 机器 周期 中都 会去 查询 一下 各个 中断 标记 ,看 他们 是否 是 “ 1“ , 如果 是 1, 就说 明有 中断 请求 了, 所以 所谓 中断 ,

16、其实 也是 查询 ,不 过是 每个 周期 都查 一下 而已 。这 要换 成人 来说 ,就 相当 于你 在看 书的 时候 ,每 一秒 钟都 会抬 起头 来看 一看 ,查 问一 下, 是不 是有 人按 门铃 ,是 否有 电话 。 。 。 。 很蠢 ,不是 吗? 可计 算机 本来 就是 这样 , 它 根本 没人 聪明 。 了 解了 上述 中断 的过 程 , 就 不难 解中 断响应 的条 件了 。在 下列 三种 情况 之一 时, CPU将 封锁 对中 断的 响应 :CPU正 在处 理一 个同 级或 更高 级别 的中 断请 求。现 行的 机器 周期 不是 当前 正执 行指 令的 最后 一个 周期 。 我 们知 道 , 单 片机 有单 周期 、 双 周期 、三 周期 指令 , 当 前执 行指 令是 单字 节没 有关 系 , 如 果是 双字 节或 四字 节的 , 就 要等 整条 指令都 执行 完了 ,才 能响 应中 断( 因为 中断 查询 是在 每个 机器 周期 都可 能查 到的 ) 。51单片机汇编语言教程

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号