单片机原理及应用 蔡启仲 第6章 中断系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

19
6.3.3
中断请求的撤销
1.定时器/计数器中断请求标志位的清除方式 当中断请求被响应后,硬件自动完成该中断标志位的清除。 2. 外部中断请求标志位的清除方式 (1) 负跳变触发方式 (ITx=1),中断响应后硬件自动清除中断标志位。 (2) 低电平触发方式中(ITx=0),关键是要可靠的撤销中断响应后外 部中断引脚上的低电平。可考虑软件与硬件相结合的方法实现 。
第6章 中断系统
1
第6章
目录
2
6.1 中断系统概念 6.1.1 中断技术 6.1.2 中断技术的主要功能特点 6.1.3 中断技术的优点 6.2 51单片机的中断系统及其管理 6.2.1 中断系统的结构 6.2.2 中断源 6.2.3 中断请求标志 6.2.4 中断控制 6.3 单片机的中断响应 6.3.1 中断响应的条件 6.3.2 中断响应的时间 6.3.3 中断请求的撤销 6.4 中断系统的编程 6.4.1 中断服务程序编程的基本步骤 6.4.2 外部中断源的编程 6.4.3 定时器/计数器中断方法的编程 习题
12
2. SCON寄存器
D7 SCON SM0 D6 SM1 D5 SM2 D4 REN D3 TB8 D2 RB8 D1 TI D0 RI
串行口工作状态配置
串行口 中断源
TI — 串行口发送完成中断请求标志位;“1‖ :中断请求标志
RI — 串行口接收完成中断请求标志位; “1‖ :中断请求标 志
与子程序基本相同,
21
(EX0 = 1) (ET0 = 1) 6.4.1 中断服务程序编程的基本步骤 (ES = 1) 中断响应过程 EA = 1 开始 (硬件自动) 等等(第一步)
现场保护
(硬件自动)
中断初始化
置1中断标志位 Y
关中断 保护现场 开中断 中断事件 处理程序 关中断 恢复现场 开中断
位时,恰好当前正在执行RETI指令的第1个机器周期(RETI指令为双周期指
令);RETI指令执行完后必须再执行另一条指令才能被响应。如果另一条指 令恰好为执行时间4机器周期的乘/除法指令,再考虑长调用指令LCALL
addr16,合计响应时间为2+4+2=8个机器周期。 最长响应时间严格意义上是无法确定的。若51单片机应用系统仅使用某 一个中断源的情况下,中断请求的响应时间为3~8个机器周期之间。
5
中断嵌套
多个中断同时发生后,导致中断过程中再次被中断。中断嵌套与中断 源的中断优先级密切相关。
用 低优先级 户 中断请求 程 序 断点1 继 续 执 行 低优先级 高优先级 高优先级 中断服务 中断请求 中断服务
断点2
中断 返回1
中断 返回2
6
图6-2 两级中断嵌套示意图
6.1.3 中断技术的优点
无定义
5个中断源中断允许位分控制
EA EX1/EX0 ET1/ET0
总中断允许控制位 外部中断1(0)中断允许控制位 定时器/计数器1(0)中断允许控制
ES
14
串行口中断允许控制位
“1”:中断开放(中断使能、 中断允许) “0”:中断屏蔽(中断失能、 中断禁止)
2. IP中断优先级寄存器
D7 IP — D6 — 无定义 D5 — D4 PS D3 PT1 D2 PX1 D1 PT0 D0 PX0
基本条件:
(1) 有中断源发出有效的中断请求,相应的中断请求标志位为“1‖状态。
(2) 中断允许寄存器IE中总中断允许控制位EA=1,开放所有的中断请求。
(3) 中断请求的中断源允许控制位为“1‖,即该中断源的中断请求被开放。
必要条件:
(1) 单片机目前正在执行同级或更高优先级中断服务程序。
(2) 当前查询的机器周期不是一条指令执行的最后一个周期,即正在执行 的指令还未完成,中断请求不会得到响应,确保当前指令的执行过程 完整。 (3) 当前正在执行RETI指令或读/写特殊功能寄存器IE、IP的指令,中断不 能在指令执行结束后立即被响应,需要再执行一条其它指令,中断才 会被单片机响应。
4
6.1.2 中断技术的功能特点
(1) 设置中断源
中断请求源——引起中断发生的特殊事件。中断源的数量决定了
微处理器处理突发事件的能力。 (1) 甄别中断请求
对已发生中断事件中断源的识别 。
(3) 中断优先级 多个不同的中断事件同时发生时互相的执行顺序 。
(4) 自动响应中断请求
中断请求后,响应该中断源。 (5) 中断处理 对请求中断事件的处理过程——中断服务 。 (6) 中断返回 执行完中断服务后,返回到被中断前的(断点)任务 。
IT1 = 1 TF1
EX1
PX1=0 PT1=1 低优 先级 中断 请求 矢量 地址 装载PC
T1
ET1 TI
PT1=0
TXD
SCON
RXD RI
≥1 ES EA
PS=1 PS=0
自 然 优 先 级
中断源允许 总允许
9
图6–3 中断系统结构模型示意图
6.2.2 中断源
51单片机中断系统的5个中断源:
(1) 外部中断0( INT 0 ):P3.2引脚输入的中断请求信号。 (2) 定时器T0中断(T0):定时器/计数器T0的定时/计数溢出产生 的中断请求信号。 (3) 外部中断1( INT 1 ):P3.3引脚输入的中断请求信号。
(4) 定时器T1中断(T1):定时器/计数器T1的定时/计数溢出产生 的中断请求信号。
优先级设定
PS PT1 PX1
串行口中断优先级控制位 定时器/计数器1中断优先级控制位 外部中断1中断优先级控制位
“1”:高优先级 “0”:低优先级
PT0
PX0
定时器/计数器0中断优先级控制位
外部中断0中断优先级控制位
(1) 每个中断源只能被配置为高优先级或低优先级 (2) 低优先级事件能够被高优先级事件中断,高优先级事件不能被低优先级 事件中断。 (3) 同级优先级事件间不能互相中断。 (4) 高、低优先级区别于自然优先级,抢占优先级区别于响应优先级。
15
6.3 51单片机的中断响应
中断事件发生置位标志位后,单片机根据中断响 应条件进行判断,满足条件后完成对中断源中断请求
的应答、中止现程序的执行、保存断点、进入中断服
务程序的整个过程。 中断响应解决中断源的识别和中断处理前的准备 工作,是由单片机中断系统的硬件装置自动完成的。
16
6.3.1
中断响应的条件
中断优先级寄存器:IP
8
6.2.1 中断系统的结构
1
中断源
IT0 = 0 INT0 IT0 = 1
TCON
IE0 EX0 TF0
IE
IP
PX0=1 PX0=0 PT0=1 自 然 优 先 级 高优 先级 中断 请求
T0 1 IT1 = 0 INT1
ET0 IE1
PT0=0 PX1=1
矢量 地址 装载PC
1. 分时控制
有效的提高微处理器的执行工作效率。 2. 实时控制 有利于及时响应事件,保证事件的实效性。
7
6.2 51单片机的中断系统及其管理
51单片机的中断系统主要包括5个中断源及其相关控制部分。 三类中断源:外部中断源、定时器/计数器中断源、串行口中断源。
具体划分为五个中断源: 外部中断0、定时器/计数器0、外部中断1、定时器/计数器1、 串行口中断 涉及的特殊功能寄存器: 定时器/计数器的控制寄存器:TCON 串行口控制寄存器:SCON 中断允许寄存器:IE
17
中断响应的过程
中断响应条件满足后,中断响应过程主要完成两件事:断点的保 存和转入中断服务程序。 断点的保存:将中断处的16位地址(当前程序计数器PC的内容) 压入堆栈保存,以便中断返回时按此16位地址返回中断前程序的指令
地址继续执行。
转入中断服务程序前:单片机硬件自动生成一条长调用指令
LCALL addr16,addr16写入PC,使程序转向中断服务程序的入口。
INT0 51 单片机 P1.0 Q D CP SD 1 外部中断 请求信号
3.串行口中断请求标志位的清除方式 串行口中断标志位TI和RI需要软件方法清除。
20
6.4 中断系统的编程
中断技术有效的提高了系统的实时性。
编程方法:中断的编程方法、查询的编程方法
中断服务程序实质上就是一个子程序,编程方法
6.1 中断系统概念
中断系统是微处理器的一个基本功能,任何一种微处理器都设 置有中断系统。中断技术的存在: 1. 保证了对随机发生事件的及时响应 2. 有利于实时检测与控制 中断技术是十分重要而复杂的技术,由微处理器的软、硬件共 同完成,称之为中断系统。 中断技术概念来自于人的日常生活,是现实情况的高度抽象。
中断受阻? 断点 无 主 限 程 循 序 环 N 某时刻随 机产生中 断请求 断点压栈保护
中断服务 程序 中 (第二步) 断 服 务 程 序 中断返回
(硬件自动)
跳转中断入口地址
中断返回 断点出栈恢复
22
中断响应 (硬件自动完成)
6.4.2
外部中断源的编程
例6–1 外部报警信号由“1‖→―0‖时,控制警示发光二极管亮, 单片机复位后警示发光二极管灭。 分析: 由图中电路可知,P1.0输出高电平,警 示发光二极管D1灭;P1.0输出低电平,警示 发光二极管D1亮,发出报警信号。 编写外部中断0中断服务程序时,应用 CLR P1.0指令使P1.0输出低电平。外部中断 0中断服务程序只有在外部报警信号事件发 生的条件下才会执行。
INT0 (P3.2) P1.0 51 单片机 D1 R2
报警 信号
VCC
23
中断初始化
其中addr16就是表6–1所列各中断源的16位入口地址,即中断入口地 址。
18
6.3.2
中断响应的时间
中断响应过程并非瞬间完成,需要一定的时间。 (1) 最短响应时间1+2:3个机器周期。第1个机器周期查询中断请求标志 位 (此机器周期非RETI或访问IE、IP指令的最后一个机器周期);第2、3个机 器周期是长调用指令LCALL addr16,完成16位断点地址压入堆栈和程序跳 转至中断入口地址处。 (2) 最长响应时间2+4+2:8个机器周期甚至更长。在单片机查询中断标志
(5) 串行口中断(ES):串行数据发送完成(TI)或串行数据接收完 成(RI)产生的中断请求信号。
10
中断入口地址
单片机查询到某个中断源的中断请求时,允许中断的情况下,程 序的执行将跳转至某个固定的地址继续执行:中断入口地址。
(1) 入口地址指定在程序存储器的0003H~0023H之间的5个存储单元 地址。 (2) 中断入口地址按8字节间隔的顺序递增往下排列。 (3) 表6-1中断源自上而下自然优先级由高到低。
串口中断使用注意事项: (1) TI和RI共用一个中断口
(2) TI和RI在中断响应后必须软件清除。
13
6.2.4 中断控制
中断系统的中断控制包括中断允许与屏蔽、中断优先级设定两
个方面的问题,涉及特殊功能寄存器的中断允许寄存器IE和中断优
先Fra Baidu bibliotek寄存器IP。
1. IE寄存器
D7 IE EA 总中断 控制位 D6 —— D5 —— D4 ES D3 ET1 D2 EX1 D1 ET0 D0 EX0
11
6.2.3 中断请求标志
51单片机的中断请求标志位都集中在TCON和SCON两个寄存 器中。
1. TCON寄存器
D7 TCON TF1 D6 TR1 D5 TF0 D4 TR0 D3 IE1 D2 IT1 D1 IE0 D0 IT0
定时器/计数器中断源
外部中断源
TF1 — T1的中断请求标志位 TR1 — T1的启动控制位 TF0 — T0的中断请求标志位 TR0 — T0的启动控制位
6.1.1 中断技术
日常活动与中断技术 的对比。左图:现实生 活事件的一个例子。右 图:中断技术的实现。
3
正 在 学 习 收到事 件信息 继 续 学 习
看 查



理 返

处 理 物 品 事 件
主 程 序




断点 继 续 执 行
中 断 返 回
中 断 服 务 子 程 序
中断技术的现实体现
(1) 计划 已事先安排,但事件随机发生。 (2) 记忆 随机事件发生后,可以暂停当前事务并记忆。 (3) 执行 具有执行随机事件的处理的功能。 (4) 返回 处理完成后可以返回之前的事务继续工作。
IE1 — 外部中断1的中断请求标志位 IT1 — 外部中断1的触发方式选择位 (IT1=0 电平触发方式;IT1=1边沿触发方式) IE0 — 外部中断0的中断请求标志位 中断请求标志位为“1‖,表示 IT0 — 外部中断0的触发方式选择位. 该中断源产生了中断申请信号。(IT0=0 电平触发方式;IT0=1边沿触发方式)
相关文档
最新文档