中断函数不用进行函数声明,可以写在MAIN函数前面也可以写在MAIN函数后面。
一、中断服务程序,处理器处理“急件”,可理解为是一种服务,是通过执行事先编好的某个特定的程序来完成的,这种处理“急件”的程序被称为——中断服务程序。
二、当中央处理器正在处理内部数据时,外界发生了紧急情况,要求CPU暂停当前的工作转去处理这个紧急事件。处理完毕后,再回到原来被中断的地址,继续原来的工作,这样的过程称为中断。
三、实现这一功能的部件称为中断系统,申请CPU中断的请求源称为中断源,单片机的中断系统一般允许多个中断源,当多个中断源同时向CPU请求中断时,就存在一个中断优先权的问题。通常根据中断源的优先级别,优先处理最紧急事件的中断请求源,即最先响应级别最高的中断请求。
四、保护被中断进程现场。为了在中断处理结束后能够使进程准确地返回到中断点,系统必须保存当前处理机程序状态字PSW和程序计数器PC等的值。
五、分析中断原因,转去执行相应的中断处理程序。在多个中断请求同时发生时,处理优先级最高的中断源发出的中断请求。恢复被中断进程的现场,CPU继续执行原来被中断的进程。
中断程序是在中断事件发生时调用,程序也不知道什么时候有中断事件发生。子程序是在需要的时候调用,在程序里可以预见它的使用。
因为中断是由系统调用的,不知道什么时候中断,所以你可以选择允许中断或者不允许中断,这就好比你正在干工作时,电话铃响了,你可以选择接电话也可以选择不接电话,中断就好比电话铃,你不知道电话铃什么时候响起。开放中断就是允许中断,就好比电话铃响允许你接电话,禁止中断就是不允许中断,就好比电话铃响不允许你接电话。子程序是条件调用的程序,你可以知道什么时候调用,子程序是为了优化程序结构。
简单一句,中断是随时发生的,时间不确定。而子程序则时间确定,跟系统设计顺序有关系,起简化、优化作用。用在随机事件,只是中断的一个应用。
有些中断的应用,其事件是可以预料,也能确定的,比如说定时。
子程序控制的内容与主程序是一样的,都是在扫描周期结束后才变化的,而中断就是马上去做,不等这个扫描周期结束 。
中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。
计算机科学术语。指处理机处理程序运行中出现的紧急事件的整个过程。
程序运行过程中,系统外部、系统内部或者现行程序本身若出现紧急事件,处理机立即中止现行程序的运行,自动转入相应的处理程序(中断服务程序),待处理完后,再返回原来的程序运行,这整个过程称为程序中断当处理机接受中断时,只需暂停一个或几个周期而不执行处理程序的中断,称为简单中断。
中断又可分为屏蔽中断和非屏蔽中断两类。可由程序控制其屏蔽的中断称为屏蔽中断或可屏蔽中断。屏蔽时,处理机将不接受中断。反之,不能由程序控制其屏蔽,处理机一定要立即处理的中断称为非屏蔽中断或不可屏蔽中断。
非屏蔽中断主要用于断电、电源故障等必须立即处理的情况。处理机响应中断时,不需执行查询程序。由被响应中断源向CPU发向量地址的中断称为向量中断,反之为非向量中断。向量中断可以提高中断响应速度。
参考资料
编辑委员会.数学辞海.北京:中国科学技术出版社,2002
首先理解 "中断的原理",再去理解中断的编程方法。
这里做个比喻:
你正在一口一口的吃饭,突然手机响了,你停止吃饭,开始接手机;接完手机后 继续一口一口的吃饭。
这就是一个中断的过程。
正常情况下PLC的程序是 按顺序扫描执行的,按照从上到下,从左到右的顺序循环执行。
当出现一个中断信号时,PLC 就停止当前的“顺序扫描执行”,去执行“中断服务子程序”;当“中断服务子程序”执行完毕后,在从刚刚中断的位置 开始按顺序扫描执行。
不同厂家的PLC 中断编程方式有些差异,但是原理是相同的。
“中断子程序” 一般都是用来处理一些“紧急事件”
中断事件类型分 “内部中断事件”和“外部中断事件”两种类型。
举例:
比如生产塑料管的生产线,需要计米,当管子到达需要的长度后,需要马上切断,不能有延时,否则就会产生误差。这种情况就需要用到“中断”编程来处理。
希望我的回答 能对你有些帮助,很高兴和你一起讨论和学习。因为篇幅有限,这里不能说的更详细期待你的理解和支持。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)