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

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

一、中断系统内部结构

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

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

二、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:低电平触发中断请求。

  • 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

中断允许寄存器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统一管理中断优先级。可实现两级中断嵌套。

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

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

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

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

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

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

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

中断系统结构及中断控制详解相关推荐

  1. 基于MIG控制器的DDR3读写控制详解

    基于MIG控制器的DDR3读写控制详解 目的:详细介绍FPGA中基于MIG IP核控制的DDR3详细控制及内部逻辑 平台:AX7350-Xilinx 软件:Vivado 2017.4 1.MIG IP ...

  2. 矢量控制与V/F控制详解

    原文:http://m.elecfans.com/article/714518.html 一.矢量控制 1.矢量控制简介 矢量控制是一种电机的磁场定向控制方法:以异步电动机的矢量控制为例:它首先通过电 ...

  3. 三相异步电动机空间矢量控制详解

    [转载]三相异步电动机空间矢量控制详解 (2013-10-27 17:49:09) 转载▼ 标签: 转载   原文地址:三相异步电动机空间矢量控制详解作者:温暖小屋 在工业控制领域,电动机是一个重要的 ...

  4. Pygame Time时间控制详解

    Pygame Time时间控制详解 pygame.time 时间控制模块,是 Pygame 中使用频率较高的模块,其主要功能是管理时间和游戏帧数率(即 FPS). 时间在游戏开发中承担着非常重要的作用 ...

  5. 转:S3C6410中断控制详解

    Andrew Huang bluedrum@163.com 转载请注明作者及联络方式 如果你熟悉S3C2440的中断处理机制,可以发现S3C6410大大简化的中断编程处理.    相对于S3C2440 ...

  6. linux关闭中断快捷键,linux screen 命令详解(可以中断终端界面运行)

    linux screen 命令详解 一.背景 系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份.ftp 传输等等.通常情况 ...

  7. python流程控制-详解Python流程控制语句

    流程控制 流程:代码执行的过程 控制:对代码执行过程的把控 三大结构 顺序结构:代码默认从上到下,依次执行 分支结构:单项分支,双向分支,多项分支,巢状分支 循环结构:while循环和for循环 单项 ...

  8. 【51单片机快速入门指南】4.2: SSD1306 OLED屏(0.96寸、1.3寸)的I2C控制详解

    目录 硬知识 SSD1306简介 I2C 接口 从机地址位(SA0) I2C 总线写数据 命令解码器 晶振电路和显示时间发生器 复位 图形显示数据RAM (GDDRAM) 命令表 基本命令表 部分指令 ...

  9. zookeeper权限控制详解

    文章目录 1.预备知识 1.1 权限列表 1.2 ACL权限特点 1.3 权限相关命令 2.添加认证用户:addauth 3. 设置znode节点操作权限命令:SetAcl 4. 设置节点权限命令中节 ...

最新文章

  1. oracle 查询空值异常,Oracle中的NULL
  2. Linux上登陆oracle并导入dmp文件
  3. 组合筛选vue_Vue 3 组合式API介绍
  4. linux 加入ad 用ssh,使用samba验证AD用户,允许AD用户登录到linux
  5. IDEA中中文乱码问题解决方案
  6. 知方可补不足~数据库名称和数据库别名不同了怎么办
  7. Node.js DNS 模块
  8. 基于盐+Sha算法的安全密码保护机制
  9. 在Sohu的最后一个作品-2011版大视野
  10. VN2VN——中小企业的网络融合之道
  11. 网络基础(五)------静态路由--实操
  12. 程序员的职业危机是什么?一个12年互联网人的4点思考
  13. 毕业设计:实现电脑识别魔方颜色
  14. 1.Btn、Div特效---利用border
  15. 错误: 在类中找不到 main 方法, 请将 main 方法定义为:public static void main(String[] args)否则 JavaFX 应用程序类必须扩展javafx
  16. 【uniapp小程序】request发起请求
  17. 来自灵魂的拷问——知道什么是SQL执行计划吗?
  18. 九宫格解锁的完全实现
  19. html模拟手机页面
  20. 某单位分配到一个C类网络地址,其网络号为218.7.8.0,现在该单位共有4个不同的部门,每个部门最多25台主机,要求进行子网划分

热门文章

  1. 计算机实验网上邻居与用户共享,实验6 网上邻居.doc
  2. SVM算法原理及其实现
  3. 服装行业SRM供应商管理平台加强产业链协同,优化供应网络
  4. 插件的开放作用和意义
  5. chickens come home to roost恶有恶报
  6. VS2019+WDK10驱动编译不通过error:driver does not install on any devices,求解!!!
  7. java怎么关掉定时器_java – 取消定时器
  8. 【Python百日进阶-Web开发-Linux】Day231 - 真机安装Ubuntu桌面版、搜狗拼音输入法、Python开发环境
  9. oracle之约束(constraint)
  10. 【金猿产品展】亚信科技AISWare Onta KG知识图谱工具——一站式全流程知识计算管理平台...