历史上的今天
返回首页

历史上的今天

今天是:2024年10月27日(星期日)

正在发生

2021年10月27日 | #51单片机#中断

2021-10-27 来源:eefocus

中断

中断,是单片机的一种运行机制。


标准的51单片机有两个控制中断的寄存器。一个是中断使能寄存器,另一个是中断优先级寄存器。


IE——中断使能寄存器的位分配(地址0XA8,可位寻址 )

image.png?imageView2/2/w/550

IE——中断使能寄存器的位描述

image.png?imageView2/2/w/550

中断查询序列

image.png?imageView2/2/w/550

中断的优先级

中断有两种优先级。一种是抢占优先级,另一种是固有优先级。


抢占优先级

参考C语言的优先级理解。单片机会先执行优先级高的中断。


这里需要认识一个现象——中断嵌套。


如果单片机在执行低优先级中断时发生了高优先级中断,单片机会马上进入高优先级中断执行。高优先级中断处理完后,单片机返回处理低优先级中断。这个过程叫中断嵌套。


IP寄存器通过将优先级控制位置1,将该位设置为高优先级。


IP——中断优先级寄存器的位分配(地址0XB8、可位寻址)

image.png?imageView2/2/w/550

IP——中断优先级寄存器的位描述

image.png?imageView2/2/w/550

固有优先级

即,非抢占优先级。它不具备抢占性!如果在一个低优先级中断时出现了高优先级中断,单片机会先执行完当前的低优先级中断,再执行高优先级中断。


上表中断查询序列中的默认优先级,就是固有优先级。


注意:固有优先级中,数字越小等级越高。


两个优先级的协同使用,既不会无休止地嵌套,又保证了紧急任务优先进行,使单片机中断系统工作有条不紊的进行。

推荐阅读

史海拾趣

HTC Korea(TAEJIN Technology )公司的发展小趣事

在HTC的发展历程中,与微软的合作无疑是重要的一环。早在2002年,微软联合HTC推出了全球第一台搭载Windows mobile的Pocket PC,这一操作系统成为了日后WP 8的前身。得益于微软的信任和支持,HTC能够率先搭载最新的Windows mobile系统,从而成为Windows手机的顶级生产商。这种紧密的合作关系不仅提升了HTC的品牌影响力,还为其带来了大量的市场份额和利润。

固得沃克(GOODWORK)公司的发展小趣事

固得沃克始终关注市场需求的变化,不断拓展产品线以满足不同客户的需求。公司从最初的二极管生产,逐步扩展到三极管、整流桥堆、TVS管、MOS管等多个领域,并实现了全面自主研发、生产和销售。此外,固得沃克还提供定制化服务,根据客户的具体需求提供个性化的解决方案。这种灵活多变的产品策略和服务模式,使公司在激烈的市场竞争中保持了竞争优势。

Arduino公司的发展小趣事

随着Arduino电路板的成功推出,Arduino平台在2005年发布了第一款主板——Arduino NG。这款主板采用了Atmel公司的AVR单片机作为核心处理器,并结合了简单易用的开发环境。这一创新使得普通人也能够轻松地进行单片机编程和硬件开发,大大降低了电子制作的门槛。Arduino NG的发布标志着Arduino平台开始受到开发者和爱好者的广泛关注。

Hi-Tech Resistors Pvt Ltd公司的发展小趣事

随着Arduino平台的不断发展,为了满足不同项目和应用的需求,Arduino推出了多种不同规格和功能的主板。例如,Arduino Diecimila和Arduino Uno等主板的推出,进一步丰富了Arduino的产品线。这些主板各具特色,适用于各种场景,使得Arduino平台在物联网和嵌入式系统的开发中发挥了越来越重要的作用。

BJB公司的发展小趣事

在市场竞争日益激烈的环境下,BJB公司注重品牌建设和形象提升。公司加强了品牌宣传和推广力度,通过广告宣传、媒体报道等多种方式提升品牌知名度和美誉度。同时,BJB还积极参与社会公益事业,履行企业社会责任,赢得了社会各界的广泛认可和赞誉。

川土(Chipanalog)公司的发展小趣事

经过数月的紧张研发与测试,川土微电子成功推出了其首款自研产品——一款高性能的隔离器芯片。这款芯片的问世不仅填补了国内市场的空白,也标志着川土微电子在模拟芯片领域的初步成功。随后,公司开始逐步扩大产品线,涵盖了接口、高性能模拟等多个系列。

问答坊 | AI 解惑

源于与高于让我们在“鱼和渔”之间去取舍

RS232接口总是让我们爱恨交织,N多年前有个偷电式一只PNP/NPN偷电式串口盛行于当下,其最早的知识产权ZENYIN同学估计当追溯到小齐(XIAO-QI)叔叔那里,近几年随着欲望的膨胀,ZENYIN作了改进,改进的电路如下: 有这样炫彩: 1.速率更高,实测可以 ...…

查看全部问答>

有人做过fpga上总线的IP核开发吗?

要求简单描述如下 1.自己编写代码,实现PLB总线(IBM的CoreConnect总线的一部分)的功能 2.再添加一个master,一个slave,实现功能 一直没有头绪,到这里来看看哈,望各位高手不吝赐教啊 问题如下: 1.有没有什么IP核的集成,设计规范? 2.有 ...…

查看全部问答>

WINCE关于寄存器值打印

最近在做WINCE下SDHC方面的测试,其中加了一些RETAILMSG/DEBUGMSG打印信息,结果发现从示波器中的返回值和寄存器SDIRSP0中的值不一样,根据SDIO协议R4的响应没有问题,但为什么寄存器中的值和想象中的不一样呢,有知道帮帮忙…

查看全部问答>

evc添加IE控件,exdisp.h报错??

添加了一个IWebBrowser2控件,根据达人文章在stdafx.h中添加如下头文件: #undef __urlmon_h__ #include #undef _WINNETWK_ #include #undef __AFXHTML_H__ #include \"afxhtml.h\" 报错C:\\Program Files\\Windows CE Tools\\wce420\\POC ...…

查看全部问答>

LED球泡灯塑料外壳散热器分析探讨

最近塑料散热器也引起人们的注意。按理导热性能好的材料通常都是导电性能好的材料,反过来导电性能差的塑料,其导热性能一定也差。这是必然的。所以显然金属要比塑料的导热性好。实际上也是如此。那么,是不是塑料就一定不能用来做散热器呢?并不如 ...…

查看全部问答>

STM32F103ZET6PA0问题?

用PA0做为IO按键输入,加了一个上拉电阻。 当你按下按键时,PA0没有被拉低,依旧是高。 请用过ZET6的兄弟们,指点一下。 程序如下: void GpioInit(void) { /* Configure all unused GPIO port pins in Analog Input mode (floating in ...…

查看全部问答>

还求求一个管子

上次说错了,找一个Vceo比较低的三极管,最好是贴片的说!!!!!…

查看全部问答>

12864指令问题

在12864的手册中, EN使能控制端是高时,是配合R进行读数据或指令。 判忙指令中,要求在EN=0的状态下,RS=0,RW=1.(RS为寄存器选择输入端RW为液晶读写控制端) 为什么在编写程序时,RS=0,RW=1,EN=1,读BF(忙标志),EN=0的顺序啊?? 为何最后 ...…

查看全部问答>

万圣节来了,动手做一个无线充电的南瓜灯吧

今天是万圣节 不知道大家有什么活动呢~~ Gordon Varney是TI电池管理部门的一名系统工程师,为了庆祝即将来临的万圣节,他动手制作了一个通过无线充电来提供电能的南瓜灯。 具体来说,他在镂空的南瓜底部嵌入一个铜线圈,连上一个无线电源接收器开 ...…

查看全部问答>