0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

中断是什么意思 中断源的优先级判断 中断控制寄存器有哪些

冬至子 来源:落木青云 作者:一颗糯米 2023-07-28 15:32 次阅读

01

什么是中断

前面的文章中我举上课的例子简单描述了中断,那么单片机系统里中断是什么呢?

中断,是指当计算机执行正常程序时,系统中出现某些急需处理的异常情况和特殊请求,CPU暂时中止正在运行的程序,转去对随机发生的更为紧迫的事件进行处理,处理完毕后,CPU自动返回原来的程序继续执行。

实现中断功能的硬件和软件系统称为中断系统。能向CPU发出中断请求的事件称为中断源。

若有多个中断源同时请求中断时,或者CPU正在处理某外部事件时,又有另一外部事件申请中断,CPU通常会根据中断源的紧急程度,将其进行排列,规定每个中断源都有一个中断优先级。

中断优先级可由硬件排队或软件排队来设定,CPU按其优先顺序处理中断源的中断请求。优先级高的事件可以中断CPU正在处理的低级的中断服务程序,待完成了高级中断服务程序之后,再继续执行被中断了的低级中断服务程序,这就是中断的嵌套。

图片

02

中断源与中断优先级

C51有如下5个中断源:

• INT0(P3.2)外部中断0。当IT0(TCON.0)=0时,低电平有效;

当IT0(TCON.0)=1时,下降沿有效。

• INT1(P3.3)外部中断1。当IT1(TCON.2)=0时,低电平有效;

当IT1(TCON.2)=1时,下降沿有效。

TF0定时/计数器T0溢出中断。

• TF1定时/计数器T1溢出中断。

• RX,TX串行中断。

C52又增加了一个中断源,即定时/计数器T2溢出中断。

图片

中断优先级是在列表越前面的优先级又高,表中列出了默认优先级,数字越小的优先级越高。当然也可以通过设置改变这个顺序。

当然现在新上市的51单片机可能包含更多的中断源,但是基本的这几个肯定都有的,其他额外添加的也是大同小异,都能根据芯片手册看明白。比如STC89系列单片机就有8个中断源,如图:

图片

03

中断控制寄存器

51单片机的中断相关控制寄存器包括了中断控制寄存器(Interrupt Enable register,IE)和中断优先级控制寄存器(Interrupt Priority register,IP),前者用于对 MCS-51单片机的中断工作状态进行控制,后者用于对MCS-51单片机的中断优先级进行控制。

允许中断寄存器IE的各位定义如下:

图片

EA是总中断允许位。当EA=0时,禁止所有中断;当EA=1时,每个中断源是允许还是禁止由各自的允许位确定。

ET2是定时器2中断允许位。当ET2=0时,禁止定时器2中断。

ES是串行口中断允许位。当ES=0时,禁止串行口中断。

ET1是定时器1中断允许位。当ET1=0时,禁止定时器1中断。

EX1是外部中断1允许位。当EX1=0时,禁止外部中断1。

ET0是定时器0中断允许位。当ET0=0时,禁止定时器0中断。

EX0是外部中断0允许位。当EX0=0时,禁止外部中断0。

中断优先级寄存器IP的各位定义如下:

图片

PT2是定时器2中断优先级设定位。

PS是串行口中断优先级设定位。

PT1是定时器1中断优先级设定位。

PX1是外部中断1优先级设定位。

PT0是定时器0中断优先级设定位。

PX0是外部中断0优先级设定位。

IP寄存器中各位均具有以下特点,即当为0时,为低中断优先级;当为1时,为高中断优先级。系统复位后,IP寄存器中各位均为0,即此时全部设定为低中断优先级。在中断执行过程中,低优先级中断可被高优先级中断所中断,反之不能。

另外,同级的中断不能互相中断。当几个同级的中断源同时向CPU申请中断时,CPU按硬件次序排定优先权,依次为外部中断0(INT0)、定时/计数器T0溢出中断、外部中断1(INT1)、定时/计数器T1溢出中断、串行口中断、定时/计数器T2溢出中断。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 51单片机
    +关注

    关注

    273

    文章

    5697

    浏览量

    123128
  • 中断系统
    +关注

    关注

    1

    文章

    96

    浏览量

    61000
  • STC89
    +关注

    关注

    1

    文章

    20

    浏览量

    16272
  • 中断控制器
    +关注

    关注

    0

    文章

    59

    浏览量

    9437
  • 定时器中断
    +关注

    关注

    0

    文章

    49

    浏览量

    11163
收藏 人收藏

    评论

    相关推荐

    MCS-51 系统中断优先级的软扩展

    鉴于MCS-51 系统只提供“二中断嵌套”, 提出扩展51 系统中断优先级的纯软件方法。其利用51系统内建的中断允许
    发表于 05-15 16:23 19次下载

    51单片机几个中断?

    051单片机五个中断请求,四个用于中断控制寄存器IE.IP.TCON和SCON,用于
    发表于 11-17 15:09 6.6w次阅读
    51单片机<b class='flag-5'>有</b>几个<b class='flag-5'>中断</b><b class='flag-5'>源</b>?

    单片机里面的中断优先级相关寄存器详解

    中断优先级的内容,一般紧急的中断特别紧急的中断,这取决于具体的系统设计,这就涉及到
    的头像 发表于 02-03 12:51 1.2w次阅读

    51单片机的中断优先级中断嵌套的详细资料概述

    基本型80C51系列单片机5个中断,2个优先级,每个中断可通过软件设置为高
    发表于 09-03 17:28 5次下载
    51单片机的<b class='flag-5'>中断</b><b class='flag-5'>优先级</b>和<b class='flag-5'>中断</b>嵌套的详细资料概述

    51单片机的中断优先级是怎么样的及中断嵌套的资料说明

    在MCS-中断优先级中由中断优先级寄存器IP来高置的,IP中某位设为1,相应的中断就是高
    发表于 08-20 17:31 2次下载
    51单片机的<b class='flag-5'>中断</b><b class='flag-5'>优先级</b>是怎么样的及<b class='flag-5'>中断</b>嵌套的资料说明

    单片机中断系统和中断控制寄存器中断响应的详细资料说明

    5个固定的中断,其中3个在片内,2个在片外,它们在程序存储ROM中都分别有各自固定的中断入口地址,由此进入
    发表于 07-24 17:37 3次下载
    单片机<b class='flag-5'>中断</b>系统和<b class='flag-5'>中断</b><b class='flag-5'>控制</b><b class='flag-5'>寄存器</b>与<b class='flag-5'>中断</b>响应的详细资料说明

    为什么51单片机的默认中断优先级都是低级及中断嵌套

    51单片机(80C51系列)5个中断,2个优先级,可以实现二中断服务嵌套。现在很多扩展的5
    发表于 07-23 17:37 1次下载
    为什么51单片机的默认<b class='flag-5'>中断</b><b class='flag-5'>优先级</b>都是低级及<b class='flag-5'>中断</b>嵌套

    51单片机的中断优先级中断嵌套的详细资料说明

    51单片机(80C51系列)5个中断,2个优先级,可以实现二中断服务嵌套。现在很多扩展的5
    发表于 07-09 17:41 3次下载
    51单片机的<b class='flag-5'>中断</b><b class='flag-5'>优先级</b>及<b class='flag-5'>中断</b>嵌套的详细资料说明

    51单片机与中断相关的寄存器

    51单片机与中断相关的寄存器简介中断控制寄存器IE中断优先级
    发表于 11-12 11:36 8次下载
    51单片机与<b class='flag-5'>中断</b>相关的<b class='flag-5'>寄存器</b>

    单片机之中断优先级设置

    STC12C5A60S2单片机复位后IP、IP2、IPH、IP2H均为00H,各个中断都是低优先级=》不能被同级中断中断
    发表于 11-17 09:36 6次下载
    单片机之<b class='flag-5'>中断</b><b class='flag-5'>优先级</b>设置

    STM32中断优先级的分配以及中断原则

    STM32d的中断优先级由NVIC_IPRx寄存器来配置,IPR的宽度为8bit所以原则上每个中断可配置的优先级为0~255,数值越小
    发表于 11-19 10:21 52次下载
    STM32<b class='flag-5'>中断</b><b class='flag-5'>优先级</b>的分配以及<b class='flag-5'>中断</b>原则

    STM32NVIC中断优先级

    中断,其中包含了16个内核中断,68个可屏蔽中断,具有16可变陈的中断优先级。在MDK中,与
    发表于 01-14 15:15 2次下载
    STM32NVIC<b class='flag-5'>中断</b><b class='flag-5'>优先级</b>

    STM32笔记之中断优先级和开关总中断

    ’亚优先级’或’副优先级’,每个中断都需要被指定这两种优先级。具有高抢占式优先级
    发表于 01-14 15:24 13次下载
    STM32笔记之<b class='flag-5'>中断</b><b class='flag-5'>优先级</b>和开关总<b class='flag-5'>中断</b>

    STM8S105硬件中断映射表和软件中断优先级

    硬件中断优先级中0最高,依次优先级降低。只有当软件优先级相同时,单片机才进行硬件优先级判断,且
    发表于 01-14 15:28 1次下载
    STM8S105硬件<b class='flag-5'>中断</b>映射表和软件<b class='flag-5'>中断</b><b class='flag-5'>优先级</b>位

    CLINT中断控制器优先级和抢占

    提供软件、定时和外部中断。CLINT 块还保存与软件和定时中断相关的内存映射控制和状态寄存器
    的头像 发表于 10-08 09:30 711次阅读
    CLINT<b class='flag-5'>中断控制器</b><b class='flag-5'>优先级</b>和抢占