第五章中断技术
单片机原理及应用教程(C语言版)-第5章 MCS-51单片机的中断系统
5.2.5 中断允许控制
例5-1 假设允许INT0、INT1、T0、T1中断,试 设置IE的值。 (2)汇编语言程序 按字节操作: MOV IE,#8FH 按位操作: SETB EX0 ;允许外部中断0中断 SETB ET0 ;允许定时器/计数器0中断 SETB EX1 ;允许外部中断1中断 SETB ET1 ;开定时器/计数器1中断 SETB EA ;开总中断控制位
IP (B8H)
D7 —
D6 D5 D4 D3 D2 D1 D0 — PT2 PS PT1 PX1 PT0 PX0
PT2:定时器/计数器T2的中断优先级控制位 PT2设置1则T2为高优先级,PT2设置0则T2为 低优先级。 后面各位均是如此,设置1为高优先级,设置0 为低优先级,不再一一赘述。 PS:串行口的中断优先级控制位。 PT1:定时器/计数器1的中断优先级控制位。 PX1:外部中断1的中断优先级控制位。 PT0:定时器/计数器0的中断优先级控制位。 PX0:外部中断0的中断优先级控制位。
5.2.4 中断请求标志
4.定时器/计数器T2中断请求标志
T2CON D7 D6 D5 (C8H) TF2 EXF2 D4 D3 D2 D1 D0
EXF2:定时器/计数器2的外部触发中断请求标志 位。T2以自动重装或外部捕获方式定时、计数,当 T2EX(P1.1)引脚出现负跳变时,TF2由硬件置1, 向CPU请求中断,CPU响应中断后,EXF2不会被硬 件清0,需要在程序中以软件方式清0。
5.2.3 外中断触发方式
TCON格式如下:
D7 D6 D5 D4 D3 D2 D1 D0
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
IT0=1,外中断0为下降沿触发 CPU在每一个机器周期的S5P2期间对P3.2引 脚采样,若上一个机器周期检测为高电平,紧挨着 的下一个机器周期为低电平,则使IE0置1。 IT1:外中断1触发方式控制位。功能同IT0
第五章-AT89S51中断系统
5.1 中断概述
5.2 中断系统结构 5.3 中断的应用及编程
§5.1 中断概述
➢ 什么叫中断?
在日常生活中:中断即中途打断某一正在进行 的工作,而去处理另外的紧急事件,待处理完 后,再继续原来的工作。 在计算机中:计算机在运行某个进程的过程 中,由于其他原因,有必要中止正在执行的进 程,而去执行引起中断的事件进程,待处理完 毕后,再回到被中止进程的被打断的地方继续 执行,这种情况称为“中断”。
(5)ET0:定时/计数器T0的溢出中断允许位 0:禁止T0溢出中断; 1:允许T0溢出中断。
(6)EX0:外部中断0中断允许位。 0:禁止外部中断0中断; 1:允许外部中断0中断。
2.中断优先级控制寄存器IP
IP D7 D6 D5 D4 D3 D2 D1 D0 PS PT1 PX1 PT0 PX0
2.中断响应过程
中断响应过程包括保护断点和将程序转 向中断服务程序的入口地址。具体过程 如下:
首先,中断系统通过硬件自动生成长调 用指令(LCALL),该指令将自动把断点 地址压入堆栈保护。
然后,将对应的中断入口地址装入PC, 使程序转向该中断入口地址,执行中断 服务程序。
单片机的中断为固定入口式中断,即一响
1:高优先级中断 0:低优先级中断 (1)PS —串行口中断优先级控制位 (2)PT1—定时器T1中断优先级控制位 (3)PX1—外部中断1中断优先级控制位 (4)PT0—定时器T0中断优先级控制位 (5)PX0—外部中断0中断优先级控制位
❖为什么要有中断优先级?
CPU同一时间只能响应一个中断请求。 若同时来了两个或两个以上中断请求,
EA
ES ET1 EX1 ET0 EX0
第5章-MCS-51单片机中断系统-PPT
5、2、2 MCS-51单片机得中断源
IT1=1,外中断1为下降沿触发 采样:CPU在每一个机器周期得S5P2期间 对P3、3引脚采样,若上一个机器周期检测为 高电平,紧挨着得下一个机器周期为低电平,则 使IE1置1。 IT0:外中断0触发方式控制位。
CPU主要就是通过标志寄存器、控制 寄存器、优先级寄存器对中断源进行管
5、2、2 MCS-51单片机得中断源
(1)与中断标志相关得SFR
主要有:定时器/计数器T0、T1控制寄 存器TCON
串行口控制寄存器SCON 定时器/计数器2控制寄存器T2CON(第 6章介绍) (2)中断控制寄存器:TCON、IE (3)中断优先级寄存器:IP
DMA释放总线:当一批数据传送后, DMA控制器再向CPU发出“结束总线请 求”,CPU响应请求,收回总线使用权。
DMA方式速度高、效率高,可以与CPU 并行工作。
5、1、2 中断得相关概念
1、中断得概念
CPU在正常运行得时候, 外部或者内部发生了请求 CPU迅速去处理得事件,CPU 暂时中断当前得程序,去处理 所发生得事件,处理完事件后, 再返回到原来被中断得程序 继续运行。此过程称为中断。
图5-3 定时器得控制寄存器
TCON可位寻址。复位后TCON=00H。 TF1(TCON、7):T1溢出标志位
当T1计满溢出时,由内部硬件置位; 中断响应后自动清 0。
5、2、2 MCS-51单片机得中断源
TF0:T0溢出标志位 功能同TF1。
IT1:外中断1触发方式设置位 IT1=0,外中断1为低电平触发
5、1、1 微机得输入/输出方式
第5章AT89S51单片机的中断系统-2ppt课件
【注意】:TCON既有定时器的控制功能,又有中断控制功能。 虽然不少资料将TCON称为定时器控制寄存器,但多数位都是 为中断控制而设置的(其中与中断有关的控制位共6位)。
位地址 8FH 8EH 8DH 8CH 8BH 8AH 89H 88H 位符号 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
✓ 计数溢出标志位的使用有两种情况: • 采用中断方式时,作为中断请求标志位来使用; • 采用查询方式时,作为状态位供查询使用。
(2)SCON中的中断标志位
位地址 9FH 9EH 9DH 9CH 9BH 9AH 99H 98H
位符号 SM0 SM1 SM2 REN TB8 RB8 TI
RI
TI:串行发送中断请求标志位
AT89S51单片机的中断系统
本章主要内容
中断的概念和应用 AT89S51中断系统结构 与中断相关的SFR及中断控制 外部中断 C51中断函数编程举例
微机的输入输出方式
(1)无条件传送方式 (2)查询传送方式 (3)直接存储器存取(DMA)方式 (4)中断方式
无条件传送方式
无条件传送方式在这种传送方式下,CPU不需要了解 外设的状态,只要在程序中加入访问外设的指令, 就可实现CPU与外设之间的数据传送。此种方法控制 简单,但数据传送时,由于不知道外设的状态,传 送数据时容易出错。
④ 故障处理:当计算机出现故障时,CPU可自动执行故障 处理程序,提高了系统自身的可靠性。
计算机与外围设备之间传送数据及实现人机联系也常采 用中断方式。
89S51的中断源
中断源:凡是中断请求的来源都统称为中断源。 在单片机系统中,中断可以由各种硬件设备产生,
(单片机完整课件PPT)第五章
⑴ 对定时/计数器T0、T1中断,外中断边沿触发方式, CPU响应中断时就用硬件自动清除了相应的中断请求标 志。 ⑵对串行口中断,用户应在串行中断服务程序中用软件清 除TI或RI。
⑶对外中断电平触发方式,需要采取软硬结合的方法消除 后果。
只要 P1.0 端输出一个负脉冲就可以使 D 触发器置 “ 1” ,从而撤消了低电平的中断请求信号。所需 的负脉冲可增加如下两条指令得到: ORL P1,#01H ;P1.0为“1” ANL P1,#0FEH ;P1.0为“0”
T1
PX1 PT0 PX0
/INT1 T0 /INT0
相应位置1为高优先级;置0为低优先级。
优先级结构:
(1)低优先级中断可被高优先级中断所中断,反之不能; (2)任何一种中断(不管是高级还是低级),一旦得到
响应,与它同级的中断源不能再中断它。
(3)同级的中断源同时请求时,遵循辅助优先级顺序。
同级内的优先权 INT0 T0 INT1 T1 串行口 辅助优先级顺序 高
中断类型: (1)按中断源的不同分为: 硬件中断:由硬件产生请求使CPU响应中断。 软件中断:指可以通过相应的中断指令使CPU响应中断。 (2)按是否可屏蔽分为: 可屏蔽中断:指用户可以通过中断控制指令来控制CPU 是否响应中断源的中断请求。 不可屏蔽中断:指CPU不能屏蔽中断源的中断请求,必
ቤተ መጻሕፍቲ ባይዱ
须响应该中断请求。
2.中断申请标志
定时器控制寄存器TCON(88H)
TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0
ITX:选择 INTx中断触发方式。 ITX=1,选择 INT x 为下降沿触发方式。 ITX=0,选择
INT x 为低电平触发方式。
第五章 中断系统
四、中断系统的功能 一般来说,一个中断系统具有以下功能: (一)实现中断及返回 当某中断源发出中断请求后,CPU应决定是否响应这个中断请求,如当前正 在执行更重要的工作可暂时不响应中断,若响应这个中断请求,CPU在当前指令 执行完后,就要保护断点地址和现场(即下条指令地址和相关寄存器内容),以便 执行完中断服务程序后能正确返回原处执行,然后转到需要处理的中断服务程序 的人口地址,去执行中断服务程序,当中断服务程序执行完毕再恢复现场和断点 ,去继续执行主程序。 (二)实现优先级排队 当计算机带有多个中断源时,可能会出现两个或两个以上中断源同时向CPU提 出中断请求的情况。这时CPU应能够根据事先确定的中断源的优先级别来先响应 高优先级的中断 并为它服务,然后再响应较低优先级的中断请求。 (三)实现中断嵌套 当CPU正在响应某一中断源的中断请求时,又有新的中断源发出请求,如果 新的请求的优先级别高于正在执行的中断源的优先级,则CPU暂停现行的服务程 序,转去执行更高级别的中断源的服务程序,执行完毕后再回到被中断的较低中 断源的服务程序继续执行,即实现了中断嵌套。若新的中断源的优先级别低于或 是等于正执行的中断源,则CPU不响应这个请求,直到正在处理的中断服务程序 执行完毕后,才去处理新的中断请求。
三、中断的分类 按中断产生的位置,中断可分为: (1)外部中断,或称外部硬件实时中断,它是由外部送到CPU的某一特定引脚 上产生的。 (2)内部中断,或称软件指令中断,是为了处理程序运行过程中发生的一些意 外情况或调试程序方便而提供的中断。 按接受中断的方式,中断可分为: (1)可屏蔽中断,可以通过指令使CPU根据具体情况决定是否接受中断请求。 (2)非屏蔽中断,只要中断源提出请求,CPU就必须响应,主要用于一些紧急 情况的处理,如掉电等。 以上从不同的角度对中断进行了分类,对于某一种类型的计算机可能只具备 其中的某几种方式,例如MCS—51就不具备非屏蔽中断方式。
第五章GPIO和中断
例如:实现下列LED的闪烁程序
#include "stm32f10x.h“
#define LED_ALL GPIO_Pin_0| GPIO_Pin_1| GPIO_Pin_2| GPIO_Pin_3| GPIO_Pin_4
int main(void) { unsigned char j=0; chLsd=0xFE; //打开相应外设的时钟:GPIOA RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE);
GPIOx_BSRR和GPIOx_BRR寄存器允许 对任何GPIO寄存器的读/更改的独立访问
端口位配置表
I/O端口位的基本结构
输入浮空/上拉/下拉配置
输出配置
复用功能配置
复用功能
对于复用的输入功能,端口必须配置成输入模 式(浮空、上拉或下拉)且输入引脚必须由外部 驱动
对于复用输出功能,端口必须配置成复用功能 输出模式(推挽或开漏)。
函数GPIO_ReadOutputData
读出C口的数据
ReadValue = GPIO_ReadOutputData(GPIOC);
函数GPIO_PinLockConfig
锁定A口的0和1管脚
GPIO_PinLockConfig(GPIOA, GPIO_Pin_0 | GPIO_Pin_1);
GPIO编程实现步骤
1启动外设模块 2设定管脚控制模式 3对GPIO寄存器进行操作
例如:实现下列LED的闪烁程序
#include "stm32f10x.h" int main(void) {
//打开相应外设的时钟:GPIOB RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB , ENABLE); //初始化GPIOB,用于驱动LED GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;//推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;//最高输出速度为50MHz GPIO_Init(GPIOB, &GPIO_InitStructure); while (1) {
第5章 STC15F2K60S2单片机中断系统
5.3 中断允许及其优先级管理
STC15F2K60S2单片机的中断允许控制及优先级控制 分别由中断允许寄存器IE、IE2、INT_CLKO(AUXR2)以 及中断优先级控制寄存器IP、IP2等控制。
5.3.1 中断允许寄存器 STC15F2K60S2单片机中的各中断源是否开放或禁止,
是由内部的中断允许寄存器IE、IE2、INT_CLKO控制。中 断采用两级控制方式,即总中断和各中断源分别独立控制。
精品课件
➢TF1:定时/计数器T1的溢出中断标志位。当启动T1计数 后,从初值开始计数,当产生溢出后由硬件将TF1置1,向 CPU请求中断,一直保持到CPU响应中断时,才由硬件清0, TF1也可由软件清0。 ➢TR1:定时/计数器T1的运行控制位。当TR1为1 时运行, 为0时停止运行。 ➢TF0:定时/计数器T0溢出中断标志。其功能与TF1类似。 ➢TR0:定时/计数器T0的运行控制位。其功能与TR1类似。
精品课件
➢TI:串行口1发送中断标志。串行口1以方式0发送时,每 当发送完8位数据,由硬件置1;若以方式1、方式2或方式3 发送时,在发送停止位的开始时置1。TI为1表示串行口已发 送一帧数据,串行口1正在向CPU申请中断(发送中断)。值得 注意的是,CPU响应发送中断请求,转向执行中断服务程序 时并不将TI清0,TI必须由用户在中断服务程序中清0。
精品课件
STC15F2K60S2 单片机中断系统结
构示意图
精品课件
5.2.2 中断源标志寄存器
1. TCON寄存器 TCON寄存器为定时/计数器T0、T1的控制寄存器,该
寄存器包括了T0和T1的溢出中断请求标志位TF0和TF1,也 包括了外部中断0(INT0)和外部中断1(INT1)的中断请 求标志位IE0和IE1,以及外部中断0和外部中断1的中断源的 触发方式。TCON寄存器的字节地址为88H,可位寻址,其 格式如下:
单片机原理及应用课后习题答案第5章作业
第五章中断系统作业1. 外部中断1所对应的中断入口地址为()H。
2. 对中断进行查询时,查询的中断标志位共有、_ _、、_ 和_ 、_ _ 六个中断标志位。
3.在MCS-51中,需要外加电路实现中断撤除的是:()(A) 定时中断(B) 脉冲方式的外部中断(C) 外部串行中断(D) 电平方式的外部中断4.下列说法正确的是:()(A) 同一级别的中断请求按时间的先后顺序顺序响应。
()(B) 同一时间同一级别的多中断请求,将形成阻塞,系统无法响应。
()(C) 低优先级中断请求不能中断高优先级中断请求,但是高优先级中断请求能中断低优先级中断请求。
()(D) 同级中断不能嵌套。
()5.在一般情况下8051单片机允许同级中断嵌套。
()6.各中断源对应的中断服务程序的入口地址是否能任意设定? ()7.89C51单片机五个中断源中优先级是高的是外部中断0,优先级是低的是串行口中断。
()8.各中断源发出的中断申请信号,都会标记在MCS-51系统中的()中。
(A)TMOD (B)TCON/SCON (C)IE (D)IP9. 要使MCS-51能够响应定时器T1中断、串行接口中断,它的中断允许寄存器IE的内容应是()(A)98H (B)84H (C)42 (D)22H10.编写出外部中断1为负跳沿触发的中断初始化程序。
11.什么是中断?其主要功能是什么?12. 什么是中断源?MCS-51有哪些中断源?各有什么特点?13. 什么是中断嵌套?14.中断服务子程序与普通子程序有哪些相同和不同之处?15. 中断请求撤除的有哪三种方式?16. 特殊功能寄存器TCON有哪三大作用?17. 把教材的P82页的图4.24改为中断实现,用负跳变方式,中断0(INT0)显示“L2”,中断1(INT1)显示“H3”。
(可参考第四章的电子教案中的例子)18.第5章课后作业第9题。
第五章中断系统作业答案1. 外部中断1所对应的中断入口地址为(0013)H。
微机原理-05 中断
P1.3
绿灯
SJMP DDD
P3.2
3.如果想通过中断方式实现上述功能,软件怎样编程序? 仿前 例。
ORG 0000H
+5V
AJMP MAIN
P1.0
红灯
ORG 0003H
P1.1
红灯
AJMP INT
ORG 0050H
P1.2
绿灯
MAIN: MOV SP,#60H
P1.3
绿灯
MOV IE,#1000 0001B;
• 若ITi=0(电平触发),则输入到INTi 的外部中断源必须保持低电平有效,直到该 中断被响应。同时在中断返回前必须使电平 变高,否则将会再次产生中断。
SCON-串行口控制寄存器(98H)
位地址 9F 9E 9D 9C 9B 9A 99 98
SCON
TI RI
发送中断标志
接收中断标志
一帧数据发送完毕置“1”TI,请求CPU发送下一帧 一帧数据接收完毕置“1”RI,请求CPU取走数据
§5.1.2 查询传送方式(条件传送)
通过查询外设的状态信息,确信外设已处于“准备好”, 计算机才发出访问外设的指令,实现数据的传送。
状态信息:一般为1位二进制码。
输入时,需要查询外设的输入数据是否准备好;
输出时,要查询外设是否把上一次CPU输出的数据处理完毕。
查询方式程序流程图
优点:通用性好,可以用于各类
…………… ORG 0080H PH:PUSH PSW PUSH A SETB P3.0 ACALL DELAY1S CLEAR P3.0 ANL P1,#0BFH;撤申请 ORL P1,#40H POP A POP PSW RETI END
当发送和接收中任何一个标志被置位时,都可以向CPU提出 申请。必须在中断服务程序中判断,并由软件将RI和TI标志位 清0。
单片机-第五章 单片机中断系统
单片机-第五章单片机中断系统单片机第五章单片机中断系统在单片机的世界里,中断系统就像是一位高效的调度员,能够在各种任务之间迅速切换,确保系统能够及时响应紧急事件和重要任务。
这一章,咱们就来深入了解一下单片机中断系统的奥秘。
先来聊聊什么是中断。
想象一下,单片机正在有条不紊地执行着一个任务,比如计算一组数据的平均值。
突然,有个更紧急的事情发生了,比如外部设备传来了一个重要的信号,需要单片机立即处理。
这时候,单片机就会暂时放下手头正在进行的任务,转而去处理这个紧急事件。
等处理完紧急事件后,再回到之前被打断的地方继续执行原来的任务。
这个过程就是中断。
中断系统之所以重要,是因为它大大提高了单片机系统的工作效率和实时响应能力。
如果没有中断,单片机就得按照顺序依次完成所有任务,哪怕遇到紧急情况也不能停下来,这在很多实际应用中是无法接受的。
单片机的中断系统通常由几个部分组成。
首先是中断源,也就是那些能够触发中断的事件或信号。
常见的中断源包括外部中断、定时中断、串口中断等等。
外部中断一般是由外部设备的状态变化引起的。
比如说,一个按键被按下,就会产生一个外部中断信号,通知单片机进行相应的处理。
定时中断则是根据预先设定的时间间隔产生中断。
这在需要周期性执行某些任务的场合非常有用,比如每隔一定时间采集一次温度数据。
串口中断是在串口通信过程中,当接收到数据或者发送完成时产生的中断。
接下来是中断控制寄存器。
它就像是中断系统的“指挥官”,决定哪些中断被允许,哪些被禁止,以及中断的优先级等。
通过设置这些寄存器,我们可以灵活地控制中断的行为。
然后是中断向量。
当发生中断时,单片机会根据中断向量跳转到相应的中断服务程序去执行。
中断向量就像是一个地址索引,告诉单片机中断服务程序在哪里。
在实际编程中,使用中断系统需要经过一系列的步骤。
首先,要初始化中断相关的寄存器,设置中断的触发方式、允许或禁止中断、确定中断的优先级等。
然后,编写中断服务程序。
单片机讲义(第五章MCS-51的中断系统)
5.6.2 跳沿触发方式(下降沿触发方式)
如果相继连续两次采样,一个机器周期采样到外部中断输入为高, 下一个机器周期采样为低,则置1中断申请触发器,直到CPU响应此 中断时,该标志才清0。这样不会丢失中断,输入的负脉冲宽度至少保
持12个时钟周期(若晶振频率为6 MHZ,则为2μs),才能被CPU采样到。
(2)用字节操作指令
MOV IP,#05H ;000 00101 或者用: MOV 0B8H,#05H ;B8H为IP寄存器的字节地址
5.5 外部中断的响应时间
从外部中断请求有效(外部中断请求标志置1)到转 向中断入口地址所需要的响应时间。 外部中断的最短响应时间为3个机器周期。其中中断
请求标志位查询占1个机器周期,而这个机器周期恰好是处于指令 的最后一个机器周期,在这个机器周期结束后,中断即被响应, CPU接着执行1条硬件子程序调用指令 LCALL以转到相应的中断服 务程序入口,则需要2个机器周期。
外部中断响应的最长时间为8个机器周期。执行RETI或
是访问IE或IP的指令,最长需要2个机器周期。而接着再执行的1条 指令,按最长的指令(乘法指令MUL和除法指令DIV)来算,需4 个机器周期。再加上硬件子程序调用指令LCALL的执行,需要2个 机器周期,所以,外部中断响应最长时间为8个机器周期。
5.3.3中断允许寄存器IE
IE中各位的功能如下:
(l)EA——中断允许总控制位 EA=0,CPU屏蔽所有的中断请求(CPU关中 断); EA=1,CPU开放所有中断(CPU开中断)。 (2)ES——串行口中断允许位 ES=0,禁止串行口发送/接收中断; ES=1,允许串行口发送/接收中断。 (3) ET1——定时器/计数器T1的溢出中断允许 位 ET1= 0,禁止T1计数溢出中断; ET1= 1,允许T1计数溢出中断。
第5章-中断技术-实例讲解
3.项目电路原理框图 项目电路原理框图如图6-1所示。电路由8086CPU、
8255A芯片、8259A芯片、继电器及驱动和脉冲按钮UP组成。
图6-1 外部中断控制继电器电路图
4.项目程序设计 (1)程序流程图
外部中断控制继电器程序流程图如6-2所示。
(a)主程序 (b)IR0中断服务程序 图6-2 外部中断控制继电器程序流程图
2.项目电路连接与说明 (1)项目电路连接:如图6-9所示的粗线为要接的连线,接 线描述如下:8259A的片选CS连至地址译码处的210H~217 H插孔;8255A的片选CS连至地址译码处的200H~207H插 孔;将8只LED发光二极管连接至8255A的PA0~PA7插孔; 将UP脉冲按钮连接至8259A的IR0插孔。 (2)项目说明:8259可外接8个中断源,本项目只响应 INT0中断,8259也可以多级连接,以响应多个中断源。将 单脉冲信号接到8259的INT0脚。每按一下UP,8259A就中 断一次,LED发光二极管灯左循环亮。在编程时应注意:
MOV DX,210H ; 8259地址 OUT DX,AL MOV AL,8 ; ICW2中断类型号为8 MOV DX,211H OUT DX,AL MOV AL,01H ; ICW4不用缓冲方式,正常中断结束, 非特殊的全嵌套方式
OUT DX,AL
MOV AX,0 ; 清零源自MOV DS,AX ; 数据段清零
ASSUME CS:CODE,DS: DATA ,SS:STACK START :MOV AL,13H ; 00010011B,ICW1:边沿触发,单片,要ICW4
MOV DX,210H ; 8259地址 OUT DX,AL MOV AL,8 ; ICW2中断类型号为8 MOV DX,211H OUT DX,AL
第五章中断系统1
第五章 中断系统5. 1 输入/输出数据的传输控制方式一、输入/输出的一般概念1.引言输入/输出是微机系统与外部设备进行信息交换的过程。
输入/输出设备称为外部设备,与存储器相比,外部设备有其本身的特点,存储器较为标准,而外部设备则比较复杂,性能的离散性比较大,不同的外部设备,其结构方式不同,有机械式、电动式、电子式等;输入/输出的信号类型也不相同,有数字信号,也有模拟信号;有电信号,也有非电信号;输入/输出信息的速率也相差很大。
因此,CPU与外部设备之间的信息交换技术比较复杂。
CPU与外设之间的信息交换,是通过它们之间接口电路中的I/O端口来进行的,由于同一个外部设备与CPU之间所要传送的信息类型不同,方向不同,作用也不一样(例如数据信息、状态信息、控制信息、输入/输出等),所以接口电路中可以设置多个端口来分别处理这些不同的信息。
2.输入/输出端口的寻址方式微机系统采用总线结构形式,即通过一组总线来连接组成系统的各个功能部件(包括CPU、内存、I/O端口),CPU、内存、I/O端口之间的信息交换都是通过总线来进行的,如何区分不同的内存单元和I/O 端口,是输入/输出寻址方式所要讨论解决的问题。
根据微机系统的不同,输入/输出的寻址方式通常有两种形式:(1).存储器对应的输入、输出寻址方式这种方式又称为存储器统一编址寻址方式或存储器映象寻址方式。
方法:把外设的一个端口与存储器的一个单元作同等对待,每一个I/O 端口都有一个确定的端口地址,CPU与I/O端口之间的信息交换,与存储单元的读写过程一样,内存单元与I/O端口的不同,只在于它们具有不同的的地址。
优点:①CPU对I/O端口的读/写操作可以使用全部存储器的读/写操作指令,也可以用对存储器的不同寻址方式来对I/O端口中的信息,直接进行算术、逻辑运算及循环、移位等操作。
②内存与外设地址的分配,可以用统一的分布图。
③不需要专门的输入、输出操作指令。
缺点:1 内存与I/O端口统一编址时,在地址总线根数一定的情况下,使系统中实际可以直2 接寻址的内存单元数减少。
第5章:中断系统2
•
• •
中断优先级的判定 中断源的优先级别分为高级和低级,通过由软件 设置中断优先级寄存器IP相关位来设定每个中断 源的级别。 如果几个同一优先级别的中断源同时向CPU请求 中断,CPU通过硬件查询电路首先响应自然优先 级较高的中断源的中断请求。 中断可实现两级中断嵌套。高优先级中断源可中 断正在执行的低优先级中断服务程序,除非执行 了低优先级中断服务程序的CPU关中断指令。同 级或低优先级的中断不能中断正在执行的中断服 务程序。
5.2 中断处理过程
• 中断处理流程 • 中断嵌套 • 中断的应用实例
中断处理流程
执行一条指令 取下一条指令
•
中断处理过程可分为 中断请求、中断响应、中 断处理和中断返回四个阶 段。不同的计算机因其中 断系统的硬件结构不同, 因此,中断响应的方式也 有所不同。这里仅以8051 单片机为例进行叙述。其 主要内容及一般顺序如图 5-3所示。
(4)中断请求的撤除
• 中断源发出中断请求,相应中断请求标志置“1”。CPU响应 中断后,必须清除中断请求“1”标志;否则中断响应返回后, 将再次进入该中断,引起死循环出错。如何撤除中断请求标 志的说明如下:
• 定时器溢出中断请求的撤除:
• 对于定时器0或1溢出中断,CPU在响应中断后即由硬件自动 清除其中断标志位TF0或TF1,用户无须采取其他措施。
编写中断服务程序时应注意
① 在中断矢量地址单元处放一条无条件转移指令(如
LJMP ××××H),使中断服务程序可灵活地安排
在64KB程序存储器的任何空间。
② 在中断服务程序中,用户应注意用软件保护现场,
以免中断返回后丢失原寄存器、累加器中的信息。
③ 若要在执行当前中断程序时禁止更高优先级中断,
第5章stm32单片机外部中断ppt课件
5.2.3 中断控制器
ICER[2]:全称Interrupt Clear-Enable Registers,是 一个中断清除使能寄存器组。
该寄存器组与ISER寄存器功能相反,用来清除某个 中断的使能位。由于NVIC的这些寄存器都是写1有 效的,写0是无效的。设置一组ICER 寄存器来清除 相应中断使能位。
5.2.1 中断源
ARM Coetex-M3内核共支持256个中断,其中16 个内部中断,240个外部中断和可编程的256级中断优 先级的设置。STM32目前支持的中断共84个(16个内 部+68个外部),还有16级可编程的中断优先级的设 置,仅使用中断优先级设置8bit中的高4位。
5.2.2 中断向量:表5-1 给出STM32F103中断向量表
5.3.2 中断优先级控制
响应优先级可设置为0到15级。 判断两个中断的优先级时: (1)先看抢占优先级的高低; (2)再看响应优先级的高低; (3)看中断通道向量地址。 一个系统使用一个组别就完全可以满足需要,在使 用一个组别后不要在系统中再改动组别。
5.3.2 中断优先级控制
假定设置中断优先级为组2,然后设置: 中断3(RTC中断)的抢占优先级为2,响应优先级为1。 中断6(外部中断0)的抢占优先级为3,响应优先级为0。 中断7(外部中断1)的抢占优先级为2,响应优先级为0。 求这3个中断的优先级顺序? 上面例子中的中断3和中断7都可以打断中断6 的中断。而中 断7和中断3却不可以相互打断(这是因为他们的抢占优先级 是相同的)。
5.2.3 中断控制器
与NVIC相关的寄存器 在“stm32f10x_map.h” 文件中定义了一个结构 体,结构体的内容如下
STM32F103系列单片机 的中断系统在这些寄存 器的控制下有序执行。 了解这些中断寄存器的 含义,才能更好的理解 STM32单片机中断系统 的工作原理
中断技术
4.中断返回 中断服务程序结束,执行中断返回. ①自动交保存在堆栈中的标志FR,断点(IP,CS)依次 弹出并装入. ②回到中断前的地址开始继续执行.
三,中断源,中断识别,优先级
中断源:发出中断请求的外设或引起中断的内部原因称 为中断源. 中断识别:CPU响应中断后,只知道有中断请求但不知道 是哪一个中断源,寻找中断源的操作过程称为中断识别. 中断识别的目的:形成该中断服务程序的入口地址.
1.中断请求触发方式的设定(ICW1) 功能:设定中断请求的触发方式,是电平触发还是边 没触发. ICW1的格式:
A0 ICW1 0 D7 D6 0 0 D5 0 D4 1 D3 LTIM D2 ADI D1 SNGL D0 IC4
16位无效
特征位电平触发无效 单片使用 需要ICW4
例.若8259A采用电平触发,单片使用,需要ICW4,则 MOV OUT AL,00011011B 20H,AL ;ICW1的内容 ;写入ICW1端口( 11 12 13 14 15 3 4 5 6 7
标准应用
奇偶校验错,I/O检测错中断 定时器OUT0中断 键盘输入中断 接收从片8359A的中断请求INT 实时钟中断 改向INT0AH(以IRQ2出现) 保留 保留 保留 协处理器中断 硬磁盘控制器中断 保留 串行通信(COM2)中断 串行通信(COM1)中断 打印机(LPT2)中断 软磁盘控制器中断 打印机(LPT1)中断
例:PC机,000003FF共1024
03FF 中断 向量表 0BA9 0125 0000 存放256个向量
1024个 单元
2.中断向量指针与中断类型号 什么叫"中断向量指针"? 指出中断向量存放在中断向量表的位置(或地址).
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020/9/27
长江大学地物学院
10
(1)软件查询法
INT “或”
76
210
端口号= XXH
磁磁 盘带
CRT
键打
盘印
把各个外设的中断请求信号“相或”,产生一个总的INT信 号
当CPU响应中断后,进入中断处理程序,在中断处理程序的 开始部分安排一段带有优先级的查询程序。
优点:省硬件
缺点:中断响应慢
2020/9/27
长江大学地物学院
9
四 中断优先级和中断嵌套
1.中断优先级(Priority)的解决方法
系统中多个中断请求可能同时出现,CPU只 能按一定的次序(优先级策略)予以响应和处 理,这个响应的次序称为中断优先级。一般 的方法有:
软件查询法(需要少量硬件) 菊花链(daisy chain)优先级排队电路 可编程中断控制器(如8259)
中断处理就是指CPU执行中断服务程序;
执行完中断服务程序后,返回到原先被中断的程序称为“中断返回”。
为了能正确返回到原来程序被中断的地方(也称断点-即主程序中当前指 令下面一条指令的地址),在中断服务程序的最后应专门放置一条中断返 回指令。
另外,为了使主程序在返回后仍能从断点处继续执行,还需要在中断服 务程序的开头-保护现场(通过PUSH指令实现),在中断服务程序的末 尾-恢复现场(通过POP指令实现)。
(4N,4N+1)->IP (4N+2,4N+3)->CS
Y 有NMI?
N Y
暂存器=1? N
执行中断服务程序
2020/9/27
执行IRET指令
(弹出CS,IP,FR)
长江大学地物学院
24
8086/8088中断处理流程图
*8086中断优先级(Priority)
说明:
(1)~(5)步是CPU的内部处理(由 硬件自动完成)
程序控制方式:是在CPU的控制下,通过执行 程序指令进行的数据传送方式。又分为“无条 件传送”和“程序查询传送”两种方式。
2020/9/27
长江大学地物学院
2
程序控制方式
无条件传送方式:是在假定外围设备(Peripheral Device)已经准备好的情况下,直接利用输入/输出指令 (IN指令,OUT指令)与外围设备传送数据,而不去检测 外设的工作状态。
2020/9/27
长江大学地物学院
7
三 中断响应和处理过程
对于不同的中断类型(如可屏蔽中断、不 可屏蔽中断;外部中断、内部中断…), 处理器(CPU)进行响应和处理的具体过程 并不完全相同;另外,就是对同一种中 断类型(如可屏蔽中断),不同的处理器 (如Z80,80X86)进行响应和处理的过程 也不尽相同。
高地址的两个字节单元存放中断服务程序入口地址 的段地址(CS)-低字节在前(低地址),高字节在后 (高地址)。
2020/9/27
长江大学地物学院
17
中断向量和中断向量表
8086/8088的中断向量表如书P80图5.1所示。 解释:
8086/8088可以处理256种中断,对每种中断都指定一个中断 类型号(也称中断向量号),每个中断类型号与一个中断服务程 序的入口地址相对应。
2020/9/27
长江大学地物学院
6
二 中断方式
中断请求是指中断源(引起中断的事件或设备)向CPU发出的请求中断的 要求;
中断判优当有多个中断源发出中断请求时,需要通过适当的办法(软件的; 硬件的;软、硬件结合的)决定究竟先处理哪个中断请求,这就是“中断 判优”;
中断响应是指CPU中止现行程序转至中断服务程序的过程;
第五章 中断系统
中断的基本概念 8086/8088的中断系统 可编程中断控制器8259A 8259A在微机系统中的应用
2020/9/27
退出 1
第一节 中断的基本概念
一 CPU与外设之间的数据传送控制方式(即
I/O控制方式),通常有以下三种:
程序控制方式 中断方式 DMA方式(Direct Memory Access)
N
TF=1? N 执行下一条指令
(1)
读中断类型码 响应中断
IF=1? N
(1)
内部自动提供类型码
(2)
FR->栈
(3) TF->暂存器
(4) 0->TF和IF
(5) CS、IP->栈
(4N,4N+1)->IP (4N+2,4N+3)->CS
Y 有NMI?
N Y
暂存器=1? N
执行中断服务程序
2020/9/27
•INTR=INT1+INT2+INT3
中断请求
•当INTA信号沿菊花链行进时,最 靠近CPU并发出INT请求的接口将 首先拦截住INTA信号,并送出中 断类型码,进入相应的中断处理 程序;在服务完成后撤销其请求 (解除对下一级的阻塞和封锁)。
INTA INTR
(3)可编程中断控制器(如8259)
2020/9/27
则:中断服务程序的入口地址 为 CS=4030;IP=2010
入口地址为:43210
(0083H)=40H
2020/9/27
长江大学地物学院
21
中断向量和中断向量表
例3.中断类型号为23(17H),中断服务程序的 入口地址为:2340:7890H,由于中断类型号 17H对应的中断向量存放在0段的 0000:005CH(17H×4=5CH)处,所以有:
将中断分为两大类(如表5.1表5.2所示):
第一类:硬件中断:是由外部的中断请求信 号启动的中断,也称为外部中断。又可分为:
非屏蔽中断NMI:整个系统只有一个,不受IF屏蔽 可屏蔽中断INTR:受IF屏蔽,在中断控制器8259
的统一管理下,可屏蔽中断有几个至几十个。
2020/9/27
长江大学地物学院
2020/9/27
长江大学地物学院
8
三 中断响应和处理过程
中断一般由硬件(处理器内部)和软件(由程序设 计者编写的中断服务程序)共同完成,即整个 中断响应和处理过程是由CPU内部的有关硬件 和中断处理软件密切配合完成的。
针对一个具体的系统(机型),中断服务程序设 计者应该清楚在中断响应时,“硬件”完成了 哪些操作(如FR是否已被压入堆栈),还需要 “软件”(中断服务程序)完成哪些操作。
读取状态信息
读取状态信息
否 准备好?
是 忙?
是
否
输入数据
输出数据
2020/9/27
长江大学地物学院
4
程序控制方式
程序查询传送方式比无条件传送方式要 准确可靠,但在此种方式下,CPU要不断 查询外设的状态,占用了大量CPU时间, 而真正用于数据传送的时间却很少,即 CPU的工作效率很低;另外,采用这种方 式,也很难满足实时系统对I/O处理的要 求。因此,出现了中断控制方式。
2020/9/27
长江大学地物学院
5
二 中断方式
中断定义:在程序运行中,出现了某种紧急事 件,CPU必须中止现行程序,转去处理此紧急 事件(执行中断服务程序),并在处理完毕后再 返回运行程序的过程。
中断的全过程及有关概念:
一个完整的中断过程包括:
中断请求; 中断判优; 中断响应; 中断处理; 中断返回.
IF=1 TF=1
15
中断的分类
(注意,这里的IF是CPU内部的标志寄存器的IF位,IF =0,则对所有从INTR引脚进入的中断请求均不予 响应(“总开关”);另外,也可以在CPU外部的中断 控制器(8259)中以及各个I/O接口电路(如8255)中对 某一级中断或某个中断源单独进行屏蔽)。
第二类:软件中断:是由CPU内部的标志状态 (如TF、OF)或执行一条中断指令(INT n),以及 除数为0引起的中断,也称为内部中断。
执行IRET指令
长江大学地物学院 (弹出CS,IP,FR)
23
结束当前指令
除法错,INT n,INT0?
(1)
Y
读中断类型码
N
响应中断
Y NMI?
N INTR?
N
TF=1? N 执行下一条指令
IF=1? N
(1)
内部自动提供类型码
(2)
FR->栈
(3) TF->暂存器
(4) 0->TF和IF
(5) CS、IP->栈
优点:控制程序简单 缺点:数据传送不可靠
程序查询方式(也称“条件传送”方式)
主要特点:CPU通过执行程序不断读取并检测外设的状态,只 有在外设确实已准备就绪的情况下,才进行数据传送;否则, 还要继续不断地查询外设的状态。
2020/9/27
长江大学地物学院
3
程序控制方式
查询式输入、输出程序流程图
256个中断向量要占256*4=1024个字节单元,地址编号从 00000H~003FFH
5个专用中断(类型0~类型4),它们有固定的定义和处理功能; 27个保留的中断(类型5~类型31)。占0000:0014H~
0000:007FH,共108个字节单元。这个区域供系统使用,不允许 用户自行定义。 224个用户可定义的中断(类型32~类型255)。占 0000:0080H~0000:03FFH单元;使用时,要由用户自行填写相 应的中断入口地址。(其中有些中断类型已经有了固定用途,例 如,类型21H的中断已用作MS-DOS的系统功能调用)。
2020/9/27
长江大学地物学院
16
二 中断向量和中断向量表
中断向量 即中断服务程序的入口地址。
中断向量表是存放中断向量(中断服务程序入 口地址)的一个特定的内存区域(最低地址区).