中断系统结构及中断控制详解

简介: 本文详解了中断系统结构及中断控制。

中断系统结构及中断控制详解

MCS—51提供5个中断请求源,2个中断优先级,可实现两级中断服务程序嵌套。当CPU执行关中断指令后(或复位),将屏蔽所有中断请求,只有CPU执行开中断指令后才有可能接受中断请求,每个中断源可由软件编程为允许中断和禁止中断,每个中断源可程控为高优先级中断或低优先级中断。可见MCS-51具有较强的中断处理能力。

一、中断系统内部结构

MCS-51的中断系统结构框图如下图所示,与中断有关的特殊功能寄存器有4个,分别为中断源寄存器(即专用寄存器TCON和SCON的相关位)、IE和IP。

MCS-51单片机有5个中断源,可提供两个中断优先级,即可实现二级中断嵌套。

image-20220808212918203

二、MCS-51中断源及中断入口

MCS-51的中断源可分为三类:外部中断、定时中断和串行口中断

1.外部中断类

由外部原因引起的:

INT0——外部中断0请求信号,由P3.2输入,IT0 (TCON.0) 决定中断请求信号是低电平有效还是下降沿有效。一旦输入有效,即向CPU申请中断,并使IE0=1。

INT1——外部中断1请求信号,由P3.3输入,由IT1 (TCON.2) 决定中断请求信号是低电平有效还是下降沿有效。一旦输入有效,即向CPU申请中断,并使IE1=1。

2.定时中断类

定时中断是为满足定时或计数溢出处理的需要而设置的,在单片机芯片内部发生,无需在芯片上设置引入端,但在计数方式时,中断源可以由单片机芯片外部引入。

TF0——定时器T0溢出中断请求。当定时器T0产生溢出时,其中断请求标志TF0=1,请求中断处理。

TF1——定时器T1溢出中断请求。当定时器T1产生溢出时,其中断请求标志TF1=1,请求中断处理。

3.串行口中断类

串行口中断为串行数据的传送需要而设置的。

RI或TI——串行中断请求

各中断源对应的中断服务程序入口地址:

中断源 入口地址

​ 外部中断0 0003H

​ 定时器T0中断 000BH

​ 外部中断1 0013H

​ 定时器T1中断 001BH

​ 串行口中断 0023H

三、MCS-51中断请求

中断标志位:

TF1、TF0、IE1、IE0、RI 、TI登记各中断源请求信号:=1,有中断请求;= 0,无中断请求。

CPU响应中断后,该中断标志自动清零。TI,RI标志必须软件清零。

外部中断触发方式选择位:

  • IT0、IT1=1:负边沿触发中断请求;= 0:低电平触发中断请求。

img

  • IE0:外中断0中断申请标志

    若IT0=0,每个机器周期的S5P2采样INT0 ,若INT0=0则IE0=1;当 IT0=1时,第一个机器周期采样到INT0为高电平,第二个机器周期为低电平,则IE0=1。IE0=1表示外中断0正在向CPU申请中断,当CPU响应中断,转向中断服务程序时,由硬件清“0”IE0

  • TF0T0溢出中断标志

    T0被启动计数后,加1计数,溢出后,由硬件使TF0=1,请求中断,此标志保持到CPU响应中断后,由硬件自动清“0”。也可用软件查询该标志,并由软件清“0”。

四、中断允许控制

中断允许控制位:EA、ES、ET1、EX1、ET0、EX0

=1开中断;= 0关中断。

例:允许CPU响应INT0的中断请求

​ SETB EX0

​ SETB EA

image-20220808213824944

中断允许寄存器IE格式和各位含义如下:

  • EA——CPU中断总允许位。EA=1,CPU开放中断;
  • ES ——串行口中断允许位。 ES=1,允许串行口中断
  • ET1—— T1中断允许位。 ET1=1,允许T1中断。
  • EX1——外部中断1允许位。 EX1=1,允许外部中断1中断
  • ET0—— T0中断允许位。 ET0=l,允许T0中断;
  • EX0——外部中断0允许位。EX0=1,允许外部中断0中断
  • MCS-5l系统复位后,IE中各中断允许位均被清“0” 。

五、 中断优先级

中断优先级——设计人员给每个中断源事先安排中断响应的优先顺序。然后按轻重缓急的次序响应。

专用寄存器IP统一管理中断优先级。可实现两级中断嵌套。

img

  • PS ——串行口中断优先级控制位。
  • PT1——T1中断优先级控制位。
  • PX1——外部中断1中断优先级控制位。
  • PT0——T0中断优先级控制位。
  • PX0——外部中断0中断优先级控制位。

以上对应位为1,高优先级;为0,低优先级

当系统复位后,IP低5位全部清“0”,将所有中断源设置为低优先级中断。

同一优先级别按内部查询顺序排列优先级:

高 INT0、T0、INT1、T1、SIO 低。

自然优先级由硬件形成,排列次序如下:

  • 中断源 自然优先级
  • 外部中断0 最高级
  • 定时器T0中断
  • 外部中断1
  • 定时器T1中断
  • 串行口中断 最低级

image-20220808212936973

目录
相关文章
|
芯片 开发者 SoC
E906的中断系统|学习笔记
快速学习 E906的中断系统
552 0
E906的中断系统|学习笔记
|
7月前
|
存储 传感器
单片机的中断系统
单片机的中断系统
65 1
|
Java Linux API
中断-处理程序架构
中断-处理程序架构
154 0
|
传感器 调度
什么是中断系统?
一、什么是中断系统 中断系统是计算机系统中的一种机制,它允许外部设备和程序请求处理器的注意力,以便进行特定的操作。当一个中断请求被触发时,处理器会暂停当前正在执行的程序,转而执行与中断相关的程序或服务例程。中断系统可以提高计算机系统的效率和响应速度,因为它允许处理器在等待某些事件的同时执行其他任务。常见的中断包括硬件中断(例如键盘输入、鼠标移动、网络数据传输等)和软件中断(例如操作系统调度、系统调用等)。 二、中断系统的特点 中断系统具有以下特点: 1. 实时性:中断系统能够及时响应外部设备的请求,提高计算机系统的响应速度和效率。 2. 可靠性:中断系统能够保证中断请求的可靠性,确保外部设备的
293 0
|
监控 芯片
单片机如何才能不死机之内外部时钟
单片机如何才能不死机之内外部时钟
【C51单片机】中断系统之单一外中断应用
【C51单片机】中断系统之单一外中断应用
STM32外中断
STM32外中断
87 0
|
虚拟化 芯片
CORTEX-A7芯片中断系统基本原理与控制方法
CORTEX-A7芯片中断系统基本原理与控制方法
427 0
CORTEX-A7芯片中断系统基本原理与控制方法
详解中断系统
本文针对地详解了中断系统
276 0
|
Java
【嵌入式开发】ARM 关闭中断 ( CPRS 中断控制位 | 中断使能寄存器 | 中断屏蔽寄存器 | 关闭中断 | 汇编代码编写 )(二)
【嵌入式开发】ARM 关闭中断 ( CPRS 中断控制位 | 中断使能寄存器 | 中断屏蔽寄存器 | 关闭中断 | 汇编代码编写 )(二)
685 0
【嵌入式开发】ARM 关闭中断 ( CPRS 中断控制位 | 中断使能寄存器 | 中断屏蔽寄存器 | 关闭中断 | 汇编代码编写 )(二)