第六章 中断系统原理与应用
微机原理第6章 中断系统.ppt

不可屏蔽中断
•中断分类图
• 含义:不能用软件来控制是否允许中断的 一种外部中断。 • 常见NMI中断有: (1)电源掉电 (2)存储器检验出错 (3)总线奇偶错等。
可屏蔽中断
•中断分类图
• 含义:可用软件控制是否允许中断的外部 中断。即STI使IF=1,允许中断;CLI使 IF=0,禁止中断。
• 常见INTR中断有: 所有外部设备中断如键盘、鼠标、打印机、 显示器、声卡、CD-ROM等
• 示意图
6.2 可编程中断控制器8259A
• 基本情况:
(1)8位可编程中断控制器,又称优先级控制器 (2)处理8级向量优先级中断 (3)具有单一+5V供电 (4)8259A芯片级联组成强大的中断管理系统(多至
64级外部中断)。 (5)优先级方式可编程 (6)多级中断管理
• 主要内容
一、内部结构及工作原理 二、引脚信号 三、工作方式 四、编程方法
(2)求中断服务程序所在段的段基地址
段选择子为 :0013H=0000 0000 0001 0 011 B TI=0,段描述符在GDT中,RPL=11为普通用户程序请求, 索引值 =0000 0000 0001 0 B 所以中断描述符描述的中断服务程序所在段描述符在GDT中的位置 为: 索引值×8+GDT首地址=
0000 0000 0001 0000B+00500000H=00500010H 因此,段描述符为:39 18 40 42 34 00 00 96 H 段基地址=39423400H
(3)合成物理地址
服务程序入口地址=对应段的段基地址+偏移地址
=39423400H+00422012H=39845412H
解:
《单片机原理及应用》第6章 51单片机中断系统应用基础

• 姜志海 王蕾 姜沛勋 编著
• 电子工业出版社
第6章 51单片机中断系统应用基础
• 本章主要介绍中断系统的应用。 • 包括:
6.1 中断结构与控制 6.2 中断优先级与中断子程序 6.3 外部中断应用举例 6.4 实验与设计
6.1 中断结构与控制
5个中断源
• 外部中断:外部中断0 /INT0
6.2 中断优先级与中断子程序
• 优先级排列如下(从高到低): 外部中断0 定时器/计数器0溢出 外部中断1 定时器/计数器1溢出 串行口中断
6.3 外部中断应用示例
• 51单片机提供了2个外部中断源 : • 外部中断0请求,占用P3.2引脚,其中断请求号为0 • 外部中断1请求,占用P3.3引脚,其中断请求号为2 • 外部中断源的初始化时通过设置相应的特殊功能寄
注意:
和例题5-6的区别
修改:
(1)按3下S0,P1口的发光状态发生反转 (2)按一下,灯变为闪烁,按一下,灯全亮。
【例6-2】当S0动作时,P1.0端口的电平反向,当外S1 动作,P1.7端口的电平反向
• 修改:
• (1)S0控制P1.0—P1.3的灯,S1控制P1.4—P1.7的灯 。
• (2)按下S0后,点亮8只LED;按下S1后,变为闪烁状 态。
(3)IE寄存器中的EA、EX0、EX1位
• EA为中断允许总控制位;EX0、EX1为外 部中断0中断和外部中断1中断的中断允 许位。如:
• SETB EA;开放总的中断控制 • SETB EX0;允许外部中断0中断 • CLR EX1;禁止外部中断1中断
【例6-1】初始状态时低4位灯亮,高4位的灯灭,编程 实现按一下S0,P1口的发光状态发生反转。
微微型计算机原理及应用课件第六章中断

NMI——非屏蔽中断请求,上升沿有效,任何时候CPU 都要响应此中断请求信号。
3
为何计算机中要引入中断?
提高数据传输率; 避免了CPU不断检测外设状态的过程,提
高了CPU的利用率。 实现对特殊事件的实时响应。如多任务系
中断优先级的控制方法
硬件判优——链式判优、并行判优(中断向量法) 软件判优——顺序查询中断请求,先查询的先服务(即先查询的优
先级别高)
通常将中断判优与中断源识别合并在一起进行处理。
x86系统中,这项任务由PIC和CPU共同完成。
9
链式判优电路原理图
CPU
INTA
外设1
外设2
外设3
外设接口1
外设接口2
外设接口3
中断确认
IREQ 中断确认
IREQ 中断确认
IREQ
INTAin
菊花链 逻辑电路
INTAin
菊花链 逻辑电路
INTAin
菊花链 逻辑电路
INTR
≥1
┇
10
菊花链逻辑电路
三态门
DB
当有两个设备同时发 中断请求时,最 接近CPU的接口 先得到中断相应 INTA
E
中断确认
&
=1
INTAin
主要是保证中断结束后能返回被中断的程序。 获得中断服务程序首地址(入口)。
如何得到中断处理程序的首地址? 固定入口法 中断向量法——常用
13
4)中断处理(中断服务)
中断服务子程序特点
为”远”过程(类型为FAR) 要用IRET指令返回
中断服务子程序要做的工作
单片机原理及应用课件(陈林林)第6章 mcs-51单片机中断系统1rev

IE0/IE1:外部中断申请标志位:
=0:没有外部中断申请;
=1:有外部中断申请,CPU响应后自动清零???。
2021/7/13
12
⑤ IT1 —— 外中断触发方式控制位 IT1=1,边沿触发方式,即P3.3出现下跳边 脉冲有效; IT1=0,电平触发方式,低电平有效。
⑥ IT0 —— 外中断触发方式控制位 其意义和功能与IT1相似。
⑥ ES —— 串行口中断(包括串发、串收)允许控制位 ES=1,串行口开中;ES=0,串行口关中。
说明: 80C51对中断实行两级控制,总控制位是EA,每
一中断源还有各自的控制021/7/13
19
例如:要使INT0开中(其余关中),可执行下列指令: MOV IE,#1000000lB ; 或者: SETB EA ; SETB EX0 ;
28
优先级状态触发器
• 由软件可改变各中断源的中断优先级。 • MCS- 51的中断系统有两个不可寻址的“优先级状
IE D7 D6 D5 D4 D3 D2 D1 D0
位名称 EA — — ES ET1 EX1 ET0 EX0
位地址 AFH — — ACH ABH AAH A9H A8H
中断源 CPU — — 串行 T1
T0
口
中断允许控制寄存器IE
2021/7/13
20
注意:改变IE的内容,可由位操作指令来实现,即:
• CPU响应中断请求并进行相应处理的过程 叫中断服务;
• 处理完中断事件后,再回到原来被中断的 地方(即断点),称为中断返回;
• 实现从产生中断请求、进行中断服务并返 回断点等一系列功能的部件称为中断系统。
2021/7/13
4
单片机原理及应用第6章中断及其应用

中断向量表
概念
中断向量表是储存中断服务程序入口地址的表格。
作用
当CPU接收到一个中断请求时,会取得中断类型号并在中断向量表中查找对应的中断服务程 序。
修改
中断向量表可以在启动时初始化,或在程序运行时动态修改。
中断嵌套与优先级
中断嵌套:
当一个中断服务程序正在执行时,另一个中断请求到达,CPU会先保存当前中断程序现场,然后执行新的中断 服务程序。在新的中断服务程序处理结束后,CPU会回到原先的中断程序执行。
软件中断
由程序内部的语句产生,例如循环中的延时。
中断的原理
中断的触发过程分为3个阶段:
1
中断请求
外设产生中断请求,将中断请求信号发送至CPU。
2
中断响应
CPU响应中断请求,自动保存当前执行的指令以便中断结束后恢复执行位置。CPU根据 中断向量表找到对应的中断服务程序。
3
中断处理
执行中断服务程序,完成对中断事件的处理。处理完成后,CPU恢复之前的执行状态继 续运行。
提升中断性能的方法:
优化中断服务程序、提高中断优先级、减少中断信号等。
硬件优化
优化硬件设计可以提高中断性能,例如修改中断控制 器的时钟频率。
软件优化
优化程序设计可以提高中断的响应速度,例如选择更 高效的算法或数据结构。
中断优先级:
中断优先级越高,中断服务程序的响应时间越短。CPU可以通过中断优先级寄存器确定中断的优先级。
中断应用
定时器中断:
应用于定时器、计数器等模块,在一定时间间隔触发中断,并进行相应的操作。
外部中断:ຫໍສະໝຸດ 应用于按键、传感器等外部设备,引发中断事件进行响应。
串口中断:
单片机原理与应用技术(第二版) 第6章

中断与子程序有着本质的区别,虽然它们都是停止当前 程序去执行另一程序,然后返回继续执行原程序。但是,中 断是随机发生的,而子程序是预先安排好的。用前面所举的 “看书接电话”的例子:“中断”方式接电话时,看书人预 先并不知道看到哪一页电话铃会响;“子程序”方式接电话, 则意味看书人看到某一页(如p32)时,电话铃一定响。显然, 中断方式比子程序更容易处理这类突发事件。
中断技术是计算机技术的一次飞跃。处理中断的能力也 在一定程度上反映了计算机能力的强弱。中断技术具有以下 主要优点:
(1) 提高了CPU的工作效率。中断可以解决快速的CPU与 慢速的外设之间的矛盾。CPU在启动外设工作后继续执行主 程序,同时外设也在工作。每当外设做完一件事就向CPU发 出中断申请,CPU停止它正在执行的程序,转去执行给外设 布置任务的程序(一般情况是处理输入/输出数据),布置完之 后CPU恢复主程序的执行,外设也继续工作。用这样的方式, CPU还可启动多个外设同时工作,大大地提高了CPU的效率。
(4) 故障处理。针对难以预料的情况或故障,如掉电、 存储出错、运算溢出等,可通过中断系统由故障源向CPU发 出中断请求,再由CPU转到相应的故障处理程序进行处理。
6.2 中断系统的结构
基本型MCS-51系列单片机中的中断系统属于8位单片机 中功能较强的一种中断系统,它可以提供5个中断源,每个 中断源有两个中断优先级别可供选择,可实现两级中断服务 程序嵌套。此外,所有中断均可由软件设定为允许中断或禁 止中断,也就是说,用户可以用关中断指令(或复位)来屏蔽 所有的中断请求,也可以用开中断指令使CPU接受中断请求。 MCS-51单片机的中断系统结构示意图如图6.2所示。
键盘、打印机、AD转换器等处理速率较慢的外部设备 一般都是采用中断方式工作的。
(计算机原理)第六章中断系统

通过屏蔽中断信号,暂时禁止中断请求的响应。
中断开启
允许中断请求的响应,使中断处理程序能被执行。
中断的应用实例
交通信号灯
通过中断控制实现不同道路的 交替通行。
医疗设备
实时监测患者生命体征,及时 采取救治措施。
自动化制造
确保生产线的平稳运行和安全 性。
DMA技术及其与中断的关系
介绍Direct Memory Access(DMA)技术以及它与中断系统的关系,如DMA控制器和通道、DMA传输过 程和运作方式。
(计算机原理)第六章中断 系统
中断系统在计算机中的作用、中断的分类和优先级以及中断控制器的功能和 种类。
中断处理过程和中断向量表
1
中断请求
硬件或软件发出请求,暂停当前指令的运行。
2
中断响应
系统保存当前状态,并执行中断处理程序。
3
中断向量表
存储中断号与中断处理程序入口地址的对应关系。
中断屏蔽和开启
中断嵌套和多级中断系统
1 中断嵌套
处理一个中断请求时,同时发生其他优先级更高的中断请求。
2 多级中断系统
根据中断优先级分为多个级别,确保高优先级中断能被及时处理。
中断系统的优化和调试
优化
• 减少中断服务程序的执行时间 • 优化中断处理程序的顺序 • 选择合适的中断响应策略
调试
• 分析中断响应事件的时序 • 检查中断向量表的正确性 • 跟踪中断处理程序的执行路径
软件中断和硬件中断的区别
软件中断 由程序主动发起 用于特定编程任务 只能在程序中调用
硬件中断 由硬件设备触发 用于处理外部事件和设备 由硬件设备自动Байду номын сангаас发
中断系统及应用 PPT

CPU响应中断,就是CPU要去执行相应的中断服务程序,其响应过程是CPU将现执行程序的指令 地址压入堆栈,跳转到中断服务程序入口地址,中断服务程序的入口地址就是中断向量,这个中 断向量用2个16位寄存器存放。入口地址是22位的,地址的低16位保存在该向量的低16位;地址 的高16位则保存在它的高6位,更高的10位保留。
CPU级使能可屏蔽中断采纳CPU中断使能寄存器(IER)依然中断调试使能寄存器(DBGIER)与中 断处理方式有关。标准处理模式下,不使用中断调试使能寄存器(DBGIER)。只有当F28335使用 实时调试(Real-time Debug)且CPU被停止(Halt)时,才使用中断调试使能寄存器(DBGIER),此时 INTM不起作用。假如F28335使用实时调试而CPU仍然工作运行,则采纳标准的中断处理。
中断向量表
INT1、1 INT1、2 INT1、3 INT1、4 INT1、5 INT1、6 INT1、7 INT1、8
PIE 组2 向量-复用CPU的INT2中断
32 0x0000 0D40
2
SEQ1INT(ADC)
5
33 0x0000 0D42
2
SEQ2INT(ADC)
单片机原理与应用课件 中断与中断系统

§6-1 中断与中断系统的中断请求、中断判优、中断响应、中断处理和中断 一个完整的中断过程应该包括:中断请求、中断判优、中断响应、 返回。 返回。 首先中断源提出中断申请,在该中断允许的情况下,CPU首先响应优先级别高的中 首先中断源提出中断申请,在该中断允许的情况下,CPU首先响应优先级别高的中 断源提出的中断请求, 断源提出的中断请求,等处理完高优先级中断源的中断服务程序后再响应较低优先级别 的中断请求;CPU暂停现行程序 , 将 PC中下一条指令的地址入栈保护起来 , 响应中断 的中断请求; CPU暂停现行程序 暂停现行程序, PC中下一条指令的地址入栈保护起来 中下一条指令的地址入栈保护起来, 请求,进入中断服务程序;中断服务程序首先保护现场, 请求,进入中断服务程序;中断服务程序首先保护现场,接着执行中断源服务程序主体 部分,然后恢复现场,最后返回主程序。 部分,然后恢复现场,最后返回主程序。
§6-1 中断与中断系统的基本概念 §6-2 MCS-51单片机中断系统的结构及中断控制 单片机中断系统的结构及中断控制 §6-3 中断应用举例
§6-1 中断与中断系统的基本概念
一、中断的概念 CPU正在正常运行时 外部发生的某一随机事件请求CPU去处理,于是CPU 正在正常运行时, CPU去处理 CPU暂 当CPU正在正常运行时,外部发生的某一随机事件请求CPU去处理,于是CPU暂 时中止现行程序的运行而处理所发生的事件,处理完毕后, 时中止现行程序的运行而处理所发生的事件,处理完毕后,再回到原来被中止的 地方继续执行,这种能力和行为称为中断 中断。 地方继续执行,这种能力和行为称为中断。 中断的技术名词: 中断的技术名词: 中断系统—实现中断功能的部件 中断系统 实现中断功能的部件 中断源—产生中断请求的事件 中断源 产生中断请求的事件 中断请求—中断源向CPU提出的处理请求 中断源向CPU 中断请求 中断源向CPU提出的处理请求 中断响应过程—CPU暂时中止程序, CPU暂时中止程序 中断响应过程 CPU暂时中止程序,执行中断处理 中断服务—对事件处理的整个过程 中断服务 对事件处理的整个过程 中断返回—中断处理完毕 CPU返回原程序继续执行 中断处理完毕, 中断返回 中断处理完毕,CPU返回原程序继续执行 中断子程序—响应中断之后执行的子程序 中断子程序 响应中断之后执行的子程序
单片机中的中断系统原理与应用技术

单片机中的中断系统原理与应用技术中断系统是单片机中非常重要的一部分,它为单片机提供了有效的处理外部事件的机制。
本文将介绍中断系统的原理、分类以及在单片机应用中的技术。
一、中断系统原理1. 中断概念中断是指在程序执行过程中,由于某个特定事件的发生,导致CPU暂时停止正在执行的程序,转而处理发生的中断事件。
中断事件可以是外部事件,如按键操作、定时器溢出等; 也可以是内部事件,如错误检测等。
2. 中断系统的作用中断系统的作用是提高系统的响应速度和处理能力。
当处理器空闲或执行低优先级任务时,中断系统可以迅速响应外部事件,不需要等待主程序的执行完成。
3. 中断系统的组成中断系统由中断源、中断请求、中断嵌套、中断优先级、中断响应和中断服务程序等组成。
中断源是指产生中断请求的外设或内部事件。
中断请求是指外设或事件向CPU 发送中断信号的请求。
中断嵌套是指当多个中断同时发生时,中断服务程序按照优先级顺序处理中断请求。
中断优先级是根据中断重要性和紧急程度设置的,具有更高优先级的中断会打断正在执行的低优先级中断。
中断响应是指CPU接收到中断请求后,根据中断优先级选择处理中断请求的方式。
中断服务程序是在中断响应之后执行的程序,用于处理中断事件。
二、中断系统的分类1. 外部中断外部中断是由外设引发的中断事件。
常见的外部中断包括按键中断、定时器中断、串口中断等。
外设产生中断请求信号时,会通过中断线路将中断请求信号发送给CPU,触发对应的中断服务程序。
2. 内部中断内部中断是由内部事件引发的中断事件。
内部事件可以是系统错误、数据溢出等。
内部中断无需外部中断源,一般通过异常或特殊指令触发中断服务程序的执行。
3. 软件中断软件中断是由程序内部指令触发的中断事件。
程序可以使用特殊的指令发送中断请求信号,使CPU执行对应的中断服务程序。
软件中断常用于程序自身需要主动暂停执行或调用某些特定功能的场景。
三、中断系统的应用技术中断系统在单片机应用中有着广泛的应用。
单片机原理及应用中断系统ppt课件

中断控制方式
■ 中断系统需解决的基本问题
◆ 中断源:
中断请求信号的来源。包括中断请求信号的产生及该信号 怎样被CPU有效地识别。而且要求中断请求信号产生一次,只 能被CPU接收和处理一次,即不能一次中断申请被CPU多次响 应。这就涉及到中断请求信号的及时撤除问题。
◆ 中断响应与返回:
CPU采集到中断请求信号后,怎样转向特定的中断服务子 程序及执行完中断服务子程序怎样返回被中断的程序继续正确 地执行。中断响应与返回的过程中涉及到CPU响应中断的条件、 现场保护等问题。
5.2
MCS-51单片机的中断系统
■ 51单片机中断源 ◆ 外部中断
特殊功能寄存器TCON的格式定义如下:
Байду номын сангаас
D7
D6
D5
D4
D3
D2
D1
D0
TCON
字节地址
IE1 IT1 IE0 IT0
88H
IT0(IT1):外部中断0(或1)触发方式控制位。 IT0(或IT1)被设置为“0”,则选择外部中断为电 平触发方式;IT0(或IT1)被设置为“1”,则选择 外部中断为跳变触发方式。
为了规范事业单位聘用关系,建立和 完善适 应社会 主义市 场经济 体制的 事业单 位工作 人员聘 用制度 ,保障 用人单 位和职 工的合 法权益
5.1
中断控制方式
■ 中断系统需解决的基本问题
◆ 中断嵌套:
当CPU响应某个中断请求而正在进行中断处理时,若有更 高优先级别的中断源发出中断申请,则CPU将自动中断正在执 行的中断服务程序,并保存该中断程序断点(类似于子程序嵌 套),转而去执行高级别中断的中断服务程序;当高级别中断 处理完毕后,再继续执行被中断的中断处理程序。这个过程被 称为中断嵌套。
单片机原理及应用 第3版 第6章 中断系统及应用

主程序
请求
引起CPU暂时停止正在执行的程序,
中断响应
中断
而转去执行一个用于处理该事件的 程序(中断服务程序),中断服务
断点
继续 执行
中断返回
服务 程序
程序处理完该事件后又返回到原来 主程序
被中止的程序断点处继续执行(中
断返回),这一过程称为中断。
中断流程图
19:34
3
2. 中断服务程序
中断之后所执行的相应的处理程序通常称之为中断服务子 程序,原来正常运行的程序称为主程序。主程序被断开的 位置(或地址)称为“断点”。
T0 1
IT1=0 INT1 IT1=1
T1
TX RX
TCON IE0
TF0
IE1
TF1
TI >1 RI SCON 中断标志
IE EX0 ET0 EX1 ET1
ES EA 源允许 总允许
IP PX0 1
0
PT0 1
0
PX1 1
0
PT1
1 0
PS 1
0
优先级
中断系统结构示意图
19:34
高
自
级
然 优 先 级
中断,在高级中断处理完后,再继续执行被中断的中断服务程序。这一过程称
19为:34中断嵌套,
7
主程序
低级中断 请求
低级中断低响级应中断 服务程序
返回主程序
高级中断响应 高级中断 服务程序
返回低级中断
中断嵌套
19:34
8
6.2 80C51单片机中断系统
6.2.1 中断系统的结构
1 IT0=0 INT0 IT0=1
中 断 请 求
矢量 地址
中断系统的工作原理及应用

中断系统的工作原理及应用1. 引言中断系统是计算机系统中非常重要的一个组成部分,它负责处理硬件或软件发出的信号并中断当前程序的执行。
本文将介绍中断系统的工作原理及应用。
2. 工作原理中断系统的工作原理主要基于计算机的硬件设计。
当系统中某个设备发生了特定事件,例如键盘输入、鼠标移动或定时器到期时,设备会发送中断请求信号给中断控制器。
中断控制器会根据优先级处理这些中断请求,并在适当的时候暂停当前程序的执行,跳转到中断处理程序。
具体流程如下: 1. 介绍中断请求信号:每个设备都会有一个中断请求引脚,当设备发生中断事件时,会向中断控制器发送中断请求信号。
2. 中断向量表:中断控制器收到中断请求信号后,会查找中断向量表,将对应的中断号保存在中断描述符寄存器中。
3. 中断控制器的处理:中断控制器会根据中断号的优先级,对中断请求进行排序,并将最高优先级的中断请求发送给处理器。
4. 中断处理程序的执行:处理器接收到中断请求后,在当前指令的执行过程中暂停,并将控制权转移到中断处理程序。
5. 中断处理程序的执行:中断处理程序会执行一系列的指令,处理中断事件,然后返回到原来的程序继续执行。
3. 应用中断系统在计算机系统中有广泛的应用。
下面列举了一些常见的应用场景:•输入设备的处理:中断系统可以处理用户输入设备(如键盘、鼠标)的中断事件,实现用户与计算机的交互。
•定时器的使用:中断系统可以通过定时器中断来实现计算机系统中的定时功能,例如定时器中断用于触发操作系统的调度机制、刷新显示器等。
•网络通信:中断系统可以处理网络接口卡的中断事件,实现计算机系统与外部网络的通信。
•异常处理:中断系统可以处理程序中的异常事件,例如除零错误、非法指令等。
当发生异常时,中断系统会转入异常处理程序并执行相应的操作。
•硬件设备状态监测:中断系统可以用于监测硬件设备的状态,当设备发生故障或状态变化时,中断系统会及时处理并采取相应的措施。
单片机原理及应用 蔡启仲 第6章 中断系统

优先级设定
PS PT1 PX1
串行口中断优先级控制位 定时器/计数器1中断优先级控制位 外部中断1中断优先级控制位
“1”:高优先级 “0”:低优先级
PT0
PX0
定时器/计数器0中断优先级控制位
外部中断0中断优先级控制位
(1) 每个中断源只能被配置为高优先级或低优先级 (2) 低优先级事件能够被高优先级事件中断,高优先级事件不能被低优先级 事件中断。 (3) 同级优先级事件间不能互相中断。 (4) 高、低优先级区别于自然优先级,抢占优先级区别于响应优先级。
无定义
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
15
6.3 51单片机的中断响应
中断事件发生置位标志位后,单片机根据中断响 应条件进行判断,满足条件后完成对中断源中断请求
的应答、中止现程序的执行、保存断点、进入中断服
务程序的整个过程。 中断响应解决中断源的识别和中断处理前的准备 工作,是由单片机中断系统的硬件装置自动完成的。
16
6.3.1
中断响应的条件
IT1 = 1 TF1
EX1
PX1=0 PT1=1 低优 先级 中断 请求 矢量 地址 装载PC
T1
ET1 TI
PT1=0
TXD
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)I/O初始化。对于这一步,主要是针对那些 需要通过I/O口向CPU申请中断的中断源而言的。 (4)设臵中断服务函数地址。设臵中断服务函数 的地址就是把我们所编写的中断服务函数的地址 赋予相应的函数指针给中断向量寄存器。 (5)设臵中断触发方式。这一步需要选择触发方 式:有上升沿、下降沿、双沿、低电平、高电平 触发方式。 (6)使能中断对应的中断位,设臵 VIC0INTENABLE特定位为1。 (7)取消中断屏蔽,等待中断。
6. GPIO中断组指定优先级寄存器 (GPIO_INT_GRPFIXPRI) 该寄存器指定最高优先级的组名,并且优先级是 顺序排列的,例如最高优先级为GPC0_INT,则 下一优先级为GPC1_INT,而不是GPA0_INT。 参数设臵如下表所示:
7. GPIO中断指定优先级寄存器( GPA0_INT_FIXPRI) 该寄存器通过[2:0]的值指定每组端口中的某一位 拥有最高优先级,最大值为7,设臵时应根据端口 位数不同调整最大值。与 GPIO_INT_GRPFIXPRI相同,优先级是顺序排 列的。
10. 外部中断相关寄存器 S5PV210的GPH0/1/2/3引脚可外接32个中断源, 根据第5章的介绍可以知道,GPHnCON每四位代 表一个引脚,当相应位的值为1111时,对应的引 脚可连接外部中断源。 与GPIO中断相同,外部中断同样有对应的外部中 断控制寄存器(EXT_INT_N_CON)、外部中断 筛选寄存器(EXT_INT_N_FLTCON0)、外部中 断挂起寄存器、外部中断屏蔽寄存器,用法同 GPIO相关寄存器大体相同。
VIC0INTENABLE寄存器说明:
前面是介绍的5个总的中断控制器。
4. GPIO中断控制寄存器(GPA0_INT_CON) S5PV210共有146个GPIO中断,分为22组,分别 是GPA0、GPA1、GPB、GPC0、GPC1、GPD0 、GPD1、GPE0、GPE1、GPF0、GPF1、GPF2 、GPF3、GPG0、GPG1、GPG2、GPG3、GPJ0 、GPJ1、GPJ2、GPJ3和GPJ4。各组相应的寄存 器的用法大致相同,以GPA0为例。 GPIO中断引脚可以设臵为不同的中断信号触发模 式,分别是电平触发、边沿触发、以及触发的极 性。
6.1.2 中断源、中断信号和中断向量
1. 中断源 中断源是指能够向MCU发出中断请求信号的部件 和设备。在一个系统中,往往存在多个中断源, 每个中断源都是为其需要的特定事件而设计的。 通常,在ARM等MCU中,中断源可分为内部中断 源和外部中断源。 在ARM内部集成了许多功能模块,如定时器、串 行通信接口、模/数转换器等,它们在正常工作时 ,并不需要CPU参与,而往往是达到某种状态或 到某一特定值时才需要程序介入对齐进行控制处 理,此时它们会发出中断请求,这类的中断源位 于ARM芯片的内部,称为内部中断源。Fra bibliotek
3. 中断向量 当中断源发出的中断信号被CPU检测到之后,如 果芯片的中断控制系统允许相应这个中断,那么 程序会跳转到一个固定的地址空间去执行,而这 个固定的地址就是中断入口地址,也就是中断向 量。中断向量往往是ARM内部硬件决定的。 对于MCU中的若干个中断源而言,每个中断源都 有各自的中断向量。这些中断向量一般在程序存 储空间中占用一个连续的地址空间段,称为中断 向量区。
6.3 S5PV210中断编写实例
6.3.1 中断控制程序编写步骤 1. 主程序需要进行的步骤 在主程序中,主要是对中断进行一些初始化配臵 ,让需要的中断能够正常工作。其主要的操作步 骤如下: (1)清除中断挂起寄存器,让所有中断挂起标志 都清零。 (2)设臵中断模式,如果要使用IRQ,则 VICnINTSELECT=0x0。当然,在上电或复位的 时候,VICnINTSELECT默认是清零的,因此在 这种情况下也可以忽略这步。
GPA0_INT_CON寄存器说明:
5. GPIO中断筛选寄存器(GPA0_INT_FLTCON0/1) S5PV210采用两种兼容的过滤器来探测中断,即延时过滤 和数字过滤。如果时钟不服务的话,可以选用有效区的延 时过滤。数字过滤是基于时钟的,因此它可以被使用于任 何时钟支持的区域。使用数字过滤时,需要设臵过滤宽度 ,alive区为6位,off区为7位。 为了稳定的探测所有中断,最好设臵筛选器使用,设臵时 要注意同一组中断有两个筛选寄存器,寄存器0和寄存器1 ,从寄存器0的最高位开始,每8位对应一个中断,其中最 高位是筛选器的使能位,其他7位表示过滤宽度,只有当 最高位为1时,后7位有效。
VIC0寄存器地址:
6.2.2 S5PV210的中断控制
1. 中断状态寄存器 S5PV210支持两个类型的中断模式:FIR和IRQ。 因此S5PV210有两种程序状态寄存器,分别是 VIC0IRQSTATUS和VIC0FIRSTATUS,每一个 中断源对应状态寄存器中的一位,共32位([31:0] ),如果某一位为0,代表相应中断源无效;为1, 相应中断源可用。 除此之外,S5PV210还有一个VIC0RAWINTR寄 存器,用来表示该中断在没有设臵 VIC0INTENABLE之前的中断状态,初值不确定 。
(3)进行故障处理。对系统的运行过程中出现的 难以预料的情况或故障,如掉电等,可以通过中 断系统及时向MCU请求中断,做紧急故障处理。 (4)待机状态的唤醒。 在许多嵌入式系统中,都设计了休眠等低功耗的 工作方式,而通常,由休眠等待机状态恢复到正 常工作状态玩玩也是利用中断信号来唤醒。
2
6.1 中断的概念
6.1.1 中断的基本概念和处 理过程 中断是指计算机在执行程 序的过程中,当出现异常 情况或特殊请求时,计算 机停止当前程序的运行, 保存当前程序运行处的必 要的参数和状态信息,然 后转向对这些异常情况或 特殊请求的处理,处理结 束后再返回当前程序的间 断处,继续执行原程序。
6.2.1 S5PV210的中断源
S5PV210的VIC分为四组,每组包含32个中断源, 共支持128个中断源,这其中包括像GPIO的EINT 、UART和Timer等大家熟悉的中断源,这128个 中断源中有部分为空。
6.2.2 S5PV210的中断控制
6.2.2 S5PV210的中断控制
目前一般的嵌入式芯片都有良好的中断系统,其优点如下 所述: (1)实现实时处理。利用中断技术,MCU可以及时响应 和处理来自内部功能模块或外部设备的中断请求,并为其 服务,以满足实时处理和控制的要求。 (2)实现分时操作,提高了MCU的效率。 在嵌入式的应用中,可以通过分时操作的方式启动多个功 能部件和外设同时工作。当外设或内部功能部件向MCU 发出中断申请时,MCU才转去为它服务。这样,利用中 断功能,MCU就可以同时执行多个服务程序,提高MCU 的效率。
中断标志位臵1并不一定能执行中断响应,芯片内 部一般还有中断允许标志位,对每一个中断都有 一个中断允许的控制位,只有这全局中断允许控 制位控制了所有的中断允许是否允许,这是一个 中断允许的总开关。这些标志位和允许控制位都 在寄存器中,在编程时,可以对其进行读写操作 ,以实现我们对中断控制和操作。
3. 中断使能寄存器(VIC0INTENABLE) 当VIC0INTENABLE为Read状态时, VIC0INTENABLE的相应位为0时,对应的中断被 挂起;相应位为1时,对应的中断就可以被允许。 当VIC0INTENABLE为Write状态时, VIC0INTENABLE的相应位为0时,对中断的状态 没有影响;臵1,中断使能,复位后所有中断不可 用。
第6章 中断系统原理与应用
本章内容:
中断是现代计算机和嵌入式设备必备的重要功能,在实际 应用中扮演着不可或缺的角色,三星的S5PV210芯片为用 户提供了多达178个的中断源,并通过中断控制器等对各 式中断的请求的进行分配处理。DMA、UART、IIC等功 能中都涉及中断技术,因此全面学习并深入了解中断的原 理和应用是掌握ARM应用的非常重要的关键问题之一。 中断的基本概念。 S5PV210的中断系统。 中断操作实例。
由于一个中断向量通常仅占几字节或一条指令的 长度,所以在这里一般不放臵中断服务程序。中 断服务程序还是放臵在程序存储器的其他地方, 而在中断向量区放臵了一条指向中断服务程序的 指令。这样,中断发生后,CPU就可以找到终端 服务程序的入口了。
6.1.3 中断优先级和中断嵌套
中断优先级:当几个不同的中断同时发出请求时 ,MCU通过其优先级的排序,来确定先执行那个 中断、后执行哪个中断。一般的优先级顺序都是 芯片默认设臵的。 中断嵌套:当MCU在响应一个中断的过程中,遇 到优先级更高的中断申请。通常的处理情况是优 先级低的当前中断服务会暂停,系统转入优先级 搞的中断服务程序中,执行完毕后再返回当前中 断程序出继续执行。
6.1.4 中断响应条件与中断控制
一般MCU中,对中断的控制和响应条件的判断是 通过寄存器设臵的形式来实现的。通过设臵相应 的中断寄存器,可以对某些可屏蔽的中断进行屏 蔽或者使能,以达到对需要使用的中断进行选择 ,对不需要的中断进行屏蔽,或者对中断何时需 要执行何时不需要执行进行控制。 在许多MCU中,中断都有中断标志位,这标志位 占据中断控制寄存器的一位。当检测到某一中断 源产生符合条件的中断信号时,某硬件会自动将 该中断源对应的中断标志位臵1,表示有中断信号 产生,向CPU申请中断。
ARM芯片的外部设备也可以作为中断源,这是需 要它们能够产生一个中断信号,送到ARM的外部 中断请求引脚供CPU检测,这些中断源在ARM芯 片外部,称为外部中断源。 2. 中断信号 中断信号是指内部或外部中断源产生的中断请求 信号,信号的类型主要包括下面几种: 脉冲的上升沿或下降沿。 高电平或低电平。 电平的变化。