单片机调用中断服务子程序和调用子程序的区别,尽量详细,急…

2024年11月28日 01:44
有4个网友回答
网友(1):

中断服务子程序入口地址相对某一中断是固定的,调用子程序的偏移地址是随机的,基本过程差不多,返回时,中断服务子程序用的是RETI 调用子程序是RET
调用中断服务子程序和调用子程序都会把当前偏移地址的下一地址压栈,但调用子程序的返回指令RET不影响标志位,RETI从中断程序返回,并会清除内部相应的中断状态寄存器。
我说的是80C51的

网友(2):

其实区别不大。基本过程都一样。调用子程序很简单,也不用讲了。中断服务子程序特殊点。一般就是检测到中断标志位了,就去调用一下。高级点的单片机有硬件中断的功能。只要中断发生了,就自动进入中断子程序,软件上都不用调用。直接把中断服务子程序挂到中断向量上去就可以。还有一点区别就是返回的指令一般不一样。常见的比如,一个用RTI,另一个是RTC.

网友(3):

中断程序会打断普通程序执行,即中断优先。

网友(4):

调用中断服务子程序,就是产生中断即运行它
调用子程序,在程序里面什么时候调用它就运行