单片机的中断系统

概念
中断发生:CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理。
中断响应和中断服务:CPU暂时中断当前的工作,转去处理事件B。
中断返回:将事件B处理完毕后,回到事件A被中断的地方继续处理事件A。
中断源:引起CPU中断的根源。
断点:被中断的地方。


优点

  1. 分时操作:可以分时为多个I/O设备服务
  2. 实时响应
  3. 可靠性高

中断源
五个中断源(2个优先级,二级中断嵌套)
外部中断
INT0‾\overline{INT0}INT0
INT1‾\overline{INT1}INT1
定时器/计数器
T0T0T0
T1T1T1
串口中断
UARTUARTUART


查询优先级

优先级 中断标志 中断号
INT0 P3.2口,低电平有效 0
T0 溢出 1
INT1 P3.3口,低电平有效 2
T1 溢出 3
URAT 4

当CPU查询各个中断标志位的时候,会依照上述5个查询优先级顺序依次查询,当数个中断同时请求的时候,会优先查询到高优先级的中断标志,但并不代表高优先级的中断可以打断已经并且执行的低查询优先级的中断服务。


执行优先级
中断的执行优先级就是对中断优先级控制器的设置。
中断系统:中断源、中断标志、中断允许控制寄存器、中断优先级控制寄存器构成。
中断请求标志

  • TCON寄存器
符号 字节地址 位名称 位名称 位名称 位名称 位名称 位名称 位名称 位名称 复位值
TCON 88H TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 00000000
  1. IT0:外部中断0触发方式选择位。外部中断有两种触发方式:电平触发方式跳变触发方式。当IT0=0时,为电平触发方式,引脚INT0上出现低电平时向CPU申请中断。当IT0=1时,为跳变触发方式,引脚INT0出现高电平到低电平的跳变时向CPU申请中断。
  2. IE0:外部中断0请求标志位。表示外部中断0正在向CPU请求中断。在电平触发方式下,若INT0为低电平,则IE0置1,否则清0。
  3. IT1:外部中断1触发方式选择位。
  4. IE1:外部中断1请求标志位。
  5. TF0:定时器/计数器0溢出中断请求标志位。定时/计数器0计数溢出时,TF0置1,向CPU请求中断。
  6. TF1:定时器/计数器0溢出中断请求标志位。
  7. TR0和TR1与中断无关,仅与定时器/计数器T1和T0有关。
  • SCON寄存器
    串行口控制寄存器
符号 字节地址 位名称 位名称 位名称 位名称 位名称 位名称 位名称 位名称 复位值
SCON 98H SM0/FE SM1 SM2 REN TB8 RB8 TI RI 0000 0000
  1. TI:串行口的发送中断请求标志位,自动置1。
  2. RI:串行口的接收中断请求标志位,自动置1。

中断允许控制寄存器

  • IE寄存器
符号 字节地址 位名称 位名称 位名称 位名称 位名称 位名称 位名称 位名称 复位值
IE A8H EA ES ET1 EX1 ET0 EX0 00000000
  1. EX0:外部中断0中断允许控制位。EX0=0,禁止中断,EX0=1,允许中断。
  2. ET0:定时器/计数器0溢出中断允许控制位。ET0=0,禁止中断,ET0=1,允许中断。
  3. EX1:外部中断1中断允许控制位。EX1=0,禁止中断,EX1=1,允许中断。
  4. ET1:定时器/计数器1溢出中断允许控制位。ET1=0,禁止中断,ET1=1,允许中断。
  5. ES:串行口中断允许控制位。ES=0,禁止中断,ES=1,允许中断。
  6. EA:CPU中断允许控制位。EA=0,CPU屏蔽所有的中断请求,EA=1,CPU允许所有的中断请求。

中断优先级控制寄存器
中断的三条原则

  1. CPU同时接受到几个中断时,首先响应优先级别最高的中断源。
  2. 正在进行的中断过程,不能被低优先级和同级的中断请求中断。
  3. 正在进行的中断过程,能被高优先级的中断请求打断。
    为了实现2和3,中断系统内部设有两个用户不能寻址的优先级状态寄存器。IPIPH
符号 字节地址 位名称 位名称 位名称 位名称 位名称 位名称 位名称 位名称 复位值
IP B8H PS PT1 PX1 PT0 PX0 0000 0000

1:PS:串行口中断优先级控制位。PS=1,串行口为高优先级中断;PS=0,串行口为低优先级中断。
2:PT1:定时器T1中断优先级控制位。PT1=1,定时器T1为高优先级中断;PT1=0,定时器T1为低优先级中断。
3:PX1:外部中断1优先级控制位。PX1=1,外部中断1为高优先级中断;PX1=0,外部中断1为低优先级中断
4:PT0:定时器T0中断优先级控制位。PT0=1,定时器T1为高优先级中断;PT1=0,定时器T0为低优先级中断
5:PX0:外部中断0优先级控制位。PX0=1,外部中断0为高优先级中断;PX0=0,外部中断0为低优先级中断


CPU的中断响应条件(同时满足)

  1. 有中断源发出中断请求
  2. 中断总允许位EA=1,即CPU允许所有中断源申请中断。
  3. 申请中断的中断源允许位为1,即此中断源可以向CPU申请中断。

51单片机的中断系统详解相关推荐

  1. 单片机 rs232 c语言,完全手册 51单片机C语言开发详解系列之第8章 串口通讯实战—RS232...

    完全手册 51单片机C语言开发详解系列 技术凝聚实力 专业创新出版 第8章 串口通讯实战-RS232接口电路与软件设计 本章主要通过实际的例子讲解AT89S51单片机的RS232串行通讯接口设计. 随 ...

  2. 51单片机的中断系统

    文章目录 1 51单片机的中断系统 1.1 中断的固有优先级和抢占优先级 1 51单片机的中断系统 1.1 中断的固有优先级和抢占优先级 中断使能寄存器: 中断查询序列: interrupt 后面中断 ...

  3. 51单片机之中断系统

    51单片机之中断系统 中断系统 四种中断类型: 外部中断: 定时器/计数器T0.T1中断: 串行口中断: 定时器/计数器T2中断: 中断入口: 与中断相关的特殊功能寄存器: 中断优先级: 中断响应时间 ...

  4. MATLAB与51单片机进行串口通信详解

    目录 一.51单片机与电脑进行串口通信 二.MATLAB串口通信函数 三.串口属性 四.示例Demo 4.1 MATLAB接收单片机发来的数据 4.2 MATLAB向单片机发送数据控制LED 五.总结 ...

  5. PIC单片机入门_中断系统详解

    1.中断的基本概念 当单片机正在执行程序时,出现了某些特殊状况,例如定时时间到.有键盘信号输入等,此时CPU须要暂时停止当前的程序,而转去执行处理这些事件的程序,待执行完这些特定的程序之后,再返回到原 ...

  6. 51单片机笔记:中断系统

    单片机笔记 中断系统 工作原理 功能描述 终止当前进行的事件,去处理突发需及时处理的事件,处理完还要返回原事件. 中断符函数 void ISR() interupt n 中断符函数与普通函数区别 普通 ...

  7. 中断系统详解、外部中断

    51单片机各个引脚功能 IO口引脚: 中断系统的主要功能:处理随机突发事件 中断系统结构: 什么是中断系统: 数据的输入/输出传送方式: 中断传送方式特点: 51系统允许的5个中断源: 51单片机中断 ...

  8. 51单片机定时器初值计算详解

    前言: 本文详细介绍了51单片机学习过程中定时器的初值计算问题以及相关概念,力求把每一个学习过程中的可能会遇到的难点说清楚,并举相关的例子加以说明.学习完毕,又顺手利用刚学到定时器的相关知识写了一个& ...

  9. 51单片机的中断系统及编程(附案例)

    本文简单粗暴地阐述了中断的一些概念.中断源.中断寄存器各位的作用,并写出了编写一个中断函数的流程/要点.不在意细节时,可直接查看照搬"三.中断程序的编程". 一.中断概念 中断定义 ...

最新文章

  1. 从程序语言排行榜来解读IT及Web的发展
  2. AnkhSVN的自动加锁
  3. Oracle数据库应用系统结构
  4. 线性代数基础(矩阵、范数、正交、特征值分解、奇异值分解、迹运算)
  5. 我面试了我的前领导,他连做我的下属都不配
  6. eclipse返回值快捷键
  7. c语言二级题库pdf,C语言二级考试题库.pdf
  8. MP4视频损坏修复工具下载
  9. 单纯形法中大m法_线性规划 第五讲 单纯形法及进一步讲解(大M法).ppt
  10. Slic3r基础知识
  11. 计算机无线网卡连接网络,台式机怎么连接无线网络?台式电脑不用网卡怎么连接网络?...
  12. sns.heatmap用法
  13. 程序员做外包,真的没地位没出路吗?
  14. 【直击DTCC】宝存CEO阳学仕:闪存技术已经无法阻挡
  15. 通达OA工作流程-使用方法
  16. 蓝桥杯Python组的规矩
  17. CFD网格你应该了解的常识
  18. 25万英汉词典汉英词典ACCESS\SQLite3数据库
  19. 嵌入式 STM32 串口波特率生成器BRR的值计算笔记
  20. Python爬虫教程:微医挂号网医生数据抓取

热门文章

  1. Axure RP9——【唱片旋转播放暂停效果】
  2. Unable to instantiate SparkSession with Hive support because Hive classes are not found.解决办法
  3. SVM算法原理以及sklearn实例
  4. 基于可靠度排序的非连续路径解包裹算法实例分析
  5. [昨日调试] org.apache.jasper.JasperException: Unable to load class for JSP
  6. tp-link路由器Portal功能典型配置案例
  7. 我是如何在腾讯和新美大(大众点评、美团)面试的
  8. 加速度传感器原理、结构、使用方法等介绍
  9. 卫浴品牌线上推广怎么做有效果?
  10. 共指消解/指代消解 spacy+neuralcoref 排坑