微机原理与嵌入式接口技术 第5章 中断技术

合集下载

微机原理与接口技术课程教学大纲

微机原理与接口技术课程教学大纲

《微机原理与接口技术》课程教学大纲课程代码:21148050课程名称:微机原理与接口技术课程性质:专业(必修)学分:3.5 学时:72讲课学时:54 实践/实验学时:18适用专业:软件工程(嵌入式应用开发方向)先修课程:电子技术、计算机组成原理一、课程目标《微机原理与接口技术》是软件工程(嵌入式应用开发方向)专业的一门专业限选课程。

该课程内容兼顾硬件和软件两个方面,具有实践性强、涉及知识面广的特点。

要求学生:掌握8086的系统结构;理解8086指令系统;熟练编写汇编语言程序;理解I/O系统;掌握微机的中断技术及中断控制器8259A芯片;了解微机的DMA及DMA 控制器8237A;学会使用可编程接口芯片8253、8255A、8250/8251等;了解Pentium 系列微机的原理及常用总线标准。

通过本课程的学习,使学生掌握微型计算机的特点、工作原理、基本组成与系统结构,使学生具有微机应用系统软件、硬件开发的初步能力。

二、教学内容1. 微型计算机概述教学要求:了解微型计算机的发展;理解微型计算机的组成;掌握微型计算机的硬件系统基本结构;理解并掌握微机的工作原理。

教学内容:微型计算机的发展;Z微型计算机的组成;Z微型计算机的硬件系统结构;ZN微机的工作原理。

2. 8086系统结构教学要求:掌握8086微处理器的结构;掌握8086的存储器分段;掌握8086MPU的总线周期;掌握8086的系统总线形成。

教学内容:Z 8086微处理器的结构及8086的存储器分段技术;Z 8086引脚和功能;8086的总线周期;ZN 8086的时序及8086系统总线形成。

3. 8086指令系统教学要求:了解8086指令基本格式;掌握8086寻址方式;理解并掌握8086不同类型的指令。

教学内容:8086指令基本格式;寻址方式;Z传送类指令;ZN 运算类指令;ZN控制转移类指令。

实验内容:实验一 Debug的使用Debug的R命令查看微型的寄存器;Debug的D命令查看微机的内存的内容;Debug的E命令修改内存的内容;Debug的U命令查看汇编语言和机器语言的对应关系;Debug的A命令、G命令、T命令使用汇编指令,运行汇编程序段。

微机原理与接口技术 复习

微机原理与接口技术 复习

第一部分:基础知识一、选择题1.在下面关于微处理器的叙述中,错误的是( ) 。

A、微处理器是用超大规模集成电路制成的具有运算和控制功能的芯片B、一台计算机的CPU含有1个或多个微处理器C、寄存器由具有特殊用途的部分内存单元组成,是内存的一部分D、不同型号的CPU可能具有不同的机器指令2.若用MB作为PC机主存容量的计量单位,1MB等于( )字节。

A、210个字节B、220个字节C、230个字节D、240个字节3.80X86执行程序时,对存储器进行访问时,物理地址可由()组合产生。

A、SS和IPB、CS和IPC、DS和IPD、CS和BP4.某处理器与内存进行数据交换的外部数据总线为32位,它属于()。

A、8位处理器B、16位处理器C、32位处理器D、64位处理器5.在堆栈操作中,隐含使用的通用寄存器是()。

A、AXB、BXC、SID、SP6.十进制负数–38的八位二进制补码是()A、BB、BC、BD、B7.用8位的二进制数的补码形式表示一个带符号数,它能表示的整数范围是()A、-127—+127B、-128—+128C、-127—+128D、-128—+127 8.标志寄存器FLAGS中存放两类标志,即()。

A、符号标志、溢出标志B、控制标志、状态标志C、方向标志、进位标志D、零标志、奇偶标志9.下列有关指令指针寄存器的说法中,哪一个是正确的()。

A、IP存放当前正在执行的指令在代码段中的偏移地址B、IP存放下一条将要执行的指令在代码段中的偏移地址C、IP存放当前正在执行的指令在存储器中的物理地址D、IP存放当前正在执行的指令在存储器中的段地址10.如果访问存储器时使用BP寻址,则默认的段寄存器是()A、CSB、ESC、DSD、SS二、判断题1.SP的内容可以不指向堆栈的栈顶。

2.寄存器寻址其运算速度较低。

3.计算机的堆栈是一种特殊的数据存储区,数据存取采用先进先出的原则。

4.当运算结果各位全部为零时,标志ZF=0。

微机原理与接口技术教案

微机原理与接口技术教案

微机原理与接口技术教案第一章:微机概述1.1 教学目标了解微机的概念、发展历程和分类。

理解微机系统的基本组成和工作原理。

掌握微机的主要性能指标。

1.2 教学内容微机的概念和发展历程。

微机的分类和特点。

微机系统的基本组成。

微机的工作原理。

微机的主要性能指标。

1.3 教学方法采用讲授法,介绍微机的基本概念和发展历程。

通过案例分析,使学生理解微机的分类和特点。

利用图形和示意图,讲解微机系统的基本组成。

通过实验演示,让学生掌握微机的工作原理。

利用表格和图表,介绍微机的主要性能指标。

1.4 教学资源教材:微机原理与接口技术。

课件:微机原理与接口技术教案PPT。

实验设备:微机实验箱。

1.5 教学评估课堂问答:检查学生对微机概念和发展历程的理解。

课后作业:要求学生绘制微机系统的基本组成示意图。

实验报告:评估学生在实验中对微机工作原理的掌握情况。

第二章:微处理器2.1 教学目标了解微处理器的概念、发展和结构。

理解微处理器的工作原理和性能指标。

掌握微处理器的编程和指令系统。

2.2 教学内容微处理器的概念和发展。

微处理器的结构和组成。

微处理器的工作原理。

微处理器的性能指标。

微处理器的编程和指令系统。

2.3 教学方法采用讲授法,介绍微处理器的概念和发展。

通过实物展示,使学生理解微处理器的结构。

利用仿真软件,讲解微处理器的工作原理。

通过编程实例,让学生掌握微处理器的编程和指令系统。

2.4 教学资源教材:微机原理与接口技术。

课件:微机原理与接口技术教案PPT。

实验设备:微机实验箱。

仿真软件:汇编语言编程工具。

2.5 教学评估课堂问答:检查学生对微处理器概念和发展的理解。

课后作业:要求学生编写简单的汇编语言程序。

实验报告:评估学生在实验中对微处理器工作原理的掌握情况。

第三章:存储器3.1 教学目标了解存储器的概念、分类和性能。

理解存储器的工作原理和扩展方式。

掌握存储器的接口技术和应用。

3.2 教学内容存储器的概念和分类。

存储器的工作原理。

微机原理及单片机应用技术-中断

微机原理及单片机应用技术-中断

STM32F103中指定中断优先级的寄存器位有4位,这4位的分组方式 如下:
设置优先级分组可调用库函数 NVIC_PriorityGroupConfig(),在 misc.c可以查看。
9.2 中断配置步骤
要使用中断我们就需要先配置它,通常都需经过这几步:
(1)使能外设某个中断
(2)设置中断优先级分组,初始化 NVIC_InitTypeDef 结构体
//EXTI4 NVIC 配置 NVIC_InitStructure.NVIC_IRQChannel = EXTI4_IRQn;//EXTI4 中断通道 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;// 抢占优先级 NVIC_InitStructure.NVIC_IRQChannelSubPriority =0; //子优先级 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道使能
//EXTI0 NVIC 配置 NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;//EXTI0 中断通道 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;// 抢占优先级 NVIC_InitStructure.NVIC_IRQChannelSubPriority =3; //子优先级 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道使能 NVIC_Init(&NVIC_InitStructure); //根据指定的参数初始化 VIC 寄存器 //EXTI2 NVIC 配置 NVIC_InitStructure.NVIC_IRQChannel = EXTI2_IRQn;//EXTI2 中断通道 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;// 抢占优先级 NVIC_InitStructure.NVIC_IRQChannelSubPriority =2; //子优先级 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道使能 NVIC_Init(&NVIC_InitStructure); //根据指定的参数初始化 VIC 寄存器 //EXTI3 NVIC 配置 NVIC_InitStructure.NVIC_IRQChannel = EXTI3_IRQn;//EXTI3 中断通道 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=2;// 抢占优先级 NVIC_InitStructure.NVIC_IRQChannelSubPriority =1; //子优先级 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE; //IRQ通道使能 NVIC_Init(&NVIC_InitStructure); //根据指定的参数初始化 VIC 寄存器

微机原理与嵌入式接口技术 第5章 中断技术

微机原理与嵌入式接口技术 第5章 中断技术

第5章 中断技术
STM32 的中断功能主要由 NVIC完成, 图 5.2 是 STM32 的 EXTI(外部中断/ 事件)控制器框图, 在后续 内容中将对STM32 外部中断/ 事件控制器进行详细讲解。
第5章 中断技术
图 5.2 外部中断/ 事件控制器框图
第5章 中断技术
5.2 中断源及其管理
第5章 中断技术
5. 事件与中断 图 5.2 的两个虚线箭头把一个相同的外部激励信号分为 两路, 上面一路信号向 CUP 产生中断请求, 而下面一路信 号经过事件屏蔽寄存器后被脉冲发生器转换成了一个单脉冲, 作为“事件”输出到芯片中的其他功能模块。 上面的中断 需要 CUP 参与, 需要执行软件中断服务程序才能得到预期 的中断结果。
第5章 中断技术
5.1 中断系统概述
1. 中断的请求—响应工作机制 为保证快速响应各种随机事件, CUP 通常在每条指令 执行结束时, 都会查询是否有中断请求, 并根据相应的中 断请求编号调用预先编写好的中断服务子程序。 由于计算 机运行速度非常快, 在宏观上形成了“请求—响应”的中 断工作机制, 如图 5.1 所示。
5.2.1 中断源的分类 最初的中断技术是作为处理器与外设交换信息的一种控
制方式而提出的, 中断全部来自外设, 称为外部中断或硬 件中断。
第5章 中断技术
1. 硬中断 硬中断(外中断)是由外部电路在 CUP 引脚上产生的 中断请求。 根据 CUP 的不同, 这样的请求信号可以是电平 信号, 也可以是脉冲信号。 CUP 收到这样的信号, 就知道 有外部的中断请求到来, 准备开始一个新的中断过程。 连 接到 CUP 的硬中断源可以不止一个, 这取决于 CUP 有多 少个可以接受硬中断请求的引脚。

微机原理与接口技术:中断处理的基本过程

微机原理与接口技术:中断处理的基本过程
15
5. 中断返回
返回到原程序的断点处,恢复硬件现场,继续执行原程序。中断返回 操作是中断响应操作的逆过程。
16
12ห้องสมุดไป่ตู้
中断控制器判优 中断控制器,如Intel8259A,可以以多种方式设置中断源的中断优先级。 中断控制器中有一个中断优先级判别器,它自动判别出目前提出中断请求 的优先级最高的中断源,并将它的中断向量码送到数据总线,CPU接收中 断向量码并据此找到它的中断服务程序。
13
3. 中断响应
经过中断判优,中断处理就进入中断响应阶段。中断响应时,CPU向中断 源发出中断响应信号,同时: ① 保护硬件现场; ② 关中断; ③ 保护断点; ④ 获得中断服务程序的入口地址。
14
4. 中断服务
中断服务程序的一般结构为: (1)保护现场。在中断服务程序的起始部分安排若干条入栈指令,将各 寄存器的内容压入堆栈保存。 (2)开中断。在中断服务程序执行期间允许级别更高的中断请求中断现 行的中断服务程序,实现中断嵌套。 (3)中断服务。完成中断源的具体要求。 (4)恢复现场。中断服务程序结束前,必须恢复主程序的中断现场。通 常是将保存在堆栈中的现场信息弹出到原来的寄存器中。 (5)中断返回。返回到原程序的断点处,继续执行原程序。
菊花链判优电路 CPU收到中断请求,如果允许中断,CPU发出中断响应信号。中断响应信 号首先到达菊花链的前端,如果中断源1提出了中断请求,它就会截获中 断响应信号,封锁它,使它不能向下一个中断源传送。不论下面的中断源 有没有提出中断请求,都不可能接收到中断响应信号,因此它们的中断请 求也不能被响应。
. A2
. A3
. . A4
。 A5
A6
&
I5

微机原理及应用第五章8259

微机原理及应用第五章8259


1=置屏蔽
0=复位屏蔽
第5章 输入/输出技术
2. OCW2
A0
(中断结束和优先权循环控制字) 0
D7 D6 D5 D4 D3 D2 D1 D0
R SL EOI 0 0 L2 L1 L0
R:中断优先权是否循环 0:优先级固定,IR0最高,IR7最低。 1:优先级左循环,当前刚被服务的中断源 轮为最低优先级。
第5章 输入/输出技术
●中断触发方式 ⑴ 边沿触发方式
引脚IRX上出现上升沿表示有中断请求。 ⑵ 电平触发方式
引脚IRX上出现高电平表示有中断请求。高电平应维持到中 断响应的第1个INTA负脉冲结束之前。一旦该响应脉冲结束, 高电平也应撤消,以防止产生该电平的第二次响应。
无论哪种触发方式,若高电平持续时间很短,则8259将自 动规定该中断由IR7进入。
第5章 输入/输出技术
A0
D7 D6 D5 D4 D3 D2 D1 D0
0
A7 A6 A5
1 LTIM ADI SNGL IS4

0 0 0 ICW1
0
地 址
识 别

1=需要ICW4 0=不需要ICW4 1=单片 0=级联
调用地址间隔:
1=间隔为4,80X86中不用
0=间隔为8
1=电平触发
例:设8259端口地址20H、21H
仅当ICW1中D1为0才需写ICW3 .
第5章 输入/输出技术
主片 A0
D7 D6 D5 D4 D3 D2 D1 D0
1
S7 S6 S5 S4 S3 S2 S1 S0
奇 地 址 从片 A0 1
对应每位Di表示IRi中断请求线上有无从片 1:有 0:无

中断-微型计算机原理及应用.PPT

中断-微型计算机原理及应用.PPT
如果所到达的中断源已请求中断 , 则中断响 应信号被截获 , 不再往下传 。截获了 信号的中 断源通过接口电路经数据总线向CPU提供一个中 断类型码 , 不同的中断源提供的类型码不同, CPU根据为类型码就能转向相应的中断服务程序

菊花链方式具有中断响应速度快的优点 ,缺点是 各中断源的优先级因硬件连接固定而不易修改 。
② 中断控制专用硬件方式
③ 图5 .4所示是一个典型的向量中断优先控制器原理框
④ ⑤ ⑥ ⑦ ⑧
2 、 中断的多级嵌套
CPU总是首先响应优先级最高的中断 请求 。当CPU正在执行优先级别较低的中 断服务程序时 , 允许响应优先级别高的中 断源的中断请求 , 中止起正在处理的中断 , 这就是中断嵌套和称多重中断 。此时 , CPU暂停正在执行着的级别较低的中断服 务程序 , 为优先级别高的中断源服务 , 待 优先权高的中断服务结束后 , 再返回到刚 才被中断的那一级 , 继续为它进行中断服 务 。直至处理结束返回主程序 , 如图5.5 所示。
软件中断是CPU处理某些内部事件时引起的中断 , 软件中断也叫内部中断。
5.2.2 中断向量和中断向量表
中断向量是中断服务程序的入口地址 ,每 一个中断服务程序都有一个唯一确定的入口地 址 , 即中断向量 。把系统中的全部中断向量集 中存放到存储器的某一 区域内 ,这个存放中断 向量的存储区就叫中断向量表 , 即中断服务程 序入口地址表。
图5.3所示是菊花链法的原线
接口1
接口2
接口3
菊花链 逻辑电

菊花链 逻辑电

菊花链 逻辑电

INTA INTR
_____
图5 3 菊花链优先级查询示意图
当外设通过接口和中断请求电路向CPU发出 中断申请号INTR , 并且满足中断响应条件时, CPU在执行完当前指令后便发出中断响应信号 , 该响应信号在所有中断源形成的链形结构中逐级 传送 ,位于链首的1#设备首先得到响应。

《微机原理与汇编语言》中断系统资料精品PPT课件

《微机原理与汇编语言》中断系统资料精品PPT课件

返回
上一张
下一张
44
1、中断允许控制寄存器IE
AFH AEH ADH ACH ABH AAH A9H A8H
IE EA (A8H)
ES ET1 EX1 ET0 EX0
返回
上一张
下一张
45
2、中断允许寄存器IE中各位的含义。
①EA—中断允许总控制位。 EA=0,屏蔽所有的中断请求; EA=1,CPU开放中断。对各中断源的中断 请求是否允许,还要取决于各中断 源的中断允许控制位的状态。这就 是所谓的两级控制。
22
上一张
下一张
23
二、中断技术实现的功能
• 1、分时操作 • 2、实时处理 • 3、故障处理
返回
上一张
下一张
24
1、分时操作
• 计算机的中断系统可以使CPU与外设同时 工作。
• CPU在启动外设后,便继续执行主程序; 而外设被启动后,开始进行准备工作。当 外设准备就绪时,就向CPU发出中断请求, CPU响应该中断请求并为其服务完毕后, 返回原来的断点处继续运行主程序。外设 在得到服务后,也继续进行自己的工作。
上一张
下一张
50
2、中断允许寄存器IE中各位的含义。
⑥EX0—外部中断0的溢出中断允许位。 EX0=0,禁止外部中断0中断; EX0=1,允许外部中断0中断。
返回
上一张
下一张
51
例5-1
假设允许片内定时器/计数器中断,禁止其他中断。试 根据假设条件设置IE的相应值。
解:(IE)=10001010B=8AH
返回
上一张
下一张
18
八、中断方式的特点
• 1、中断方式消除了CPU在查询方式中的等待 现象,大大提高了CPU的工作效率。

微机原理中断技术

微机原理中断技术

(2) 溢出中断INTO(中断类型号为4)。CPU进行带符号数的算 术运算时,若发生了溢出,则标志位OF=1,若此时执行INTO 指令,会产生溢出中断,打印出一个错误信息,结束时不返回, 而 把 控 制 权 交 给 操 作 系 统 。 若 OF=0 , 则 INTO 不 产 生 中 断 , CPU继续执行下一条指令。INTO指令通常安排在算术指令之后, 以便在溢出时能及时处理。例如:
ADD AX,BX
INTO
;测试加法的溢出
2) 为调试程序设置的中断
(1) 单步中断(中断类型号为1)。当TF=1时,每执行一条指令, CPU会自动产生一个单步中断。单步中断可一条一条指令地跟踪 程序流程,观察各个寄存器及存储单元内容的变化,帮助分析错 误原因。单步中断又称为陷阱中断,主要用于程序调试。
“ 1” 1#中 断 请 求
应 答 1# 2#中 断 请 求
响应 &
IN T &
&
&
应 答 2#
3#中 断 请 求
&
&
应 答 3#
图7.15 链式中断优先级电路
上述两种方法虽然可以解决中断优先级控制问题,但实现 起来在硬件和软件上都要做大量的工作,十分麻烦。目前,最 方便的办法就是利用厂家提供的可编程中断控制器,这样的器 件在各种微机中得到普遍应用。本章后面将介绍广泛应用于 80x86微机系统中的专用可编程中断控制芯片8259A。
IN AL,n
TEST AL,80H ;1号外设有请求?
JNZ II1
;有,转1号中断服务程序
TEST
AL,40H ;2号外设有请求?
JNZ II2
;有,转2号中断服务程序
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第5章 中断技术
2. 软中断 软中断不是由外部电路产生的, 是在 CUP 执行程序过 程中产生的中断请求。 软中断可以由一条软中断指令产生, 也可以是程序运行出现某种问题而导致的, 由于来自 CUP 内部, 也称为内部中断或内部异常。
第5章 中断技术
外部中断和内部中断的区别在于, 外部中断请求信号 来自 CM3 内核的外面, 来自各种片上外设和外扩的外设, 产生时刻与 CM3 的工作时钟是异步的, 在 CM3 中它们被 称为“中断”; 而内部中断则是因 CM3 内核的活动产生的, 即在执行指令或访问存储器时产生的,因此对 CM3 来说是 同步的, 在 CM3 中它们被称为“异常”。 在 STM32 中, 把所有能打断正常执行流的事件都称为异常, 不细致地区 别到底是外部中断还是内部异常。 如不加说明, 则强调的 都是它们对主程序所体现出来的中断性质。
第5章 中断技术
2. 外部中断源的屏蔽 中断系统通过中断允许/ 屏蔽功能决定响应哪些中断 请求, 或不响应哪些请求。 一般来说, 中断允许/ 屏蔽功 能分多级实现。 如图 5.2 所示, EXTI 的中断屏蔽寄存器 (EXTI_IMR)在每个 EXTI 的输入线上, 通过一个与门 来控制是否屏蔽某个具体的外部中断, 决定某个外部中断 是否能通过 EXTI 向 CM3 内核的 NVIC 发出中断请求。
第5章 中断技术
第5章 中断技术
第5章 中断技术
5.2.3 STM32 中断源的输入管理 1. 外部中断的请求与挂起 外部设备可以电平或脉冲方式发出中断请求。 电平触
发的中断在得到响应后, 还需要撤销外部设备请求电平, 这种方式下外部中断源的电路较复杂。 因而 STM32 不接收 电平触发信号。
第5章 中断技术
5.1 中断系统概述
1. 中断的请求—响应工作机制 为保证快速响应各种随机事件, CUP 通常在每条指令 执行结束时, 都会查询是否有中断请求, 并根据相应的中 断请求编号调用预先编写好的中断服务子程序。 由于计算 机运行速度非常快, 在宏观上形成了“请求—响应”的中 断工作机制, 如图 5.1 示。
第5章 中断技术
作为一款应用于高实时场合的 MCU, STM32 的外部 中断(EXTI)资源是十分丰富的,它的每一个 GPIO 引脚 都可以设置成一个中断源, 这也是 STM32 的强大之处。 不过 80 个外部中断源似乎又太多了, 为此 STM32 引入了 中断线(中断通道)的概念。 如图 5.3 所示,STM32 的 80 个通用 I/O 端口中断源连接到 CM3 内核 16 个中断通道上。
第5章 中断技术
5.2.2 STM32 的中断源 CM3 内核共支持 256 个中断/ 异常源, 其中外部中断 最多 240 个。 系统异常是 CM3 内核支持的基本异常, 与 具体的芯片无关, 而外部中断则是与芯片相关的。 芯片厂 商会根据需要和用途设计中断源数目(1~240), STM32 目前支持的中断共 84 个(16 个内部+68 个外部), 而同 样内核的NXP公司的 lPC1700 系列支持 35 个外部中断。 表 5.1 列出了 STM32的中断源, 表格最后有阴影的部分表示 的是外部中断。
5.2.1 中断源的分类 最初的中断技术是作为处理器与外设交换信息的一种控
制方式而提出的, 中断全部来自外设, 称为外部中断或硬 件中断。
第5章 中断技术
1. 硬中断 硬中断(外中断)是由外部电路在 CUP 引脚上产生的 中断请求。 根据 CUP 的不同, 这样的请求信号可以是电平 信号, 也可以是脉冲信号。 CUP 收到这样的信号, 就知道 有外部的中断请求到来, 准备开始一个新的中断过程。 连 接到 CUP 的硬中断源可以不止一个, 这取决于 CUP 有多 少个可以接受硬中断请求的引脚。
第5章 中断技术
第5章 中断技术
5.1 中断系统概述 5.2 中断源及其管理 5.3 中断优先级 5.4 中断服务程序与中断向量表 5.5 中断的处理过程 5.6 中断延迟及其改善 5.7 STM32中断应用 组习题5
第5章 中断技术
本章要点 ☆ 中断的基本概念 ☆ 中断的处理过程 ☆ 嵌套向量中断控制器(NVIC)的功能 ☆ 中断嵌套、 咬尾中断、 晚到异常
第5章 中断技术
图 5.3 STM32 外部中断通用 I/O 映像
第5章 中断技术
在 STM32 中, 中断服务程序和中断通道相对应, 这 样连在同一个通道上的不同中断源都会调用相同的中断服务 程序, 必须在中断服务程序中查询中断源的状态, 明确具 体的中断来源, 以执行与该中断源对应的程序代码, 确保 服务与中断源的一一对应关系。
第5章 中断技术
STM32 的中断功能主要由 NVIC完成, 图 5.2 是 STM32 的 EXTI(外部中断/ 事件)控制器框图, 在后续 内容中将对STM32 外部中断/ 事件控制器进行详细讲解。
第5章 中断技术
图 5.2 外部中断/ 事件控制器框图
第5章 中断技术
5.2 中断源及其管理
第5章 中断技术
对于 STM32 的外部中断来说, 当发生了选择的触发请 求时, 图 5.2 中的请求挂起寄存器(EXTI_PR)对应位会 置 1, 完成对外部中断挂起功能。 还可以对软件中断事件 寄存器(EXTI_SWIER)写 1, 设置 EXTI_PR 中相应的 挂起位, 产生一个软的外部中断。 在中断服务程序中, 应 该通过对 EXTI_PR 的对应位写 1, 清除中断源触发产生的 中断挂起位, 避免CUP 重复响应同一个中断请求。
第5章 中断技术
图 5.1 中断系统功能结构示意图
第5章 中断技术
2. 中断的管理 在“请求—响应”机制下, 必须对众多的中断来源实 施管理, 决定中断源是否有权请求以及有效的请求方式。 还要考虑到中断是用来处理各种随机事件, 那么这些事件 可能先后产生, 也可能同时产生, 另外事件的轻重缓急不 同, 而 CUP 在同一时间只能响应其中一个请求, 各中断来 源之间必然存在竞争关系, 要依靠优先级管理来协调好这 种竞争关系, 这是中断系统需要解决的核心问题之一。 最 后, 必须为“请求”寻找到正确的服务程序地址,使其能 得到正确的“响应”。
相关文档
最新文档