什么是中断及中断的作用,外部中断和内部中断什么意思

首页 > 上门服务 > 作者:YD1662024-01-07 14:19:33

大家好,这节课我们学习中断指令。我们先来了解一下中断的概念。

1、什么是中断?

所谓中断,是指CPU在正常运行程序时,由于内部/外部事件或由程序预先安排的事件,引起CPU中断正在运行的程序,而转到为内部/外部事件或为预先安排的时间服务的程序中去,服务完毕,再返回去执行被中断暂停的程序。

2、中断的作用

中断跟扫描周期无关,响应快,只要中断事件发生才去执行程序,可以节省时间,避免等待和浪费时间。那么中断可以做出来一些比较特殊的,比较紧急的事情,例如急停。

3、中断的分类

中断主要分为3类

(1)输入输出中断简称I/O中断,又包括输入中断(8个);输出中断:高速计数器中断14个,高速脉冲输出中断2个。

(2)时基中断,又包括:定时循环中断2个(SMB34/SMB35),定时器中断2个(T32/T96)

(3)通讯中断6个。

4、CPU响应中断的原则

(1)当不同优先级别的中断事件同时发出申请中断时,CPU先响应优先级别高的中断事件。

(2)在相同优先级别的中断事件中,CPU按“先来后到”的原则处理中断事件。

(3)CPU在任何时刻只执行一个中断程序,当CPU正在处理某中断时,不会被别的中断程序甚至是优先级别更高的中断程序所打断,一直执行到结束,新出现的中断时间需要排队,等待处理。

(4)中断事件被触发,立刻执行中断程序,中断程序不存在嵌套。

这里我们先在程序当中,来梳理一下中断指令。

什么是中断及中断的作用,外部中断和内部中断什么意思(1)

按下F1之后,在帮助文件里,寻找“中断事件优先级别表”。

什么是中断及中断的作用,外部中断和内部中断什么意思(2)

重点来了解事件号码中的0-7这几项:

什么是中断及中断的作用,外部中断和内部中断什么意思(3)

这里说明一下,中断事件的号码,是从0-33,共计34类中断事件。这里的中断说明,是介绍了事件号码对应的启动条件。举例说明,如实践号码为5,则意味着这个中断指令,在收到外部信号触发影响时,一定是I0.2的下降沿,作为启动条件的。而事件优先级,指的是当两个中断指令被同时触发时,按照优先级高的先执行,优先级低的后执行的规则来处理。

我们来软件中,编辑一条中断指令:

什么是中断及中断的作用,外部中断和内部中断什么意思(4)

我们要注意,触发中断指令的外部条件,要与事件号(EVNT)条件相一致;INT数与中断程序名称相一致。打比方说,“I0.0 下降沿”,好比一把钥匙,而EVNT中的1好比是1号房间,那只有当1号房间的钥匙,插入1号房间的锁里,才能打开1号房间。打开之后做什么呢?通过指令连接INT_0中断程序里面的内容。

这里说明一下,由于中断程序的执行,不受扫描周期的影响,而是立即响应的。所以激活它的条件一定是用到(上升/下降)沿指令,而且只需触发一次即可。

在新建(插入)中断程序的时候,方法与新建子程序的方式是一致的,不做赘述。

那可能会问,指令激活已完成,中断程序连接也接上了,那是不是就可以监控到输出的结果了呢?

答案是否定的,因为还需要开放中断(ENI),简单说就是中断程序执行后的结果,你要通过ENI指令,让全局都可以调用和监控。

归纳起来,中断程序的执行,总共分三步:

  1. 激活中断(1次即可)
  2. 中断事件连接中断程序
  3. 开放中断程序(结果)

未完待续。

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.