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

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

3天内不再提示

单片机的默认中断优先级

CHANBAEK 来源:Zi Jin Code 作者: 锟酱不是酱 2023-11-01 11:30 次阅读

上一篇教程我们简单认识和学习了中断怎么使用,认识了单片机里面的几种中断源,学习了怎么配置中断的设置

这里简单的复习一下几种中断源

中断符号中断名称
IE0外部中断0(INT0)
ET0Timer0中断
IE1外部中断1(INT1)
ET1Timer1中断
ESUART串口中断
ET2Timer2中断

阳光明媚的秋日,你坐在琴桌前轻抚古琴,这时候门外传来敲门声,你正要起身,身旁茶桌上的水壶里的水烧开了……

你起身,从炉上拿起烧水壶放在一旁,再来到门前打开了门……

提起水壶和开门是两个事件,当两个事件发生的时候总要有顺序的,先提起水壶再开门或者先开门后提起水壶所造成的结果是不同的。往往为了安全,我们会先提起水壶再去开门,这就是我们处理两个事件的顺序

在单片机中,倘若同一个时刻Timer0触发了中断,Timer1也触发了中断,这时候外部中断又触发了。单片机会先执行哪个中断操作呢?

是不是随意执行一个操作呢?

显然不是的,为了保证程序的有序执行,单片机根据“中断优先级”判断中断是否需要优先执行

优先级越高的中断,越优先执行

单片机的默认中断优先级

单片机里面,已经对中断的优先级进行设置,这是C51的所有中断优先级

中断优先级(数字越大越优先)中断符号中断名称
6IE0外部中断0(INT0)
5ET0Timer0中断
4IE1外部中断1(INT1)
3ET1Timer1中断
2ESUART串口中断
1ET2Timer2中断

中断的嵌套

(1)低优先级的中断和高优先级的中断同时触发,单片机优先执行高优先级的中断

图片

由于中断A的优先级大于中断B的优先级,所以单片机先处理完中断A的任务,再跳转处理中断B的任务,最后跳转回原来的位置,继续执行程序

(2)低优先级中断执行过程中高优先级中断触发中断,单片机跳转执行高优先级中断,再返回执行低优先级中断,执行结束后返回程序

图片

中断A的优先级大于中断B的优先级,中断B触发,单片机跳转处理中断B的任务,执行到一半的时候,中断A触发,由于中断A的优先级更高,所以单片机先去处理中断A的任务,处理完再跳转回来处理中断B的任务

(3)高优先级的中断处理的过程中低优先级的中断触发,单片机优先处理完高优先级的中断的任务,再执行低优先级的中断的任务

图片

中断A的优先级大于中断B的优先级,中断A触发,单片机先去执行中断A,执行的过程中中断B触发,由于中断B的优先级小于中断A的优先级,所以单片机在执行完中断A后才会执行中断B的任务

上面中断的执行过程就叫中断的嵌套

到此我们简单的复习一下

中断优先级(数字越大越优先)中断符号中断名称
6IE0外部中断0(INT0)
5ET0Timer0中断
4IE1外部中断1(INT1)
3ET1Timer1中断
2ESUART串口中断
1ET2Timer2中断

下面用这个图示实践以下中断的嵌套

图片

Timer0先触发,Timer0运行的过程中Timer1触发,由于Timer1的优先级不及Timer0,所以单片机执行完Timer0才处理Timer1,在Timer1的处理过程中遇上了外部中断INT0的触发,单片机先执行INT0的任务,再返回执行Timer1的任务,最后所有的任务都完成了以后,退回主程序

设置中断优先级

我们再看看单片机的默认优先级

中断优先级(数字越大越优先)中断符号中断名称
6IE0外部中断0(INT0)
5ET0Timer0中断
4IE1外部中断1(INT1)
3ET1Timer1中断
2ESUART串口中断
1ET2Timer2中断

有的时候,如果使用默认的优先级,可能难以满足我们对程序的需求,事实上,我们可以手动设置单片机内中断的优先级。

手动设置单片机的优先级涉及到一个寄存器

IP寄存器,0xB8,可位寻址

符号说明
7--
6--
5PT2Timer2优先级设置
4PSUART串口优先级设置
3PT1Timer1优先级设置
2PX1外部中断INT1优先级设置
1PT0Timer0优先级设置
0PX0外部中断INT0优先级设置

当我们给其中的一位写上1的时候就说明我们把这一位的中断优先级提前了

举个简单的例子,如果我们要做一个简单的秒表+时钟电子钟,秒表使用Timer0,时钟使用Timer1,为了让机器使用秒表的时候能让时钟正常走时,所以我们把Timer1的优先级提前,如下

PT1 = 1;

优先级的设置我们会在后面的项目中用到的,后面用到的时候我也会跟大家细细说明的哦

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

    关注

    6001

    文章

    43973

    浏览量

    620836
  • 中断
    +关注

    关注

    5

    文章

    884

    浏览量

    41023
  • 串口
    +关注

    关注

    14

    文章

    1483

    浏览量

    74511
  • 中断优先级
    +关注

    关注

    0

    文章

    22

    浏览量

    9267
收藏 人收藏

    评论

    相关推荐

    单片机中断优先级应用案例

    单片机同时接收到几个中断请求时,单片机中断请求的响应顺序是如何确定的?实际上,单片机是通过中断
    发表于 10-31 14:42 559次阅读
    <b class='flag-5'>单片机</b><b class='flag-5'>中断</b><b class='flag-5'>优先级</b>应用案例

    单片机中断优先级问题

    单片机很有兴趣,有学过单片机,是51系列的。对中断优先级不太懂,期望哪位大虾帮忙下,小弟不胜感激!
    发表于 11-18 15:42

    关于51单片机中断嵌套

    各位大神,如果我用STC90C516RD的单片机默认中断优先级,单独跑两个定时器中断,都OK,两个定时器一起跑就有问题了,定时器0
    发表于 04-23 12:31

    单片机中,中断优先权与中断优先级有什么区别

    单片机中,中断优先权与中断优先级有什么区别?可不可以通过程序实现定时器1控制中断0的嵌套?
    发表于 03-31 21:03

    单片机中断优先级介绍

    单片机中断优先级
    发表于 12-29 06:26

    单片机中断分为哪几种优先级

    单片机中断分为哪几种优先级?抢占优先级和响应优先级有何关系?
    发表于 10-21 09:25

    51单片机中断优先级与向量

    并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。51单片机中断优先级与向量号如下表:中断优先级
    发表于 11-18 06:45

    中断优先级的基本规则

    STC12C5A60S2单片机复位后IP、IP2、IPH、IP2H均为00H,各个中断源都是低优先级=》不能被同级中断中断
    发表于 11-25 06:32

    中断—CH32V系列单片机中断优先级 配置说明

    CH32V系列单片机中断优先级配置说明CH32V系列中断资源概览:芯片型号芯片内核硬件堆栈级数中断嵌套级数CH32V103RISC-V3A2
    发表于 03-08 13:34

    单片机中断优先级是怎么确定的?

    单片机中断优先级是怎么确定的,如果设定优先级后怎么确定设定的对不对?
    发表于 11-03 06:32

    STM8单片机中断优先级如何配置?

    STM8单片机中断优先级如何配置,STM8刚开始接触,而且相关资料比较少。 麻烦用过的大佬答疑一下。
    发表于 11-08 06:56

    单片机中断优先级实验

    单片机外部中断实验和中断优先级实验所需的C语言程序和电路图适于初学者使用
    发表于 11-16 18:32 0次下载

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

    51单片机(80C51系列)有5个中断源,2个优先级,可以实现二级中断服务嵌套。现在很多扩展的51单片机已经有4个
    发表于 07-23 17:37 1次下载
    为什么51<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>嵌套

    单片机中断优先级设置

    单片机芯 片: STC12C5A60S2 晶振是11.0592MHZ中断优先级的基本规则1.低优先级中断可被高
    发表于 11-17 09:36 6次下载
    <b class='flag-5'>单片机</b>之<b class='flag-5'>中断</b><b class='flag-5'>优先级</b>设置

    51单片机中断优先级都有啥?如何设置?

    51单片机包含五个中断源,两级中断优先级优先级可编程设置,通过IP进行设置。
    发表于 02-09 12:32 2次下载
    51<b class='flag-5'>单片机</b><b class='flag-5'>中断</b><b class='flag-5'>优先级</b>都有啥?如何设置?