普中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才有可能响应中断。

相关推荐
zilikew4 小时前
Flutter框架跨平台鸿蒙开发——桌面宠物APP的开发流程
学习·flutter·harmonyos·鸿蒙·宠物
沃尔特。6 小时前
直流无刷电机FOC控制算法
c语言·stm32·嵌入式硬件·算法
CW32生态社区6 小时前
CW32L012的PID温度控制——算法基础
单片机·嵌入式硬件·算法·pid·cw32
Sarvartha6 小时前
LangChain 入门核心知识学习笔记
笔记·学习·langchain
QZ_orz_freedom6 小时前
后端学习笔记-苍穹外卖
笔记·学习
麒qiqi7 小时前
嵌入式 I2C 通信全解析:从硬件原理到驱动实现
stm32·单片机·嵌入式硬件
蓬荜生灰9 小时前
STM32(6)-- GPIO外设
单片机·嵌入式硬件
我爱我家diyer9 小时前
使用STM32的HAL库开发GD32F303CGT6
stm32·单片机·嵌入式硬件
沉默-_-10 小时前
力扣hot100-子串(C++)
c++·学习·算法·leetcode·子串
●VON10 小时前
从系统亮度监听到 UI 重绘:Flutter for OpenHarmony TodoList 深色模式的端到端响应式实现
学习·flutter·ui·openharmony·布局·von