单片机中断系统概述:

中断是指单片机的CPU在执行程序过程中,外部有一些事件变化,如数据采集结束,电平变化,定时器/计数器溢出等,要求CPU立即处理,这时CPU暂时停止当前的执行程序,转去处理中断请求,处理后,再回到原来所执行程序的地址继续执行原来的程序,这个过程称为中断。
如图:

当CPU正在处理一个中断请求的时候,外部又发生了一个优先级比它高的中断事件,请求CPU及时处理。于是,CPU暂时中断当前的中断服务工作,转而处理所发生的事件。处理完毕,再回到原来被中断的地方,继续原来的中断处理工作。这样的过程,称为中断嵌套,这样的中断系统称为多级中断系统。
如图:

发出中断请求信号的设备称为中断源。中断源是引起中断的原因,不同的机器中断源也有所不同,一般中断源包括:外部设备,键盘,打印机,内部定时器、故障源以及根据某种需要人为设置的中断源。
要求中断处理发出的标志信号称为中断请求。
中断后转向执行的程序叫做中断服务或中断处理程序。原来的程序称为主程序,主程序被断开的地址称为断点。
实现中断功能的硬件系统和软件系统统称为中断系统。

作用:
中断系统在计算机应用系统中起着十分重要的作用,是计算机的重要组成部分,中断的使用消除了CPU在查询方式中的等待现象,大大提高了CPU的工作效率,改善了计算机的性能。
典型的80C51单片机是一个多中断源的单片机,其片内的中断系统主要用于实时控制,使单片机能及时响应和处理单片机外设或其内部所提出的中断要求。

51系列单片机中断源:

MCS-51中断系统包括5个中断请求源,4个用于中断控制和管理的可编程和位寻址的特殊功能寄存器,即中断请求标志寄存TCON、SCON,中断允许控制寄存器IE和中断优先级控制寄存器IP。MCS-51中断系统提供两个中断优先级,可实现二级中断嵌套,并且每一个中断源可编程为开放或屏蔽。
重点:
51子系列中有五个中断源(52子系列为6个),分为三类,即外部中断,定时器/计数器中断,串行口中断 :

1、外部中断0请求,中断请求信号方式为低电平或脉冲下降沿有效。由P3.2引脚输入。
2、外部中断1请求,中断请求信号方式为低电平或脉冲下降沿有效。由P3.3引脚输入。
3 、T0:定时器/计数器0溢出(信号作为)中断请求,当CPU响应该中断时由硬件清零。外部计数脉冲由P3.4引脚输入。
4、T1:定时器/计数器1溢出(信号作为)中断请求,当CPU响应该中断时由硬件清零。外部计数脉冲由P3.5引脚输入。
5、TX/RX:串行中断请求。当串行口完成一帧发送或接收时,由内部的硬件自动置位中断请求标志TI或RI,请求中断。注意RI、TI必须由用户软件清零复位,由P3.0,P3.1引脚输入。

51系列单片机中断请求标志寄存器
1.定时器/计数器控制寄存器TCON
TCON为定时器/计数器的控制寄存器,它同时也锁存T0、T1溢出中断源标志、外部中断请求标志,与这些中断请求源相关的位含义如表所示。

IT0(TCON.0):选择外部中断请求0为边沿触发或电平触发方式的控制位。IT0=0,电平触发方式,低电平有效;IT0=1,边沿触发方式,电平负跳变有效( 正跳变和负跳变就是上升沿和下降沿)。IT0可由软件置“1”或清“0”。

IE0(TCON.1):外部中断0的中断申请标志。当IT0=0时,每个机器周期的S5P2采样INT0,若INT0为低电平,则IE0置“1”。当IT0=1,若采样到电平由高变低,则IE0置“1”。IE0为1表示外部中断0正在向CPU申请中断。当CPU响应该中断,转向中断服务程序时,由硬件使IE0清“0” 。

IT1(TCON.2):选择外部中断请求1为边沿触发方式或电平触发方式的控制位,其作用和IT0类似

IE1(TCON.3):外部中断1的中断申请标志。其意义和IE0相同
TF0(TCON.5):MCS-51片内定时器/计数器0溢出中断申请标志。当启动T0计数后,定时器/计数器0从初始值开始1计数,当最高位产生溢出时,由硬件使TF0置“1”,向CPU申请中断,CPU 响应TF0中断时,TF0会自动清“0”。

TF1(TCON.7):MCS-51片内定时器/计数器1溢出中断申请标志,功能和TF0类似。
当MCS-51系统复位后,TCON各位被清0。

2.串行口控制寄存器SCON
SCON为串行口控制寄存器,SCON的低二位,锁存串行口的接收中断和发送中断标志,其格式如表所示。

TI(SCON.1):串行口的发送中断标志。当串行发送数据结束,发送停止位开始时,由内部硬件自动使TI置“1”,向CPU申请中断。向串行口的数据缓冲器SBUF写入一个数据后,就立即启动发送器继续发送。CPU响应发生器中断请求,转向执行中断服务程序时,并不清零TI,TI须由用户的中断服务程序清“0”,以便下次继续发送;

RI(SCON.0):串行口的接收中断标志。当串行接收数据结束,接收到停止位的中间时,由内部硬件自动使RI置“1”,向CPU申请中断。 同样RI必须由用户的中断服务程序清“0”,以便下次接收。

注:一般情况,以上五个中断源的中断请求标志是由中断机构硬件电路自动置位的,但也可以人为通过指令(SETB BIT),对TCON和SCON的中断标志位置位,即“软件代请中断”,这是单片机中断系统的一大特点。

3. 中断允许寄存器IE
MCS-51单片机对中断的开放或屏蔽,是由片内的中断允许寄存器IE控制的。IE的格式表所示。

IE寄存器各位功能(“0”—禁止中断,“1”—允许中断):
EA(IE.7):CPU的中断开放/禁止总控制位。EA=0时,禁止所有中断;EA=1时,开放中断,但每个中断还受各自的控制位控制。

ES(IE.4)允许或禁止串行口中断。ES=0时,禁止中断;ES=1时,允许中断。

ET1(IE.3):允许或禁止定时/计数器1溢出中断。ET1=0时,禁止中断;EX1=1时,允许中断。

EX1(IE.2):允许或禁止外部中断1中断。EX1=0时,禁止中断;EX1=1时,允许中断。

ET0(IE.1):允许或禁止定时器/计数器0溢出中断。ET0=0时,禁止中断,ET0=1时允许中断。

EX0(IE.0):允许或禁止外部中断0中断。EX0=0时,禁止中断;EX0=1时,允许中断。
当MCS-51系统复位后,IE各位均被清0,所有中断被禁止。

4.中断优先级寄存器IP
MCS-51单片机设有两级优先级,高优先级中断和低优先级中断。如果CPU正在处理的是低级的中断请求,那么高级的中断请求可以使CPU暂停处理低级中断请求的中断服务程序,转而处理高级中断请求的中断服务程序,待处理完高级中断请求的中断服务程序后,再返回原低级中断请求的中断服务程序,这种情况称为中断嵌套。具有中断嵌套的系统称为多级中断系统,没有中断嵌套的系统称为单级中断系统。
中断源的中断优先级分别由中断控制寄存器IP的各位来设定。IP的格式如表所示。

IP 寄存器各位功能( “0”—低优先级,“1”—高优先级):
PS(IP.4):串行口中断优先级控制位。PS=1,为高优先级中断,PS=0,为低优先级中断。

PT1(IP.3):定时/计数器T1中断优先级控制位。PT1=1,高优先级中断,PT1=0,低优先级中断。

PX1(IP.2):外部中断1中断优先级控制位。PX1=1,高优先级中断,PX1=0,低优先级中断。

PT0(IP.1):定时器/计数器T0中断优先级控制位。PT0=1,高优先级中断,PT1=0,低优先级中断。

PX0(IP.0):外部中断0中断优先级控制位。PX0=1,高优先级中断,PX0=0,低优先级中断。
注意:
中断申请源的中断优先级的高低,由中断优先级控制寄存器IP的各位控制,IP的各位由用户用指令来设定。
复位操作后,IP= ××00000B,即各中断源均设为低优先级中断

中断查询顺序,优先问题:
若CPU正在对某一个中断服务。则级别低的或同级中断申请不能打断正在进行的服务。而级别高的中断申请则能中止正在进行的服务,使CPU转去更高级的中断服务。若多个中断源同时申请中断,则级别高的优先级先服务。若同时收到几个同一级别的中断请求时,中断服务取决于系统内部辅助优先顺序。在每个优先级内,存在着一个辅助优先级,其优先顺序如表所示。

综上所述,中断系统的使用规则:

  1. 低优先级中断可以被高级中断系统中断,反之不能;
  2. 当多个中断源同时发出申请时,级别高的优先级先服务,先按高低优先级区分,再按辅助优先级区分。

最后补充一个中断函数:
在C51中,中断服务程序即定义的中断函数。当中断事件发生后,对应的中断函数被自动调用,中断函数既没有参数,也没有返回值。

//中断服务函数的一般形式为:函数类型   函数名()  interrupt  n using  n
//例如,外中断2的中断服务函数如下:void  int1( )  interrupt 2 using 1/*中断号n=2,选择1区工作寄存器区(通常省略不写,否则仿真软件可能仿真失败)*/

单片机中断系统(51为例)相关推荐

  1. 51单片机中断系统实验

    51单片机中断系统实验 一.实验内容 INT0端接单次脉冲发生器.按一次脉冲产生一次中断,CPU使P1.0状态发生一次反转,P1.0接LED灯,以查看信号反转. 根据实验内容编写一个程序,并在实验系统 ...

  2. C51单片机————中断系统

    51单片机中断系统 CPU和外设之间的速度差异太大,CPU跑的太快了,外设追不上,机器的内部也可能出现突发事件.那怎么办?所以引入中断技术呀. Created with Raphaël 2.1.2张三 ...

  3. 基于STC89C51单片机中断系统操作

    MCS-51 单片机中断系统 CPU正在处理某件事情时,外部发生另一件事情,请求CPU处理后CPU暂时停止工作后,转入处理发生的事情,结束后返回原任务.这一程序称为中断. Created with R ...

  4. 51单片机 | 中断系统

    文章目录 一.中断介绍 1.中断概念 二.中断结构及相关寄存器 1.中断结构 2.中断相关寄存器   这一节专门介绍 51单片机的中断系统,为后面学习外部中断.定时器中断.串口中断做好铺垫. 一.中断 ...

  5. 单片机c语言中断意义,51单片机中断系统的重要性

    描述 在接下来的教程中,将会介绍定时器.串口通信等外设的基本使用,而这些外设的使用都要涉及中断,而且中断是单片机或嵌入式开发中一个相当重要的概念.不能掌握中断系统,就无法灵活应用这些外设. 1.什么是 ...

  6. 51单片机——中断系统、外部中断、定时器中断、串口通信C语言入门编程

    目录 中断系统: 外部中断: 1.外部中断0.1:当触发时,LED状态取反 定时器中断: 1.定时器0.1:LED以1S为周期闪烁 串口通信: 1.串口中断:通过串口发送什么数据给单片机,单片机再通过 ...

  7. 51单片机 | 中断系统概念及结构

    -------------------------------------------- 中断的过程: 对于单片机来讲,中断是指CPU在处理某一时间A时,发生了另一事件B请求CPU立刻去处理(中断发生 ...

  8. 蓝桥杯单片机——中断系统(7)

    一.原理分析 1.什么是中断? CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生):CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务):待CPU将事件B处理完毕后, ...

  9. 单片机中断系统应用实例(两组实验+Proteus仿真+C源程序)

    中断系统应用实例 1.实验说明 2.实验一 2.1.实验效果 2.2.Proteus仿真图 2.3.源程序 3.实验二 3.1.实验效果 3.2.Proteus仿真图 3.3.源程序 1.实验说明 实 ...

最新文章

  1. Gradle 6.6 发布,引入配置缓存特性,大幅提升构建性能
  2. Mac安装Open CC进行繁简转化
  3. 小米android系统耗电量大,小米手机耗电快的解决方法,亲测有效~
  4. 边沿触发是什么意思_集基耦合双稳电路,集成化单稳电路,数字逻辑电路,门电路,触发器...
  5. mysql 重置密码语音_数字语音信号处理学习笔记语音信号的同态处理(2)
  6. ubuntu全局配置文件
  7. 【大云制造】大云PaaS平台BC-PaaS V2.4—— 治理微服务,纳管中间件,平台能力更全面!...
  8. 有关Unity编辑器
  9. 神秘的程序员——编程的乐趣
  10. dedecms采集经验
  11. Windows10 部分系统无法安装USB转串口驱动问题解决
  12. excel宏编程 c语言,宏(巨集)
  13. python怎么重启内核_python怎么重启服务器
  14. 在虚拟机上使用Ghost备份/恢复操作系统
  15. 20230103编译ToyBrick的TB-RK3588X的Andorid12的LOG01
  16. 证明雅可比式(图文详解)
  17. 菜鸟写jquery入门教程(for web前端开发群4)(01)
  18. 苹果内购之不能超过99.99美金被拒绝
  19. 计算机意外重启或错误,Win7系统安装提示计算机意外重启或遇到错误解决方案...
  20. 【SQLite】SQLite简介

热门文章

  1. 什么是企业上云?企业为什么要上云?企业上云包括哪些方面?
  2. html 实现下拉菜单效果
  3. 『杭电1411』校庆神秘建筑
  4. 嵌入式单片机高级篇(三)Stm32F103+OV2640摄像头
  5. 计算机毕业设计ssm大学生就业推荐系统
  6. thinking c++
  7. Excel怎么提取相同背景颜色数据
  8. python并且符号_Python如何从文字中分离标点符号
  9. 小程序代码包解包失败
  10. Finebi在linux中的安装与运行