在单片机中子程序与中断服务程序的异同点。

子程序与中断服务程序的异同点。

差别:
⑴ 中断请求信号可以由外部设备发出,是随机的;子程序调用却是由软件编排好的。
⑵ 中断响应后由固定的矢量地址转入中断服务程序,而子程序地址由软件设定。
⑶ 中断响应是受控的,其响应时间会受一些因素影响;子程序响应时间是固定的。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-11-04
中断是单片机的一个重要功能,中断子程序专为执行中断功能,它是在发生中断后,自动执行的,不需要主程序调用;普通子函数要主程序调用才能执行。

汇编里的区别:
普通子函数用RET返回;中断子程序用RETI返回,RETI返回时要清除中断标志的;
普通子函数调用时直接进入函数入口地址,中断函数在中断发生时先进中断入口
03H、08H、13H、18H、23H后随即写一个跳转指令,再跳转到相应语句。

C语言区别:
普通子函数用的是C语言里的主函数调用子函数的方法,子函数可以有参数,有返回值;中断函数没有参数,没有返回值;
第2个回答  推荐于2018-02-27
相似点:
⑴ 都是中断当前正在执行的程序,都要通过执行返回指令,返回到原来的程序。
⑵ 都是由硬件自动地把断点地址压入堆栈;当执行到返回指令时,自动弹出断点地址以便返回原来的程序。
⑶都要通过软件完成现场保护和现场恢复。
⑷ 都可以实现嵌套。本回答被网友采纳

在单片机中子程序与中断服务程序的异同点。
差别:⑴中断请求信号可以由外部设备发出,是随机的;子程序调用却是由软件编排好的。⑵中断响应后由固定的矢量地址转入中断服务程序,而子程序地址由软件设定。⑶中断响应是受控的,其响应时间会受一些因素影响;子程序响应时间是固定的。中断 #子程序 #硬件 #软件 ...

中断服务程序与普通子程序有哪些相同和不同之处???
不同点:一、执行方式不同 1、中断服务程序:中断函数是发生中断后,自动执行的,不需要主函数调用,是否执行,取决于相应的中断事件是否发生。2、普通子程序:普通子函数要主函数调用才能执行。二、使用情况不同 1、中断服务程序:中断函数在中断发生时,先进入中断入口地址,再通过中断入口地址处放置的...

单片机中子程序和中断服务程序有何异同?为什么子程序返回指令RET和中断...
子程序是一段程序代码,是独立的一个执行部分,你主程序调用就执行,不调用就不执行;而中断服务程序也是是一段程序代码,是独立的一个执行部分;但是只在你主程序开了中断,并且有中断条件(不如中断口接收到低电平,定时时间到了)才会去执行,并且中断服务程序会将你主程序运行时的PC指针寄存器,A累...

中断服务子程序和子程序有什么区别?
子程序 是预先安排好的。2、结束程序不同:中断服务子程序以RETI结束,而一般子程序以RET结束。3、结束动作不同:中断服务子程序RETI除将断点弹回PC动作外,还要清除对应的中断优先标志位,以便新的 中断请求 能被响应。一般子程序则无此项操作。

中断服务程序与中断子程序有何区别?
1、方式不同 当某一中断源响应后,单片机中的RETI将会自动置位,用于阻止比它低级或同级的中断触发。RETI可以清除“优先级激活触发器”(即flag寄存器),以保证后续中断源的及时响应。所以,当把RETI替换为RET后,该程序在第一次运行时可能不会出错,但在第二次运行时就会出错了。2、过程不同 RET是从...

主函数中,没有调用中断子程序,中断子程序为什么能被执行?何时执行?_百...
中断程序不同于子程序,不需要主函数main调用就能执行。中断服务程序只需要满足一定条件即可执行,比如定时器\/计数器(在写入定时器中断服务程序的前提下)只需要计数“计满”即可触发中断服务程序;外部中断(在写入外部中断的服务程序的前提下)只需要触发外部中断引脚即可自动执行,不需要主函数调用。子程序...

有关凌阳单片机中断循环的问题,最近看程序时,发现中断处,无while函数...
某一中断服务子程序如下:#include"SPCE061A.H"unsignedintuiOutput,uiDelay;voidIRQ3(void)__attribute__((ISR));voidIRQ3(void){if(*P_INT_Ctrl&0x0100){\/\/IRQ3_Ext1*P_INT_Clear=0... 某一中断服务子程序如下:#include "SPCE061A.H"unsigned int uiOutput,uiDelay;void IRQ3(void) __attribute__ ...

16.中断程序,子程序和转移指令这三个指令都是实现转移控制的,都有什...
中断程序, 也叫中断服务程式,也就是单片机发生中断后的服务程序,比如单片机计数器中断,外部中断,等等,我们按照单片机的中断地址,设定好中断地址 ,然后发生中断后跳到我们中断的服务程序去处理发生的中断,一般中断程序返回用RETI, 这样的返回会让单片机回到因为中断而跳出来的正常程式哪里,继续运行下一条命令....

在单片机中,RET和RETI分别
在单片机程序设计中,有两种关键的返回指令,分别是RET和RETI。它们各自承担着不同的功能。首先,RET,全称为Return,是用于一般子程序返回的指令。当你执行RET时,它会自动从堆栈中弹出一条被保护的地址,这个地址会被更新到程序计数器(PC)中,使得程序能够继续执行下一步。简单来说,RET就像一个程序...

51单片机写个程序,好像在中断里面出不来了,主程序只运行了一部分,之后...
只能做最基本的操作,比如置标志位,让一个数加一等,与延时有关的操作千万不要做!你10ms进一次中断,在里面又扫描按键,又显示液晶,这里面花的时间远远地超过10ms,它肯定死在中断里出不来啊,因为你不关闭中断的话它一直10ms进去,最好在中断里设置几个标志位,进中断就让标志位置1,然后出中断...

相似回答