7章中断系统

合集下载

51单片机学习教程第7章 中断PPT课件

51单片机学习教程第7章 中断PPT课件

2020/8/20
单片机C语言程序设计
19
中断的优先原则
8051单片机中断优先级遵循以下原则:
中断 Interrupt
1
标题添加
点击此处输入相 关文本内容
标题添加
点击此处输入相 关文本内容
总体概述
点击此处输入 相关文本内容
Байду номын сангаас
点击此处输入 相关文本内容
2
中断的事例
日常生活中有很多计划任务要完成 或突发事件要处理,常用的是查询法, 但更好的处理办法是中断。
如烧开水时,水烧开后应及时切断 加热源。
RI/TI=1
10
单片机中断系统的结构
中断服务程序入口地址和中断号:
中断源
中断标志
中断服务程序入 口地址
优先级顺序
外部中断(INT0) IE0
0003H

定时/计数器0(T0) TF0
000BH

外部中断(INT1) IE1
0013H

定时/计数器1(T1) TF1
001BH

串行口
RI和TI
0023H
1. 查询法:不断地检查水是否烧开 2. 中断法:在烧水的壶上装哨子,利用水
烧开后的蒸汽吹响哨子
2020/8/20
单片机C语言程序设计
3
中断的概念
计算机处理的任务按实时性要求分 为两类:
1. 非实时性任务:显示刷新、声音鸣响 2. 实时性任务:系统错误处理、实时监控
对于实时性要求高的任务,出现后 要求立即处理,采用轮询的方式容易实 现,但实时性不高,浪费CPU时间,采 用中断的方式较为适宜。
9
单片机中断系统的结构

微机原理第7章 8086中断系统和中断控制器

微机原理第7章 8086中断系统和中断控制器

3)高级中断源能中断低级的中断处理
中断嵌套 当CPU正在响应某一中断源的请求,执行为其服务的中断服务程序时, 如果有优先级更高的中断源发出请求,CPU将中止正在执行的中断服务程 序而转入为新的中断源服务,等新的中断服务程序执行完后,再返回到被 1 中止的中断服务程序,这一过程称为中断嵌套。 • 中断嵌套可以有多级,具体级数原则上不限,只取决于堆栈深度。
外部中断 非屏蔽中断 可屏蔽中断
可屏蔽中断源
CPU 中断逻辑
INTR
8259A 中断 INTA 控制器
INT N 指令
INTO 指令
除法 错误
单步 中断
IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7
外 设 中 断 源
内部中断: 除法错中断 指令中断 溢出中断 单步中断
硬件(外部)中断 非屏蔽中断请求 INT 2 NMI(17号引脚) 中 断 逻 辑 可屏蔽中断请求 中断类型号32~255 INTR(18号引脚)
中断指令 INT n N=32~255
溢出中断 INTO INT 4
断点 中断 INT 3
单步中断 (TF=1) INT 1
除法 错误 INT 0
软件(内部)中断
8086/8088中断源
1.软件中断(内部中断) 8086/8088的软件中断主要有三类共五种。 (1) 处理运算过程中某些错误的中断 执行程序时,为及时处理运算中的某些错误 ,CPU以中断方式中止正在运行的程序,提醒程 序员改错。 ① 除法错中断(中断类型号为0)。在8086 /8088 CPU执行除法指令(DIV/IDIV)时,若发现 除数为0,或所得的商超过了CPU中有关寄存器所 能表示的最大值,则立即产生一个类型号为0的 内部中断,CPU转去执行除法错中断处理程序。

微型计算机原理及应用教程第7章 中断与DMA技术

微型计算机原理及应用教程第7章  中断与DMA技术
第7章中 断与DMA技术
7.1 中断原理
7.2 8086/8088 CPU 中断系统 7.3 可编程中断控制器8259A 7.4 8259A的应用举例 7.5 DMA控制器
引 言
中断在计算机中是非常重要的。中断提高了计算机的并
行度和处理器的效率,改善了计算机的性能。它解决了CPU
与各种外围设备之间的速度匹配问题。 中断在故障检测、实时处理与控制、分时系统、多级系 统与通信、并行处理、人机交互等诸多领域都得到了广泛应 用和不断发展。 本章就中断的管理、 8086/8088 CPU 中断系统、可编程 中断控制器8259进行介绍。
挥了CPU高速性的特点。 实现实时处理:例如键盘、打印机、显示器的使用等 实现故障处理:电源故障、除法溢出、非法操作、存储 器出错等
中断系统应具有以下功能:
中断响应:当中断源发出中断请求后,CPU能够决定是否 暂时中止当前程序的执行,去响应 该中断请求。 断点保护: CPU在响应中断请求后,保护被暂时中止的当 前程序的运行环境和结果(例如:下一条指令地址的CS和
7.1.3中断优先权与中断嵌套
1.中断优先权
在实际系统中,常常遇到多个中断源同时请求中断的情况, 这时 CPU 必须确定首先为哪一个中断源服务,以及服务的 次序。解决的方法是用中断优先排队的处理方法。即根据中 断源要求的轻重缓急,先排好中断处理的优先次序,即优先
级(又称优先权)。CPU先响应优先级最高的中断请求。对
7.1
中断原理
当 CPU 与外设交换信息时,若用查询的方式,则 CPU 就
要浪费很多时间去等待外设,这样就存在一个快速的 CPU 与 慢速的外设之间的矛盾,这也是计算机在发展过程中遇到的 严重问题之一。为解决这个问题,一方面要提高外设的工作 速度;另一方面就必须要使用中断处理。

第7章 中断系统

第7章 中断系统

可 屏 蔽 中 断 请 求
软件中断
硬件中断
小结: 中断分类及中ຫໍສະໝຸດ 类型码8086/8088系统最多可处理256级不同类型的中断。
可屏蔽中断(INTR) 外部中断(硬件中断) 非屏蔽中断(NMI,中断类型码2) 中断分类 单步中断(中断类型码1) 内部中断(软件中断) 断点中断(中断类型码3) 溢出中断(中断类型码4) Int n 中断
器退出暂停状态,响应中断,进入中断处理程序。
若现行指令为WAIT指令,且 TEST 引脚加入低电平信号, 则中断请求信号INTR产生后,便使处理器脱离等待状态,响 应中断,进入中断处理程序。
HLT: 暂停指令
(4) 8259A连续两次接收(2个总线周期) INTA = 0的中断 响应信号后,便通过总线将中断矢量号送CPU。 (5) 保护断点。将标志寄存器内容、当前CS内容及当前IP 内容压入堆栈: (SP)←(SP)-2
((SP)+1:(SP))←(PSW)
(SP)←(SP)-2 ((SP+l:(SP))←(CS) (SP)←(SP)-2 ((SP)+1:(SP))←(IP)
(6) 清除IF及TF(IF←0,TF←0),以便禁止其它可屏蔽中 断或单步中断发生。 (7) 求中断程序的入口地址 :根据8259A向CPU送的中断 矢量号n求得矢量地址,再查中断矢量表,得相应中断处理程 序首地址(段内偏移地址和段地址),并将 位首地址置入CS及
7.1 概述
中断和异常是处理器处理突发事件时所采取的两种不同 的处理方法,具体来说,中断指的是处理器暂停当前的程序, 转而去处理中断事件;而异常虽然也会对异常事件作出反应, 但不一定会暂停当前的程序。 在8086/8088处理器时代,中断主要包括外部中断 和 内 部中断两种。 在386/486等32位处理器时代,内部中断的数量和功能被 扩充,习惯上,称内部中断为异常,而中断则主要指外部中 断。

单片机讲义第七章

单片机讲义第七章

一、中断的起因
什么可以引起中断? 生活中很多事件可以引起中断:有人 按了门铃了,电话铃响了,你的闹钟闹响 了,你烧的水开了….等等诸如此类的事件, 我们把可以引起中断的称之为中断源,单 片机中也有一些可以引起中断的事件, 8051中一共有5个:两个外部中断,两个 计数/定时器中断,一个串行口中断。
三、中断的响应过程
当有事件产生,进入中断之前我们必须先记住现 在看书的第几页了,或拿一个书签放在当前页的位置, 然后去处理不同的事情(因为处理完了,我们还要回 来继续看书):电话铃响我们要到放电话的地方去, 门铃响我们要到门那边去,也说是不同的中断,我们 要在不同的地点处理,而这个地点通常还是固定的。 89C51中也是采用的这种方法,五个中断源,每个 中断产生后都到一个固定的地方去找处理这个中断的 程序,当然在去之前首先要保存下面将执行的指令的 地址,以便处理完中断后回到原来的地方继续往下执 行程序。
二、中断的嵌套与优先级处理
设想一下,我们正在看书,电话铃响了,同时又 有人按了门铃,你该先做那样呢?如果你正是在等一 个很重要的电话,你一般不会去理会门铃的,而反之, 你正在等一个重要的客人,则可能就不会去理会电话 了。如果不是这两者(即不等电话,也不是等人上 门),你可能会按你通常的习惯去处理。总之这里存 在一个优先级的问题, 单片机中也是如此,也有优先级的问题。优先级 的问题不仅仅发生在两个中断同时产生的情况,也发 生在一个中断已产生,又有一个中断产生的情况,比 如你正接电话,有人按门铃的情况,或你正开门与人 交谈,又有电话响了情况。考虑一下我们会怎么办吧。
电平触发的外部中断的清除
对于电平触发的外部中断,CPU响应中断后, 虽然也是由硬件清除了相应的标志位,但是不 能对外部引脚上的电平进行处理,也就是说, 这时如果外部引脚上的低电平依然存在,会造 成重复中断,因此我们应该在电路上增加对外 部引起中断的信号进行处理。P148图7-5是一 个可行的方案之一。通过I/O口输出一个信号, 使得外部引脚上的中断请求信号变为高电平。

嵌入式系统基础第7章中断和异常

嵌入式系统基础第7章中断和异常

为减少延时,ARM在快中断中采取了 两个措施: (1)专门为快中断FIQ设置了一个FIQ模式, 并为这个模式配置了较多的私有寄存器, 从而可使中断服务程序有足够的寄存
器来使用,而不必与被中断服务程序使用 同一组寄存器,这样就免去了因寄存器冲 突而必需的保护及恢复现场工作。
(2)ARM把FIQ的中断向量放在了中断 (异常)向量表末尾0X0000001C处,因此 它后面没有其它中断向量,允许用户将中 断服务车工许程序直接放在这里。
除了外部设备可以发出可以发出中断 请求之后,处理器内部也会有一些事件可 以发出中断请求,例如读取指令出错或在 进行除法运算时除数为零等。为了与外部 事件引起的中断相区别,人们把这种由内 部事件引起的中断叫做异常。
7.1.2
中断请求信号的屏蔽
处理器中用来屏蔽中断的积存器和开 关如下:
1、可屏ห้องสมุดไป่ตู้中断
1、低端和高端向量表
ARM有低端和高端两种向量表,用户可 以根据需要选用其中一种,如下所示:
ARM中断(异常)的各个向量在向量表 中的分配如下:
中断(异常) 复位(RESET) 未定义指令(UNDEF) 向量在低端向量表的地址 0x00000000 0x00000004 向量在高端向量表的地址 0xFFFF0000 0xFFFF0004
一般情况下,这个优先排队机构可能 在处理器中有一套,在中断控制器中也有 一套,甚至在借口电路中也会有一套。
(2)软件实现方法
就是把所有中断源的中断请求信号分 成两路,其中一路经“或”逻辑送到处理 器的中断请求输入端,而另一路则送入中 断接口电路经数据总线送入处理器。
中断源的软件查询法电路的接线如下 图所示:
异常/中断 复位(RESET) 未定义指令(UNDEF) 软中断(SWI) 地址 LR LR 说明 指向未定义指令的下一条指令 指向SWI指令的下一条指令

STC15F2K60S2单片机中断系统 例题

STC15F2K60S2单片机中断系统 例题

ORG 0100H MAIN:
MOV SP,#60H SETB IT0 SETB EX0 SETB EA LOOP: MOV A, P1 ANL A,#15H JNZ Trouble CLR P1.7 SJMP LOOP Trouble: SETB P1.7
;设定堆栈区域 ;设定外部中断 0 为下降沿触发方式 ;开放外部中断 0 ;开放总中断
void int0_isr( ) interrupt 0
{
Pl = i;
i <<= 1 ; if(i==0) i = 0xfe;
//移位 8 次后,i 将变为 0,需要重新赋值
} /*------------------------ 主函数------------------------*/
139
void main(void) {
汇编语言参考程序如下:
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP INT0_ISR
ORG 0l00H
MAIN:
MOV A,#0FEH ;设置 LED 灯起始驱动信号
SETB IT0
;设置外部中断 0 为下降沿触发方式
SETB EX0
;开放外部中断 0
SETB EA
;开放总中断
SJMP $
;读取 P1 口中断输入信号 ;截取中断输入信号 ;有中断请求,转 Trouble,熄灭正常工作指示灯 LED3 ;无中断请求,点亮 LED3 ;循环检查与判断
;熄灭 LED3
141
SJMP LOOP
;循环检查与判断
INT0_ISR:
JNB P1.0,No_Trouble_0 ;查询 0 号故障源,无故障转 No_Trouble_0,熄灭 LED0

第7章 中断处理

第7章 中断处理
•打印机的打印事务; 打印机的打印事务; 打印机的打印事务 •数据采集中的 数据采集中的A/D转换等。 转换等。 数据采集中的 转换等
多道程序或多重任务的运行:分时中断处理。 多道程序或多重任务的运行:分时中断处理。
4. 中断源 任何能够引发CPU中断的事件都称为中 中断的事件都称为中 任何能够引发 中断的事件 断源。 断源。
二、多中断源情况下的特殊问题
1. 中断源的识别
对于软件中断而言,CPU对中断源的识别靠 对于软件中断而言, 对中断源的识别靠 软件中断指令( 来识别, 软件中断指令(INT n)中的中断号 来识别,并 )中的中断号n来识别 转到响应中断服务程序去执行。 转到响应中断服务程序去执行。 对于硬件中断,CPU只有一个 只有一个NMI和INTR引 对于硬件中断,CPU只有一个NMI和INTR引 当有多个外设要申请中断时, 脚,当有多个外设要申请中断时,就必须通过中 断接口电路来连接, 断接口电路来连接,同时给每个中断外设编排一 个中断号( 系统称为中断类型码)。 个中断号(8086系统称为中断类型码)。当任一 系统称为中断类型码)。当任一 外设有中断申请时, 外设有中断申请时,通过中断接口电路将外设中 断信号转发给CPU,然后再由 断信号转发给 ,然后再由CPU从中断接口电 从中断接口电 路读取该中断源的编号。 路读取该中断源的编号。
中 断 控 制 器
IRQ0 IRQ1
外设0 外设1
IRQn
外设n
软硬件结合的简易中断控制器
≥1
2. 中断优先级 对于多中断源而言, 对于多中断源而言,存在各中断源的优先级别 问题。当两个及以上的中断源同时申请中断时, 问题。当两个及以上的中断源同时申请中断时,最 先响应哪个中断源的中断请求, 先响应哪个中断源的中断请求,则由它们的优先级 别决定。 别决定。 可屏蔽中断源的优先级别由中断控制器决定。 可屏蔽中断源的优先级别由中断控制器决定。 8086系统中各类中断的优先级别如下: 系统中各类中断的优先级别如下: 系统中各类中断的优先级别如下

第7章 中断处理技术与DMA技术

第7章  中断处理技术与DMA技术
课件制作人:刘永华
7.1 中断的基本概念
(4)在中断响应周期的第二个总线周期中, 读取中断类型号,找到中断服务程序的入口地 址,自动将程序转移到该中断源设备的中断处 理程序的首地址,即将中断处理程序所在段的 段地址及第一条指令的有效地址分别装入CS及 IP,一旦装入完毕,中断服务程序就开始执行。 上述过程,即从CPU响应中断请求,到中断 现行程序并将程序转移到中断处理地址的过程 称为中断响应过程。不同的机器,在中断响应 期间所完成的功能基本类似,但实现方法不尽 课件制作人:刘永华 相同。
* 7.4
* 7.5
第7章 中断处理技术与DMA技术
* 7.6 DMA控制器8237A 7.6.1 主要特性 7.6.2 8237A引脚及结构 7.6.3 8237A的软件命令 7.6.4 8237A的工作时序 * 7.7 8237A初始化编程 * 7.8 8237A应用实例 7.8.1 初始化 7.8.2 应用实例
刘永华7280868088的中断系统类型号中断名称类型号中断名称0003h0h除法出错6063h18h常驻basic入口0407h1h单步6467h19h引导程序入口080bh2h不可屏蔽686bh1ah时间调用0c0fh3h断点6c6fh1bh键盘ctrlbreak控制1013h4h溢出7073h1ch定时器报时1417h5h打印屏幕7477h1dh显示器参数表181bh6h保留787bh1eh软盘参数表1c1fh7h保留7c7fh1fh字符点阵结构参数2023h8h定时器8083h20h程序结束返回dos2427h9h键盘8487h21h系统功能调用282bh0ah保留888bh22h结束地址2c2fh0bh通信口28c8fh23hctrlbreak退出地址表71ibmpcxt机的中断向量表课件制作人

微机原理 第七章中断控制器

微机原理 第七章中断控制器

CAS2
3
2 . 8259A的编程结构和工作原理
4
编程结构 (1)上半部分:处理部件 中断请求寄存器IRR 中断优先级裁决器PR 当前中断服务寄存器ISR (2)下半部分:7个寄存器 ICW1~ICW4 OCW1~OCW3
5
中断请求寄存器IRR
保存8条外界中断请求信号IR0-IR7的请求状态 Di位为1表示IRi引脚有中断请求;为0表示无请求
1. 中断优先权管理方式: 可见,8259A (1) 全嵌套方式 (2)特殊全嵌套方式 有多中工作方式, (3)自动循环方式 (4)特殊循环方式 使用起来很灵活, 2. 屏蔽中断源的方式 不易掌握,所以介 (1)普通屏蔽方式 (2)特殊屏蔽方式 绍编程之前,先对 3. 中断结束方式 其工作方式分类进 (1) 自动结束(AEOI)方式 行简要的介绍。 (2) 非自动结束(EOI)方式: ① 普通EOI方式;② 特殊EOI方式 4. 系统总线的连接方式(8259A级连方式) (1) 缓冲方式 (2)非缓冲方式 5. 中断请求的引入方式 (1) 边沿触发 (2)电平触发 (3)中断查询
• 优先级特殊循环方式:初始优先级队列是由编程确定的。 也可由操作命令字OCW2来设定。
10
2、屏蔽中断源的方式
• 普通屏蔽方式:8259A的每个中断请求输入端都可以通过 对应屏蔽位的设置被屏蔽,通过设置操作命令字OCW1使 屏蔽器中任一位或几位置1(对中断的屏蔽总是暂时的, eg:计算机网络通信)
5.
6.
16
五、中断响应过程(CPU与8259A的操作过程)
1、申请中断 外设 对应IR0 ~ IR7为“1”, 为“1” CPU的INTR输入“1”,申请中断。 2、响应中断的条件 CLI 使 IF = 0,禁止中断。 STI 使 IF = 1,允许中断。 判优后使INT

微机原理与接口技术(第三版) 第7章

微机原理与接口技术(第三版) 第7章

4) 中断请求的检测 CPU在每条指令执行的最后一个时钟周期,检测其中断 请求引脚(INTR)有无中断请求信号。如果有中断请求信号, 就把内部的中断锁存器置“1”,在下一个总线周期到来时, 进入中断响应状态。
2. CPU对中断的响应 当CPU响应外设的中断后,还要具体完成一些工作。 1) 关中断 当响应中断后,首先要进行关中断操作。对8086微处理 器,CPU在发出中断响应信号的同时,在内部自动完成关中 断操作。 2) 断点保护 当CPU响应中断源的中断请求后,将停止下一条指令的 执行,把当前相关寄存器的内容压入堆栈,为中断返回做好 准备。
3) 中断的开放 在CPU内部有一个中断允许触发器,用来决定是否响应 CPU中断请求引脚(INTR)送来的中断请求。当中断开放(触 发器为“1”)时,CPU才能响应中断;当关闭中断(触发器 为“0”)时,CPU不响应中断请求。这个中断允许触发器的 状态可以用STI和CLI指令来改变。在CPU复位或是当中断 响应后,CPU就处于中断关闭状态,这样就必须在中断服务 程序中用STI指令来让中断开放。
1. 分时操作 中断技术实现了CPU和外部的并行工作,从而消除了 CPU的等待时间,提高了CPU的利用率。另外,CPU可同时 管理多个外部设备的工作,提高了输入/输出数据的吞吐量。 2. 实时处理 在实时控制系统中,现场定时或随机地产生各种参数、 信息,要求CPU立即响应。利用中断机制,计算机就能实时 地进行处理,特别是对紧急事件能进行实时处理。 3.故障处理 计算机运行过程中,如果出现某些故障,如电源掉电、 运算溢出等,.2 中断的响应过程 1.中断源 所谓中断源,就是引起中断的原因或者发出中断请求的
设备。中断源一般分为两类:内部中断源和外部中断源。内 部中断源即中断源在微处理器内部。

《单片机原理与技术》课件第7章-中断

《单片机原理与技术》课件第7章-中断

1.定时器/计数器控制寄存器TCON
位7
位6
位5
位4
位3
位2
位1
位0
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
IT0:外部中断INT0触发方式选择 位。可由用户用软件选择。 • IT0=1:设定外部中断引脚信号为下降 沿触发方式。 •
IT1:外部中断INT1触发方式选择 位,其功能类似于IT0。 • IE0:外部中断INT0触发有效标志 位。 • IE1:外部中断INT1触发有效标志 位,其功能类似于IE0。 •

定时器0与定时器1标志为TF0与TF1, 在定时器溢出周期的S5P2设置。然后其值 在下一周期由电路查询。然而,定时器2标 志TF2是在S2P2设置且在定时器溢出的同 一周期内被查询。 Nhomakorabea•
若请求有效且响应的条件正确,至请 求的服务例程的硬件子例程调用将是下一 条要执行的指令。CALL自己需要两个周期。 因此,在外部中断请求的激活与服务例程 的第一条指令的执行开始之间,至少需要3 个完整的机器周期。图7-9所示为中断响应 时序。
图7-4 中断响应、服务及返回流程图
7.3 80C51中的中断结构
7.3.1 中断启用
图7-5 MCS-51中断源
图7-6 80C51中的IE(中断启用)寄存器
7.3.2
中断优先权
图7-7 80C51中的IP(中断优先级)寄存器
7.3.3

中断如何处理
在操作中,所有中断标志在每个机器 周期的S5P2期间被采样。在下一个机器周 期期间查询采样。若找到一启用的中断的 标志已设置,中断系统生成一LCALL至在 程序存储器中的适当单元,至中断服务例 程的LCALL的生成,由以下3个条件中的任 一个阻断:

ARM Cortex-A9多核嵌入式系统开发教程 第七章

ARM Cortex-A9多核嵌入式系统开发教程 第七章

Highest priority interrupt
CPU Interface 1
enable_c1[ ] match_c1[ ]
nfiq_c1 nfriq_c1
AMBA slave interface
AMBA interface
enable_dn[ ] match_dn[ ] ppi_cn[15:0] legacy_nfiq_cn legacy_nirq_cn
第7章 Exynos 4412中断系统
2、中断类型 (1) 软件生成的中断(SGIs):是通过向软件生成中断寄存器 写入SGI中断号生成的。SGI一般被用作核间中断,用于核 间通信。 (2) 私有外设中断(PPI),由一个单独的处理器私有的外 设生成。 (2) 私有外设中断,由一个单独的处理器私有的外设生成。
第7章 Exynos 4412中断系统
7.1.1 中断相关术语 1、中断状态 每个中断可以被认为处于以下4个状态之一:
(1) 未激活(Inactive),中断尚未激活或未挂起; (2) 挂起(Pending),中断已经由硬件或者软件产生,正等 待目标CPU响应; (3) 激活(Active),CPU已经应答(Acknowledge)来自GIC的 中断,该中断正在被CPU处理但尚未完成; (4) 激活并挂起(Active&Pending),CPU正在处理该中断, 此时GIC又收到来自该中断源的更高优先级的中断。
Exynos 4412中断系统
Exynos 4412的中断系统概述 Exynos 4412中断机制分析 中断控制相关寄存器 中断处理程序实例
第7章 Exynos 4412中断系统
7.1 中断系统概述
Exynos 4412 采用了通用中断控制器(Generic Interrupt Controller,GIC PL390)对其中断系统进行控制和管理。 Exynos 4412共支持160个中断,其中包括16个软件生成的 中断、16个CPU核的私有外设中断、128个CPU核共享的外 设中断。其中,软件生成的中断通过写一个专用寄存器 (ICDSGIR)生成,通常被用于内部处理器之间的通信。

第7章中断和中断程序设计

第7章中断和中断程序设计
? 如果进入的中断申请比 ISR 中记录的中断优先级低级 或同级,则不向 CPU 发中断请求信号。
5)数据总线缓冲器
8位的双向三态缓冲器,用作8259A与系统总线的接口,传 送命令控制字、状态字和中断向量。
D0~D7:为双向数据线,数据缓冲器暂时保存在内部总线和 系统数据总线间进行传送的数据。
7.2 程序中断设备接口的组成和工作原理
第7章
中断和中断控制
7.1 中断系统 7.1.1 中断的基本概念 7.1.2 中断的类型 7.1.3 中断请求的提出和传送 7.1.4 中断优先级 7.1.5 中断响应 7.1.6 中断处理
7.2 8086的中断系统 7.2.1 外部中断 7.2.2 内部中断 7.2.3 中断向量表
7.2.4 中断过程 7.3 8259A中断控制器
(1)关中断
进入不可再次响应中断的状态,由硬件自动实现。因为 接下去要保存断点,保存现场。 在保存现场过程中,即使有 更高级的中断源申请中断, CPU也不应该响应 ;否则,如果 现场保存不完整,在中断服务程序结束之后,也就不能正确 地恢复现场并 继续执行现行程序。
(2)保存断点和现场。
为了在中断处理结束后能正确地返回到中断点,在响应 中断时,必须把当前的程序计数器 PC中的内容(即断点)保 存起来。
7.1.5 中断处理
7.1 程序中断输人输出方式
2.多重中断处理
多重中断是指在处理某一个中断过程又发生了新的中 断请求,从而中断该服务程序的执行,又转去进行新的中 断处理。这种重叠处理中断的现象又称为中断嵌套。
一般情况下,在处理某级中的某个中断时,与它同级的 或比它低级的新中断请求应不能中断它的处理。而比它优 先级高的新中断请求却能中断它的处理。

中职教育-《89C51单片机实用教程》课件:第7章 89C51单片机中断系统和定时器(4).ppt

中职教育-《89C51单片机实用教程》课件:第7章  89C51单片机中断系统和定时器(4).ppt

SJMP LOOP
END
例7.9 工作模式1的应用 利用定时器 T1 工作模式1, 在引脚 P1.1 上输出
7.4 89C51单片机中定时器/计数器的应用
在定时器/计数器应用时,进行如下工作: 1. 设定TMOD来选择定时器T0,T1的工作方式:
按照实际需要,选择定时方式还是计数方式; 按照定时长短,选择工作模式0、1、2或 3 ; 按照具体要求,选择是否受INT0 (INT1) 控制。 2.根据定时时间长短和工作模式计算计数初值: 根据工作模式,计算出定时时间的计数初值 ;
将计数初值送入定时器中(TH1,TL1,TH0、TL0) 3. 对TCON的设定来启动定时器/计数器工作。 4. 正确选择用程序查询方法或程序中断方式来进
行定时时间到(计数溢出)后的处理操作。
7.4.1 定时器工作方式的设置和计数初值计算
对定时器的工作模式寄存器TMOD进行设定:
l. 定时方式和计数方式选择。
解: ⑴ 如图在引脚 P1.0 上输出周期为 2ms 连续方波,
需要定时器 T0 产生 1ms 的定时。 每隔1ms时间 P1.0 引脚的输出取反即可。
解:
⑵. T0工作于模式0,计数器为13位的加1计数器, fosc=6MHz,则1个振荡周期为1/6μs 定时时间为1ms,根据公式: t =(213-T0初值)×振荡周期×12 1×10-3=(213-T0初值) ×( 1/6×10-6 ) ×12 T0初值= 7692 = 1111000001100B
多为:213=8192个。
例7.5 定时器T0工作在模式0, CPU主频 fosc=6MHz 定时1ms, T0的初值为多少?计算最长定时时间?
解:T0工作于模式0时, 为13位的加1计数器 ①. 定时1ms,根据公式:

微型计算机原理-第7章(3)微机原理与接口技术(第三版)(王忠民)

微型计算机原理-第7章(3)微机原理与接口技术(第三版)(王忠民)

第7章 输入/输出与中断-中断技术
… …

D7 D0 CPU
INTR
中 断 寄 存 器
INT ≥1
INT1 INT2
INT8
图7.13 软件查询法的硬件电路
第7章 输入/输出与中断-中断技术
断点保护
INT1? Y N INT2? Y N
对1号中 断源服
务 对2号中 断源服

… …
INT8? Y N
1. 中断的定义
计算机在执行正常程序 过程中,当出现某种异常 事件或某种外部请求时, 处理器就暂停执行当前的 程序,而转去执行对异常 事件或某种外部请求的处 理操作。当处理完毕后, CPU再返回到被暂停执行的 程序,继续执行,这个过 程称为程序中断。
主程序
有中断请求
断点 继续执行
中断服务程序 中断处理
第7章 输入/输出与中断-中断技术
① 中断请求:是中断源向CPU发出的请求中断的要求。 软件中断源是在CPU内部由中断指令或程序出错直接
发中断; 硬件中断源必须通过专门的电路将中断请求信号送给
CPU,CPU也有专门的引脚接收中断请求信号。
第7章 输入/输出与中断-中断技术
② 中断响应:是指当计算机系统接收到中断请求后应作出的反 应。对于可屏蔽中断的响应要具备两个条件:一是中断允许触发器 的状态为1(即开中断),二是CPU在执行完现行指令之后。
返回断点
第7章 输入/输出与中断-中断技术
2. 中断系统 为实现中断功能而设置的硬件电路和与之相应的软件,称为中
断系统。 3. 中断源
引起中断的原因或发出中断请求的来源称为中断源。中断源可 分为硬件中断源和软件中断源两类。 4. 中断处理过程

单片机原理及接口技术 第3版课件(梅丽凤)第7章

单片机原理及接口技术 第3版课件(梅丽凤)第7章

MOV TH1,#0D8H;赋初值 MOV TL1,#0F0H MOV IE,#88H ;CPU开中断,TT1开中断 SETB TR1 ;启动T1工作 MOV 60H,#100;赋毫秒计数初值 MOV 61H,#60 ;赋秒计数初值 CLR 4FH ;清标志位 TT:JNB 4FH,TT ;等1min时间到 CLR 4FH ;1min到,清标志位 CPL P1.0 ;输出反相 AJMP TT ;反复循环 END
ORG 0030H ;主程序初始化 START:MOV SP,#60H ;置堆栈指针 SETB IT0 ;置边沿触发方式 MOV IP,#01H ;置为高优先级 MOV IE,#81H ;CPU开中断、开中断 MOV 30H,#00H ;里程计数器单元清0 MOV 31H,#00H MOV 32H,#00H LJMP MAIN ;转主程序执行,并等待中断 ORG 0100H ;中断程序,中断一次,里程加2 m INT:PUSH ACC ;保护现场 PUSH PSW MOV A,30H ;读里程计数器低8位 ADD A,#02 ;低8位计数器加2m(运转一圈) MOV 30H,A ;回存
【例7-3】 出租车计价器的计程方法是:车轮 每运转一圈产生一个负脉冲,从外中断 (P3.2)引脚输入,行使里程为轮胎周长× 运转圈数。假设轮胎周长为2m,试编程实时 计算出租车行使里程(单位:米),数据存 放到32H、31H、30H单元中。 编程: ORG 0000H ;上电、复位入口地址 L JMP START ;转向主程序初始化 ORG 0003H ;中断入口地址 LJMP INT ;转向中断服务程序
图7-4 中断处理过程流程图
7.3.4 中断请求的撤除
响应某中断请求后,其中断请求标志位应及时清除,否则 会引起另一次中断。各标志位清除方法不一样。

第七章AT89s52单片机中断系统

第七章AT89s52单片机中断系统

高 优 先 级
低 优 先 级
7
3.中断触发方式
①.电平触发方式 ②.下降沿触发方式
第七章 AT89S52单片机中断系统
8
7.2.2 中断标志与控制
单片机设置了5个专用寄存器用于中 断控制,用户通过设置其状态来管理中 断系统。5个专用寄存器包括:
定时器/计数器0,1控制寄存器TCON; 定时器2控制寄存器T2CON; 串行口控制寄存器SCON; 中断允许控制寄存器IE; 中断优先级控制寄存器IP。
第七章 AT89S52单片机中断系统
9
1.定时器/计数器0,1控制寄存器TCON
D7 D6 D5 D4 D3 D2 D1 D0
TCON TF1
TF0
IE1 IT1 IE0 IT0 字节地址:88H
位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 可位寻址
TF1(TCON.7)—T1计数溢出,由硬件置位,响应中断
2
(2)中断源
中断源通常可分为以下几种: 设备中断 定时中断 故障源中断 程序性中断源
第七章 AT89S52单片机中断系统
3
(4) 中断识别方式
一般设有两种识别方式: 查询中断 矢量中断。
第七章 AT89S52单片机中断系统
4
(5) 中断的其它概念
中断请求、中断标志、中断允许、 中断入口地址(中断矢量)、中断 嵌套、中断保护、中断服务程序、 中断源清除、中断屏蔽、中断返回、 中断等待 。
当EA=1时,允许所有中断开放,总允许后,各中断的允许 或禁止由各中断源的中断允许控制位进行设置;
当EA=0时,屏蔽所有中断。
第七章 AT89S52单片机中断系统
14
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

① 0型中断——除法出错中断。 ② 1型中断——单步中断。 ③ 3型中断——断点中断(INT)。 ④ 4型中断——溢出中断(INTO指令)
(2)指令中断——INT n指令,其类型号就是 给定的n。
7.2.2 中断向量和中断向量表
IP 000 类型0中断入口(除法出错) CS
专 004 类型1中断入口(单步中断) IP
(2)CPU的标志寄存器入栈,以保护各个标志位, 此操作类似于PUSHF指令。
(3)清除IF和TF标志,屏蔽新的INTR中断和单步 中断
(4)保存断点,即把断点处的IP和CS值压入堆栈, 先压入CS值,再压入IP值。
(5)根据第一步计算出来的地址从中断向量表中 取出中断服务程序的入口地址(段和偏移),分 别送至CS和IP中。
3.若CPU处于开中断状态,则在当前指令 执行结束后,启动中断响应总线操作,发出 两个负脉冲作为响应信号。
4.8259A接收到第一个负脉冲,完成如下工作:
(1)使ISR相应位置1,表示CPU已为该中断请求服务。
(2)使IRR的相应位清0。
5.8259A接收到第二个负脉冲,将中断类型号送 上数据总线。中断类型号由用户编程和中断请求 引脚IRi的序号i共同决定(CPU读取中断类型号, 经响应过程后,进入中断服务程序,直到服务结 束返回)。
图5-1 中断处理过程
1.中断请求
中断请求是中断过程的第一步。中断源产生中断请求 的条件,因中断源而异
2.中断判优
由于中断产生的随机性,可能出现两个或两个以上的 中断源同时提出中断请求的情况。这时就必须要求 设计者事先根据中断源的轻重缓急,给每个中断源 确定一个中断级别——优先权。
3.中断响应
中断优先权确定后,发出中断申请的中断源中优先权 最高的中断请求就被送到CPU的中断请求引脚上。
19 IR1 18 IR0 17 INT
16 SP/EN 15 CAS2
图5-10 8259A引脚信号
7.3.2 8259A的工作过程
1.中断源通过IR0~IR7向8259A发中断请 求,使得8259A的中断请求寄存器IRR的相 应位置1。
2.IRR中经中断屏蔽寄存器IMR允许后的置 位位进入优先权判别器PR,PR将其中最高 优先权的中断请求从INT输出,送至CPU的 INTR端。
请求
中断返回
中断返回
低级 中断 服务 程序
高级 中断 服务 程序
图5-5 两级中断嵌套的示意图
实现多级中断需要注意的两个问题:
(1)实现多重中断的重要条件是在中断服务 执行过程中必须开放中断。
(2)必须加入屏蔽本级和较低级的中断请求 的环节,保证只有高级中断源才能中断低级的 中断处理。
7.2 8086 的中断结构
中断请求 中断判优 中断响应
中断处理 中断返回
中断源提出中断请求
判优逻辑进行优先排队
CPU执行完当前指令
中断请求信号有效?

CPU允许中断否?

CPU关闭中断
保护程序断点
CPU取下一条指令


找出中断源,形成中断服务程序 入口地址,并转向中断服务程序
保护现场 执行中断服务程序
恢复现场 CPU开放中断 返回原程序断点处
ISR
优先权 分析器
PR
中断请求
IR0
寄存器
IRR
IR7
中断屏蔽寄存器IMR
图5-9 8259A内部结构框图
2.8259A的引脚特性
CS 1
2 WR
3
RD 4
D7
5
D6 D5
6
D4
7
D3
8
D2
9
D1 10
D0 11
CAS0 12
CAS1 13
GND 14
28 VCC 27 A0
26 INTA 25 IR7 24 IR6 23 IR5 22 IR4 21 IR3 20 IR2
例7-1 用MOV指令写入中断向量。
假设中断向量号为60H,中断服务程序的段基址是SEG_INTR, 偏移地址是OFFSET_INTR,则填写中断向量表的程序段为:

CLI
;关中断
CLD
;内存地址加1
MOV AX,0
MOV ES,AX
;给ES赋值为0
MOV DI,60H*4
;中断向量指针→DI
MOV AX,OFFSET_INTR ;中断服务程序偏移值→AX
入口地址,以便CPU将此地址置入 CS:IP寄存器 , 从而实现程序的转移
7.1.2 中断系统的功能
中断系统是指实现中断功能的软硬件的统称 1.正确识别中断请求,实现中断响应、中断处
理及中断返回 2.实现中断优先级排队 3.实现中断嵌套
7.1.3 中断处理过程
一个完整的中断处理过程包括中断请求、中断判 优、中断响应、中断处理和中断返回五个基本 阶段。
常见的中断源有
(1)故障中断,如电源掉电、内存奇偶错等; (2)软件中断,如CPU执行某些指令或操作引起的中
断等; (3)输入输出设备中断,如打印机、CRT、磁盘等; (4)实时时钟,如定时器提供的实时信号等。
3. 中断识别
即找出是哪一个中断源发出的中断请求 中断识别的目的是要形成该中断源的中断服务程序的
软件中断
硬件中断
图5-6 8086的中断源类型
1.外部中断
(1)非屏蔽中断NMI。用户不能用软件屏蔽的 中断。
(2)可屏蔽中断INTR。8086的INTR中断请求 信号来自中断控制器8259A,是电平触发方式, 高电平有效。
2.内部中断
(1)专用中断。在中断向量表中,类型号0~4 中除了类型号2的NMI非屏蔽中断外,其余均为 专用的软件中断,它们通常是由某个标志位引 起的中断。
在这种方式下,优先级顺序不是固定不变的, 一个设备得到中断服务后,其优先级自动降为最低。 其初始的优先级顺序规定为IR0,IR1,IR2,…, IR7
该方式用于系统中多个中断源优先级相等的场合
(2)优先级特殊循环方式。
这种方式与优先级自动循环方式惟一的区别是, 其初始的优先级不是固定IR0为最高,然后开始循环, 而是由程序指定IR0~IR7中任意一个为最高优先级, 然后再按顺序自动循环,决定优先级。
7.1中断的基本概念
7.1.1 中断与中断源
1.中断
在CPU正常运行程序时,由于内部事件、外部事件或 由程序预先安排的事件所引起的CPU暂时停止正在 运行的程序,而转去执行请求CPU服务的内部/外部 事件或预先安排事件的服务程序,待服务程序处理 完毕后又返回去继续执行被暂停的程序
2.中断源
发出中断请求的外部设备或引起中断的内部原因称为 中断源
可通过OCW3的D6D5=11来设定。
2.中断嵌套方式
(1)全嵌套方式。
在此种方式下,中断优先级按IR0~IR7顺序进 行排队,并且只允许中断级别高的中断源去中断级 别低的中断服务程序,但不能相反。这是8259A最 常用的方式。
在对8259A进行初始化以后,没有设置其他优 先级方式,则自动按此方式工作。
(2)特殊全嵌套方式。
与全嵌套方式基本相同,所不同的是在特殊全 嵌套方式下,当执行某一级中断服务程序时,可响 应同级的中断请求,从而实现对同级中断请求的特 殊嵌套(8259A级联使用时,某从片的8个中断源对 主片来说,可以认为是同级的)。
特殊全嵌套方式用于多片级联。
3.优先级控制方式
(1)优先级自动循环方式。
MOV AX,OFFSET_INTR
;中断服务程序偏移值→AX
MOV ES:[BX],AX ;装入偏移地址
MOV AX,SEG_INTR
;中断服务程序的段基址→AX
MOV ES:[BX+2],AX ;装入段基址

7.2.4 8086的中断响应过程
1.内部中断响应过程
(1)将类型号乘4,计算出中断向量的地址;
1.软件查询判优
CPU D0~D7
并行 输入 接口
中断 请求 寄存器
IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7
INTR
≥1
图5-2 软件查询判优电路
断点保护
IRQ0? Y N Y
IRQ1? N
中断源0的中断服务程序 中断源1的中断服务程序
IRQ7?
Y
N
中断返回
中断源7的中断服务程序
IRET指令 的操作
图7-9 中断响应和中断处理流程
7.3可编程中断控制器8259A
7.3.1 8259A的内部结构和引脚特性
1.8259A的内部结构
INTA INT
D7~D0
数据 总线 缓冲器
控制逻辑
RD
WR A0 CS
CAS0 CAS1 CAS2 SP/EN
读/写 逻辑
数据 总线 缓冲器
中断服务 寄存器
1.中断屏蔽方式
(1)普通屏蔽方式。利用操作命令字OCW1,使 屏蔽寄存器IMR中的一位或数位置1来屏蔽一个或数 个中断源的中断请求。
若要开放某一个中断源的中断请求,则将 IMR中相应的位置0。
(2)特殊屏蔽方式。在某些场合,执行某一个中 断服务程序时,要求允许另一个优先级比它低的中 断请求被响应,此时可采用特殊屏蔽方式
(1)非屏蔽中断响应。 (2)可屏蔽中断响应。
CLK ALE LOCK INTA D7~D0
第一个总线
T1
T2
INTA 周期
T3
T4
第二个总线
T1
T2
INTA 周期T3 NhomakorabeaT4
中断 类型号
图7-8 8086对INTR的中断响应时序
取指令 执行指令
相关文档
最新文档