亲爱的朋友们,让我们一起探索今天的学习之旅。我们将探讨学习的是《中断指令》。在开始之前,我们先来详细解析一下什么是中断。
一、中断的概念
中断,是指当CPU在执行程序时,由于内部或外部事件的发生,或者由程序预先安排的事件,导致CPU暂时中断当前程序的执行,转而执行与该事件相关的程序。当这个事件处理完毕后,CPU会返回去继续执行被中断的程序。
二、中断的作用
中断的响应与扫描周期无关,它能够快速响应事件的发生。只有当中断事件发生时,才会执行相应的程序,这样可以节省时间,避免不必要的等待和资源浪费。
三、中断的分类
中断主要分为三大类:
(1)输入输出中断(I/O中断),包括输入中断和输出中断。
(2)时基中断,包括定时循环中断和定时器中断。
(3)通讯中断。
四、CPU响应中断的原则
(1)优先级别高的中断事件优先被响应。
(2)相同优先级别的中断事件按照“先来后到”的顺序处理。
(3)CPU在任何时刻只执行一个中断程序,且不会被其他中断程序打断,直到该程序执行完毕。
(4)一旦触发中断事件,立即执行相应的中断程序,且不存在嵌套执行。
五、理解并梳理中断指令
我们可以在程序中整理和理清这些中断指令。按下F1键后,可以在帮助文件中找到“中断事件优先级别表”。特别需要注意的是事件号码中的0-7这几项。
关于中断事件的号码共有34类,从0到33。每个事件的说明都介绍了其启动条件。例如,实践号码为5时,意味着该中断指令在收到外部信号触发时,一定是I0.2的下降沿作为启动条件。
六、触发与连接中断程序
触发中断指令的外部条件必须与事件号(EVNT)条件相匹配,而INT数必须与中断程序名称相一致。就像一把钥匙对应一个锁孔,只有匹配的钥匙才能打开相应的锁。
七、关于中断程序的执行
由于中断程序的执行不受扫描周期的限制,它是立即响应的。激活它的条件通常使用上升/下降沿指令,并且只需触发一次。
八、插入与开放中断程序
在插入新的中断程序时,其方法与新建子程序的方式相似。为了能够监控输出的结果,需要开放中断(ENI),即通过ENI指令使全局可以调用和监控中断程序的结果。
- 激活一次即可实现中断。
- 将中断事件与中断程序进行连接。
- 开放并确保中断程序的正常执行及结果可以被监控。