中断程序是在中断事件发生时调用,程序也不知道什么时候有中断事件发生。子程序是在需要的时候调用,在程序里可以预见它的使用。
因为中断是由系统调用的,不知道什么时候中断,所以你可以选择允许中断或者不允许中断,这就好比你正在干工作时,电话铃响了,你可以选择接电话也可以选择不接电话,中断就好比电话铃,你不知道电话铃什么时候响起。开放中断就是允许中断,就好比电话铃响允许你接电话,禁止中断就是不允许中断,就好比电话铃响不允许你接电话。子程序是条件调用的程序,你可以知道什么时候调用,子程序是为了优化程序结构。
简单一句,中断是随时发生的,时间不确定。而子程序则时间确定,跟系统设计顺序有关系,起简化、优化作用。用在随机事件,只是中断的一个应用。
有些中断的应用,其事件是可以预料,也能确定的,比如说定时。
子程序控制的内容与主程序是一样的,都是在扫描周期结束后才变化的,而中断就是马上去做,不等这个扫描周期结束 。
中断是指计算机运行过程中,出现某些意外情况需主机干预时,机器能自动停止正在运行的程序并转入处理新情况的程序,处理完毕后又返回原被暂停的程序继续运行。
计算机科学术语。指处理机处理程序运行中出现的紧急事件的整个过程。
程序运行过程中,系统外部、系统内部或者现行程序本身若出现紧急事件,处理机立即中止现行程序的运行,自动转入相应的处理程序(中断服务程序),待处理完后,再返回原来的程序运行,这整个过程称为程序中断;当处理机接受中断时,只需暂停一个或几个周期而不执行处理程序的中断,称为简单中断。
中断又可分为屏蔽中断和非屏蔽中断两类。可由程序控制其屏蔽的中断称为屏蔽中断或可屏蔽中断。屏蔽时,处理机将不接受中断。反之,不能由程序控制其屏蔽,处理机一定要立即处理的中断称为非屏蔽中断或不可屏蔽中断。
非屏蔽中断主要用于断电、电源故障等必须立即处理的情况。处理机响应中断时,不需执行查询程序。由被响应中断源向CPU发向量地址的中断称为向量中断,反之为非向量中断。向量中断可以提高中断响应速度。
参考资料
编辑委员会数学辞海北京:中国科学技术出版社,2002
单片机响应中断请求时,通常会通过中断向量表(Interrupt Vector Table)来找到相应的中断服务程序。中断向量表是一个存储中断服务程序入口地址的表格,每个中断请求都会分配一个唯一的中断向量号,当中断请求到达时,单片机会查找中断向量表,根据中断向量号找到对应的中断服务程序入口地址,并跳转到该地址开始执行中断服务程序。
定义中断需要考虑以下几个方面:
中断源:需要定义哪些事件可以触发中断请求,例如外部硬件信号、定时器、串口接收等。
中断优先级:如果多个中断请求同时到达,需要确定哪个中断请求具有更高的优先级。
中断服务程序:中断服务程序是具体执行中断处理 *** 作的程序,需要编写相应的中断服务程序。
中断控制寄存器:单片机中通常有一个或多个中断控制寄存器,用于控制中断的使能和禁止,以及中断请求的标志位清除等 *** 作。
在定义中断时,需要根据具体的单片机型号和开发环境,参考相应的单片机手册和编程手册进行定义。
以上就是关于中断是什么意思和子程序有什么区别全部的内容,包括:中断是什么意思和子程序有什么区别、单片机响应中断请求,是根据什么来找到相应中断服务程序的如何定义一个中断、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)