精华内容
下载资源
问答
  • 8051单片机实战分析(以STC89C52RC为例) | 01 - 点亮一LED 8051单片机实战分析(以STC89C52RC为例) | 02 - LED延时约5s闪烁 8051单片机实战分析(以STC89C52RC为例) | 03 - LED流水灯 8051单片机实战分析(以...

    1 中断的概念

    中断是为使单片机具有对外部或者内部随机发生的事件实时处理而设置的。

    把自己想象成单片机的CPU,你正在打王者荣耀,但是突然快递小哥给你打电话让你去拿快递(被打断心情很不爽。。。),于是你停下游戏去拿快递了。快递小哥的电话就是中断信号,告诉你有其他的事情需要先去做,然后你去拿快递就相当于中断之后要去处理的事情。

    2 中断源

    顾名思义,中断源就是产生中断的来源,在前面讲述中断的概念中,中断源就是“电话”!这就是外部世界在“干扰”你,让你不得不去处理,在单片机中抽象为“外部中断”。

    除了外部中断,当然也有“内部中断”,例如,你家正在煲汤,你给自己设置一个每相隔半个小时就去看一下煲汤的情况,其余时间你都在学习,这个“中断”就相当于有了一个“定时器”,每次半小时一到达,你就得去一下厨房,没错,这个就是“定时器中断”。

    当然,除此之外,8051单片机还有一个串行口中断。这个在之后实战中,我们会认识到它的原理!

    8051单片机有五个中断源:

    • INT0——外部中断0
    • INT1——外部中断1
    • T0——定时器/计数器0中断
    • T1——定时器/计数器1中断
    • TI/RI——串行口中断

    这里需要注意:定时器和中断不是一回事,定时器是单片机模块的一个资源,确确实实存在的一个模块,而中断,是单片机的一种运行机制。 很多人会误以为定时器和中断是一个东西,只有定时器才会触发中断,其实根据前面的介绍,中断有很多来源。

    3 中断优先级

    在这里我们继续举例子,比如我正在看电视,这个时候来电话了,我要进入接电话的“中断”程序当中去,就在接电话的同时,听到了水烧开的声音,水烧开的“中断”也发生了,我们就必须要放下手上的电话,先把煤气关掉,然后再回来听电话,最后听完了电话再看电视,这里就产生了一个优先级的问题。

    还有一种情况,我们在看电视的时候,这个时候听到水开的声音,水开的“中断”发生了,我们要进入关煤气的“中断”程序当中,而在关煤气的同时,电话声音响了,而这个时候,我们的处理方式是先把煤气关闭,再去接听电话,最后再看电视。

    从这两个过程中,我们可以得到一个结论,就是最紧急的事情,一旦发生后,我们不管当时处在哪个“程序”当中,我们必须先去处理最最紧急的事情,处理完毕后再去解决其它事情。在我们的单片机程序当中有时候也是这样的,有一般紧急的中断,有特别紧急的中断,这取决于具体的系统设计,这就涉及到中断优先级和中断嵌套的概念。

    以下表格中最右边是8051几个优先级的情况:

    中断优先级有两种,一种是抢占优先级,一种是固有优先级,关于这块这里理解一下它们的概念即可,实战中用到之时再去分析!

    抢占优先级:

    当进入低优先级中断中执行时,如又发生了高优先级的中断,则立刻进入高优先级中断执行,处理完高优先级级中断后,再返回处理低优先级中断,这个过程就叫做中断嵌套,也称为抢占

    所以抢占优先级的概念就是,优先级高的中断可以打断优先级低的中断的执行,从而形成嵌套。当然反过来,优先级低的中断是不能打断优先级高的中断的。

    固有优先级

    那么既然有抢占优先级,自然就也有非抢占优先级了,也称为固有优先级。在上面的表格中的最后一列给出的就是固有优先级,请注意,在中断优先级的编号中,一般都是数字越小优先级越高。从表中可以看到一共有 1~5 共 5 级的优先级,这里的优先级与抢占优先级的一个不同点就是,它不具有抢占的特性,也就是说即使在低优先级中断执行过程中又发生了高优先级的中断,那么这个高优先级的中断也只能等到低优先级中断执行完后才能得到响应。

    展开全文
  • 案例分析:中断与查询相结合的方法是把系统中多外部中断源按它们的重要程度进行排序,把其中最高级别的中断源接到MCS-51的一外部中断源输入端(例如接到 脚),其余的中断源用线“或”的方法连接到另一外部中断...

    20150323113254509.jpg

    案例分析:

    中断与查询相结合的方法是把系统中多个外部中断源按它们的重要程度进行排序,把其中最高级别的中断源接到MCS-51的一个外部中断源输入端(例如接到 脚),其余的中断源用线“或”的方法连接到另一个外部中断输入端( ),并同时接到一个I/O口,如图3中所示接到P1口。中断请求由硬件电路产生,而中断源的识别由程序查询来处理,查询顺序由中断源的优先级决定。图3为五个外部中断源的连接电路,其中设备1~4经OC门与 连接,并连接到P1.0~P1.3,均采用电平触发方式。设备0为最高级中断源,单独作为外部中断0的输入信号。这种办法扩展比较简单,但是当外部中断扩展的数量较多时,查询的时间比较长,导致程序的执行效率较低。

    程序代码:

    ORG 1000H

    LJMP INTR

    INTR: PUSH PSW ; 保护现场

    PUSH A

    JNB P1.0, IR1 ; P1.0引脚为0,转至设备1中断服务程序

    JNB P1.1, IR2 ; P1.1引脚为0,转至设备2中断服务程序

    JNB P1.2, IR3 ; P1.2引脚为0,转至设备3中断服务程序

    JNB P1.3, IR4 ; P1.3引脚为0,转至设备4中断服务程序

    INTR1: POP A ; 恢复现场

    POP PSW

    RETI ; 中断返回

    IR1: …… ; 设备1中断服务程序入口

    AJMP INTR1 ; 跳转到INTR1所指示的指令

    IR2: …… ; 设备2中断服务程序入口

    AJMP INTR1 ; 跳转到INTR1

    IR3: …… ; 设备3中断服务程序入口

    AJMP INTR1 ; 跳转到INTR1

    IR4: …… ; 设备4中断服务程序入口

    AJMP INTR1 ; 跳转到INTR1

    展开全文
  • 本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧...中文名中断外文名Interrupt Request分类中断装置和中断处理程序相关概念程序状态字和向量中断等系统功能实现中断响应和中断返回等中断定...

    本词条缺少概述图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!

    中断装置和中断处理程序统称为中断系统。

    中断系统是计算机的重要组成部分。实时控制、故障自动处理、计算机与外围设备间的数据传送往往采用中断系统。中断系统的应用大大提高了计算机效率。

    中文名

    中断

    外文名

    Interrupt Request分    类

    中断装置和中断处理程序

    相关概念

    程序状态字和向量中断等

    系统功能

    实现中断响应和中断返回等

    中断定义

    编辑

    语音

    不同的计算机其硬件结构和软件指令是不完全相同的,因此,中断系统也是不相同的。计算机的中断系统能够加强CPU对多任务事件的处理能力。中断机制是现代计算机系统中的基础设施之一,它在系统中起着通信网络作用,以协调系统对各种外部事件的响应和处理。中断是实现多道程序设计的必要条件。 中断是CPU对系统发生的某个事件作出的一种反应。 引起中断的事件称为中断源。中断源向CPU提出处理的请求称为中断请求。发生中断时被打断程序的暂停点称为断点。CPU暂停现行程序而转为响应中断请求的过程称为中断响应。处理中断源的程序称为中断处理程序。CPU执行有关的中断处理程序称为中断处理。而返回断点的过程称为中断返回。中断的实现实行软件和硬件综合完成,硬件部分叫做硬件装置,软件部分称为软件处理程序。

    中断响应处理

    编辑

    语音

    大多数中断系统都具有如下几方面的操作,这些操作是按照中断的执行先后次序排列的。①接收中断请求。②查看本级中断屏蔽位,若该位为1则本级中断源参加优先权排队。③中断优先权选择。④处理机执行完一条指令后或者这条指令已无法执行完,则立即中止现行程序。接着,中断部件根据中断级去指定相应的主存单元,并把被中断的指令地址和处理机当前的主要状态信息存放在此单元中。⑤中断部件根据中断级又指定另外的主存单元,从这些单元中取出处理机新的状态信息和该级中断控制程序的起始地址。⑥执行中断控制程序和相应的中断服务程序。⑦执行完中断服务程序后,利用专用指令使处理机返回被中断的程序或转向其他程序。

    中断相关概念

    编辑

    语音

    程序状态字和向量中断

    这是两个与中断响应和处理有密切关系的概念。

    ① 程序状态字:每个程序均有自己的程序状态字。现行程序的程序状态字放在处理机的程序状态字寄存器中。程序状态字中最主要的内容有指令地址、条件码、地址保护键,中断屏蔽和中断响应时的中断源记录等。中断响应和处理操作的第④步和第⑤步就是交换程序状态字操作。

    ② 向量中断:对应每一级中断都有一个向量,这些向量顺序存放在主存的指定单元中。向量的内容是:相应的中断服务程序起始地址和处理机状态字(主要是指令地址)。在中断响应时,由中断部件提供中断向量的地址,就可取出该向量。中断响应和处理操作的第⑤步就是取中断向量操作。在采用向量中断的机器中一般不再使用程序状态字。

    中断系统功能

    编辑

    语音

    1)实现中断响应和中断返回

    当CPU收到中断请求后,能根据具体情况决定是否响应中断,如果CPU没有更急、更重要的工作,则在执行完当前指令后响应这一中断请求。CPU中断响应过程如下:首先,将断点处的PC值(即下一条应执行指令的地址)推入堆栈保留下来,这称为保护断点,由硬件自动执行。然后,将有关的寄存器内容和标志位状态推入堆栈保留下来,这称为保护现场,由用户自己编程完成。保护断点和现场后即可执行中断服务程序,执行完毕,CPU由中断服务程序返回主程序,中断返回过程如下:首先恢复原保留寄存器的内容和标志位的状态,这称为恢复现场,由用户编程完成。然后,再加返回指令RETI,RETI指令的功能是恢复PC值,使CPU返回断点,这称为恢复断点。恢复现场和断点后,CPU将继续执行原主程序,中断响应过程到此为止。

    2)实现优先权排队

    通常,系统中有多个中断源,当有多个中断源同时发出中断请求时,要求计算机能确定哪个中断更紧迫,以便首先响应。为此,计算机给每个中断源规定了优先级别,称为优先权。这样,当多个中断源同时发出中断请求时,优先权高的中断能先被响应,只有优先权高的中断处理结束后才能响应优先权低的中断。计算机按中断源优先权高低逐次响应的过程称优先权排队,这个过程可通过硬件电路来实现,亦可通过软件查询来实现。

    3)实现中断嵌套

    当CPU响应某一中断时,若有优先权高的中断源发出中断请求,则CPU能中断正在进行的中断服务程序,并保留这个程序的断点(类似于子程序嵌套),响应高级中断,高级中断处理结束以后,再继续进行被中断的中断服务程序,这个过程称为中断嵌套。如果发出新的中断请求的中断源的优先权级别与正在处理的中断源同级或更低时,CPU不会响应这个中断请求,直至正在处理的中断服务程序执行完以后才能去处理新的中断请求。

    中断源分类

    编辑

    语音

    中断源是指能够引起中断的原因。

    一台处理机可能有很多中断源,但按其性质和处理方法,大致可分为如下五类。

    ① 机器故障中断。

    ② 程序性中断。现行程序本身的异常事件引起的,可分为以下三种:一是程序性错误,例如指令或操作数的地址边界错,非法操作码和除数为零等;二是产生特殊的运算结果,例如定点溢出;三是程序出现某些预先确定要跟踪的事件,跟踪操作主要用于程序调试。有些机器把程序性中断称为“异常”,不称为中断。

    ③ 输入-输出设备中断。

    ④ 外中断。来自控制台中断开关、计时器、时钟或其他设备,这类中断的处理较简单,实时性强。

    ⑤ 调用管理程序。用户程序利用专用指令“调用管理程序”发中断请求,是用户程序和操作系统之间的联系桥梁。

    在51单片机中有5个中断源

    中断号 优先级 中断源 中断入口地址

    0 1(最高) 外部中断0 0003H

    1 2 定时器0 000BH

    2 3 外部中断1 0013H

    3 4 定时器1 001BH

    4 5 串口中断 0023H

    中断优先权

    编辑

    语音

    几个中断请求可能同时出现,但中断系统只能按一定的次序来响应和处理。可最先被响应的中断具有最高优先权,按优先级别顺序进行处理。优先权高低是由中断部件的中断排队线路确定的。

    中断中断级

    当机器设置很多中断源时,为了简化设计,对中断源分组管理。具有相同中断优先权的中断源构成一个中断级。同一级中断使用同一个中断控制程序起点。

    中断中断屏蔽

    对应于各中断级设置相应的屏蔽位。只有屏蔽位为1时,该中断级才能参加中断优先权排队。中断屏蔽位可由专用指令建立,因而可以灵活地调整中断优先权。有些机器针对某些中断源也设置屏蔽位,只有屏蔽位为1时,相应的中断源才起作用。

    展开全文
  • 中断优先级

    千次阅读 2021-07-25 04:32:43
    为使系统能及时响应并处理发生的所有中断,系统根据引起中断事件的重要性和紧迫程度,硬件将中断源分为若干级别,称作中断优先级。在实际系统中,常常遇到多个中断源同时请求中断的情况,这时CPU必须确定首先为哪...
  • 多外部中断源系统设计
  • 多重中断的处理及其中断源屏蔽字

    千次阅读 2021-01-08 19:25:09
    如果CPU在执行某一中断服务程序过程中,又遇到了新的更高级的中断请求,CPU暂停原中断的处理,而转去处理新的中断,待处理完毕后,再返回继续处理原来的中断,这种中断称为多重中断,也称中断嵌套。 2、多重中断的...
  • 在proteus中绘制单片机和可编程中断控制器8259实现通过4按键触发中断作为8259的中断源输入,来控制单片机P3.3~P3.5的状态反转,数码管计数器的值加1,直到显示数字9,重新回0计数。
  • STM32 通过根据引脚的序号不同将众多中断触发分成不同的组,比如:PA0,PB0,PC0,PD0,PE0,PF0,PG0为第一组,那么依此类推,我们能得出一共16 组,STM32 规定,每一组中同时只能个中断触发工作,那么,...
  • STM32怎么看中断源

    2021-04-09 10:49:56
    STM32怎么看中断源: 以USART1_IRQn为例,它在stm32f4xx.h文件的第196行开始的typedef enum IRQn中。 截取其中属于F407的部分: typedef enum IRQn { /****** Cortex-M4 Processor Exceptions Numbers *************...
  • 说最基本的,老的51单片机(80C51系列)5个中断源,2优先级,可以实现二级中断服务嵌套。现在很多扩展的51单片机已经4优先级(或更多)和更多的中断源了。在说到中断之前,我先来定义一下优先级,明白了什么是...
  • demi 发布于:周三, 10/16/2019 - 15:15 ,关键词:51单片机包含五个中断源,两级中断优先级,优先级可编程设置,通过IP进行设置。● PX0(IP.0),外部中断0优先级设定位;● PT0(IP.1),定时/计数器T0优先级设定位;...
  • 介绍了ARM的工作模式、中断源、中断优先级和标志寄存器
  • 4.2 51单片机-中断

    2021-10-28 16:49:20
    4.2 中断 4.2.1 中断介绍 中断系统是为使CPU具有对...微型机的中断系统一般允许多个中断源,当几个中断源同时向CPU请求中断,要求为它服务的时候,这就存在CPU优先响应哪一个中断源请求的问题。通常根据中断源的轻
  • 一起来学习LiteOS中断模块的代码

    千次阅读 2021-03-12 10:07:10
    中断源代码、开发文档,示例程序代码如下: LiteOS内核中断源代码 包括中断模块的私有头文件kernel\base\include\los_hwi_pri.h、头文件kernel\include\los_hwi.h、C源代码文件kernel\base\los_hwi.c。 中.
  • is being built 完成句子,使改写后的句子完整,并与原句意思相符,注意每空只填一单词。 1. The boy went to bed after he f — When shall we go to watch the basketball match in the sports centre? — Not...
  • STM32F47外部GPIO中断源,它们负责分配给每组的GPIO[15..0]; 对应关系为 外部中断初始化顺序为: GPIO_InitTypeDef GPIO_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; EXTI_InitTypeDef ...
  • 中断系统

    2021-01-14 19:23:10
    51单片机5个中断源,分别是外部中断0,定时/计数器T0中断,外部中断1,定时/计数器T1中断,串行口中断,对应地址如下表: 中断源 中断矢量地址 外部中断0 0003H 定时/计数器T0中断 000BH 外部中断1 ...
  • 51单片机外部中断拓展(两以上的外部中断

    千次阅读 多人点赞 2021-05-14 14:17:03
    在很多单片机中,外部中断的个数都是有限的,而很多现实场景需要外部中断同时进行,这时候单片机自带的外部中断端口可能就不够用了,那么,怎么解决这问题呢,本文将会用最典型的51单片机为例,介绍两种较...
  • 如果要你讲一下中断,你会怎么去描述一中断的触发流程呢?... 当多个中断源同时提出中断请求时,中断系统如何确定优先响应哪个中断请求? CPU在什么条件、什么时候、以什么方式来响应中断? ..
  • 中断系统6中断请求源(简称中断源)(80c51单片机5个中断源),两中断优先级,可实现两级中断服务程序嵌套。 每一中断源可用软件独立控制为允许中断或关中断状态,中断优先级均可用软件来设置。 图4-2 AT...
  • 第6章 中断与DMA第2节 中断中断系统第二节 中断中断系统2.1 中断的概念1、 中断中断系统"中断(Interrupt)"是一种操作,它使CPU中止正在执行的程序,而转入称为"中断处理程序(Interrupt Handler)"(或称中断...
  • 当第二个中断结束时,第一个中断将恢复,就像第一个中断结束时X将恢复一样.但是,唯一的过程上下文是过程X. 您可以将它们描述为上下文切换,但它们与流程上下文切换不同.它们更类似于进入和退出内核 – 进程上下文保持...
  • 52单片机中断

    千次阅读 2021-02-02 15:03:00
    一 中断的概念 CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理(中断发生); CPU暂时中断当前的工作,转去处理事件B(中断响应和中断服务); 待CPU将事件B处理完毕后,再...1.中断源有中断请求; 2.此中断
  • 6.STC15W408AS单片机外部中断

    千次阅读 2021-07-15 09:29:24
    STC15W408AS单片机4外部中断,它们分别是:外部中断0(INT0)、外部中断1(INT1)、外部中断2(INT2)、外部中断3(INT3)。 外部中断0(INT0)和外部中断1(INT1)触发两种触发方式,上升沿或下降沿均可触发方式 和仅...
  • STM8S中断系统

    2021-04-07 22:53:13
    STM8单片机自己的独特的终端系统 ...引发中断的一事件或者根源就称为中断源。 STM8S208RB单片机共有27个中断源: 可以分为两大类: 1、可屏蔽中断源 :3 2、不可屏蔽中断源:24 ...
  • 51单片机中断系统程序实例 (STC89C52RC)51单片机中断,在程序设计中就可以做到,在做某件事的过程中,停下来先去响应中断,做别的事情,做好别的事情再继续原来的事情。中断优先级是可以给要做的事情排序。...
  • 1.GIC中断控制器介绍 ...一CPU可通过写GIC的寄存器给另外一CPU产生中断(IPI_WAKEUP、IPI_TIMER等)。SGI中断通常在Linux内核里被称为IPI中断(interprocess interrupts)。 (2)PPI(Private Perip
  • MCS-51单片机的中断系统

    千次阅读 2021-01-05 22:44:03
    单片机中断技术概述 在任何一款事件驱动型的CPU里面都应该会中断系统,因为中断就是为响应某种事件而存在的。...单片机的中断系统5个中断源、2中断优先级,可实现两级中断服务程序嵌套。 如果单片机没有中
  • 本文主要介绍什么是中断中断的基本概念、中断的处理过程、中断系统的结构和中断系统控制寄存器

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 250,150
精华内容 100,060
关键字:

中断源有多少个