普中51单片机学习(十四)

中断系统

中断的概念

CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生),CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务),待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A(中断返回),这一过程称为中断 。

中断系统结构

5个中断源,两个优先级,可以实现二级中断嵌套。

中断允许控制

  • EX0(IE.0),外部中断0允许位;
  • ET0(IE.1),定时/计数器T0中断允许位;
  • EX1(IE.2),外部中断0允许位;
  • ET1(IE.3),定时/计数器T1中断允许位;
  • ES(IE.4),串行口中断允许位;
  • EA (IE.7), CPU中断允许(总允许)位

中断请求标志

  • IT0(TCON.0),外部中断0触发方式控制位。
    当IT0=0时,为电平触发方式。
    当IT0=1时,为边沿触发方式(下降沿有效)。
  • IE0(TCON.1),外部中断0中断请求标志位。
  • IT1(TCON.2),外部中断1触发方式控制位。
  • IE1(TCON.3),外部中断1中断请求标志位。
  • TF0(TCON.5),定时/计数器T0溢出中断请求标志位。
  • TF1(TCON.7),定时/计数器T1溢出中断请求标志位。


  • CPU同时接收到几个中断时,首先响应优先级别最高的中断请求。
  • 正在进行的中断过程不能被新的同级或低优先级的中断请求所中断。
  • 正在进行的低优先级中断服务,能被高优先级中断请求所中断。

中断处理过程

中断响应条件

  • 中断源有中断请求;
  • 此中断源的中断允许位为1;
  • CPU开中断(即EA=1)。

以上三条同时满足时,CPU才有可能响应中断。

相关推荐
炸膛坦客6 小时前
单片机开发工具篇:(九)MCU 芯片包的安装
单片机·嵌入式硬件
从零开始的代码生活_8 小时前
C++ list 原理与实践:双向链表、迭代器与简化实现
开发语言·c++·后端·学习·算法·链表·list
二炮手亮子8 小时前
记录AI学习之路Day13:小模型(AI生成)
学习
程序员小八7779 小时前
从 0 学习 MySQL 索引——7 大核心精讲
android·学习·mysql
渣渣灰飞9 小时前
MySQL 系统学习 第六阶段:Redis + 缓存 + 高并发设计 第六章:Redis 实现登录 Token
学习·mysql·缓存
渣渣灰飞10 小时前
MySQL 系统学习 第六阶段:Redis + 缓存 + 高并发设计 第五章:缓存穿透、缓存击穿、缓存雪崩
学习·mysql·缓存
念何架构之路10 小时前
Docker 容器状态机 学习
java·学习·docker
你有我备注吗10 小时前
SQL学习之查询
java·sql·学习
从零开始的代码生活_10 小时前
C++ stack、queue 与 priority_queue:容器适配器原理与实战
开发语言·c++·后端·学习·算法
铅笔侠_小龙虾10 小时前
Rust 学习(6)-所有权规则、移动语义、Clone 与 Copy
python·学习·rust