当前位置:文档之家› 单片机原理及应用 蔡启仲 第6章 中断系统

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


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