一文详解MCS-51单片机的中断系统

发布时间:2023-02-02  

MCS-51中断系统:5个中断源(两个外部中断, 两个定时器, 一个串口),2个优先级

一文详解MCS-51单片机的中断系统

中断相关概念

中断:当CPU正在处理某件事情时,单片机外部或内部发生的某一紧急事件请求CPU立即去处理,于是,CPU暂时中止当前的工作,转去处理这个紧急事件,待处理完毕后,再回到原来被中止的地方,继续原来的工作。


中断过程

中断发生:CPU在处理某一事件A时,发生了另一事件B请求CPU迅速去处理;

中断响应和中断服务:CPU暂时中断当前的工作,转去处理事件B(B的优先级要高于A);

中断返回:待CPU将事件B处理完毕后,再回到原来事件A被中断的地方继续处理事件A ;

中断源(中断请求源):能够向CPU发出中断申请的部件。


中断系统结构

一文详解MCS-51单片机的中断系统

外部中断0和1:低电平或者脉冲下降沿时产生中断请求;

定时器/计数器0和1:计数值由FF变为00时产生中断请求;(定时功能:计数脉冲来源于片内;计数功能:计数脉冲来源于片外);

串行口:发送或者接受1字节数据时产生中断请求;


中断控制

4个特殊功能寄存器来实施中断控制: • 中断允许寄存器 IE • 中断优先级寄存器 IP • 定时/计数器及外部中断控制寄存器 TCON • 串口控制寄存器 SCON

中断允许寄存器 IE

一文详解MCS-51单片机的中断系统

EA 中断允许总控制位。0禁止,1允许。

ES 串行中断允许控制位。0禁止,1允许。

ET1 定时计数器1中断允许控制位。0禁止,1允许。

EX1 外部中断1允许控制位。0禁止,1允许。

ET0 定时计数器0中断允许控制位。0禁止,1允许。

EX0 外部中断0允许控制位。0禁止,1允许。

中断优先级寄存器 IP

一文详解MCS-51单片机的中断系统

PX0 外部中断0的优先级控制位。1为高,0为低

PT0 定时中断0的优先级控制位。1为高,0为低

PX1 外部中断1的优先级控制位。1为高,0为低

PT1 定时中断0的优先级控制位。1为高,0为低

PS 串行中断的优先级控制位。1为高,0为低

串行口控制寄存器 SCON

一文详解MCS-51单片机的中断系统

TI:串口发送中断标志,响应中断时用软件将TI标志清零

RI:串口接收中断标志,响应中断时用软件将RI标志清零

定时/计数器的控制寄存器 TCON

一文详解MCS-51单片机的中断系统

外部中断触发方式位 IT0、IT1(ITx)

ITx = 0 低电平触发,响应中断后IEx不自动清0ITx = 1 脉冲下降沿触发,响应中断后IEx自动清0

外部中断请求0/1的中断请求标志位IE0、IE1

定时器/计数器T0/T1的溢出中断请求标志位TF0/TF1(TFx)

启动T0/T1计数后,从初值加1计数,直到最高位产生溢出时,硬件将TFx置“1”,向CPU请求中断。 响应中断后TFx自动清0;

TR0,TR1与中断无关,仅与定时器/计数器T0/T1有关;

中断响应

中断响应就是CPU对中断源发出的中断请求做出的响应。

中断响应条件

CPU开中断,即中断允许寄存器IE中的中断允许总控制位EA = 1;中断源发出中断请求;中断源的中断允许位为1;没有同级或者高级的优先级中断正在执行;

中断响应的过程

由硬件根据中断源的类型自动生成一条长调用指令LCALL addr16。CPU执行LCALL addr16。

中断响应的时间

响应时间在3~8个机器周期之内;最短响应时间:查询中断请求标志位(T)+LCALL(2T);

中断响应的过程

将相应优先级状态触发器置1(阻断后来同级或低级中断 )执行硬件LCALL指令(PC入栈,中断服务程序入口址送PC)执行中断服务程序PS:编写中断服务程序注意:中断服务程序入口存放指令LJMP或AJMP;现场保护与现场恢复。

中断返回

最后指令为RETI,功能为:

将断点从堆栈弹送PC,CPU从原断点继续执行将相应优先级状态触发器清0,恢复原来工作状态

8051中断程序设计

中断服务程序基本流程

关中断:为了防止此时有高一级的中断进入,以免现场保护的执行过程被中断。

现场保护:所谓现场是指中断时刻单片机中某些寄存器和存储器单元中的数据或状态。为了不让中断服务程序的执行破坏这数据或状态,以免中断返回后影响主程序的运行,需要将他们送入堆栈保存起来。

开中断:为了允许有更高级的中断进入。这样一来,除了现场保护和现场恢复外,中断处理的过程仍允许中断嵌套的功能。

中断处理

关中断:为了防止此时有高一级的中断进入,以免现场恢复的执行过程被中断。

现场恢复:中断处理结束后,在返回主程序前,把保存的现场的内容从堆栈中弹出,以恢复那些寄存器和存储单元中的原有内容

开中断:为了允许有更高级的中断进入。现场恢复后,仍允许中断嵌套的功能。

中断返回:必须是返回指令RETI。CPU执行完这条指令后,把响应中断时所置“1”的优先级状态触发器清“0”,然后从堆栈中弹出栈顶上的两个字节的断点地址送到程序计数器PC,弹出的第一个字节送入PCH,第二个字节送入PCL,CPU从断点处重新执行被中断的主程序。

实例

ORG 0000H ;程序开始LJMP START ;= LJMP 1000HORG 0003H ;外部中断0入口地址

LJMP INTORG 1000H ;主程序入口START: MOV P1, #0AAH ; #0AAH=10101010BSETB EX0 ;允许外部中断0SETB PX0 ;设置外部中断0为高优先级SETB IT0 ;设置外部中断0为脉冲下降沿触发SETB EA ;开中断SJMP $ ;原地跳转,等待中断

INT: CLR EA ;关中断PUSH PSW ;现场保护PUSH ACC ;SETB EA ;开中断

CPL A ;对累加器A按位取反MOV P1, A ;累加器A值送P1端口

CLR EA ;关中断POP ACC ;现场保护POP PSW ;SETB EA ;开中断RETI ;


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    。让CPU产生中断的信号称为中断源(又称中断请求源)。 51系列单片机的中断源包括:两个外部中断源、两个定时器/计数器中断源和一个串行通信口中断源,如果它们向 CPU 发出中断请求信号,CPU......
    51单片机外部中断点亮LED;外部中断软件设计原理 中断发生的三个条件 ①中断源有中断请求; ②此中断源的中断允许位为 1; ③CPU 开中断(即 EA=1)。 比如我们配置外部中断 0,对应......
    并行接口,无串行接口,有1个8位的定时器/计数器,中断源有2个。片外寻址范围为4KB,芯片引脚为40个。 (3)第三阶段(1979—1982年) 8位单片机成熟的阶段。其存储容量和寻址范围增大,而且中断源、并行......
    请求源,即规定每一个中断源有一个优先级别。CPU 总是先响应优先级别最高的中断请求。 中断嵌套:当单片机正在执行中断请求时,又出现了一个比正在执行的优先级更高的中断请求,则先停止正在执行的中断......
    51单片机的扩展中断方法;  MCS—51系列单片机内部只有两个外部中断源输入端,当外部中断源多于两个时,就必须进行扩展,下面介绍两种简单的扩展方法:   一、采用......
    动执 行外部程序存储器的程序。对于 8031 ,EA 必须接地,只能访问外部 ROM。 三、MCS-51单片机的 P3口具有哪些功能? 答:P3口是双功能口,除了作为准双向通用 I/O 口使用外,每一......
    位计数器。51系列的中断源为5个,52系列的中断源为6个。 8051与80C51的区别: 80C51单片机是在8051的基础上发展起来的,也就是说在单片机的发展过程中是先有8051,然后才有80C51......
    浅谈51单片机的中断控制;51系列单片机有5个中断源,2个优先级,可以实现二级中断服务嵌套结构。 现在很多兼容51单片机已经有4个优先级(或更多)和更多的中断源了。 想要研究中断的嵌套,应该从中断......
    较为复杂。 但51单片机这个过程被大大简化了,51系列基本型单片机只有5个中断源,这5个中断源的中断程序入口地址是固定的。 2)断点保护 在处理器找到中断程序的入口地址后,就会暂停主程序的执行,转去......
    信号输入等。当这些事件发生时,中断系统会立即跳转到相应的中断服务子程序中进行处理,并在完成后返回主程序继续执行。 51单片机中断系统包括以下几个主要组成部分: (1) 中断源:外部事件发生时产生中断请求信号,被称为中断源......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>