MCS51单片机,中断服务程序的返回指令和子程序的返回指令有什么区别是多少

MCS51单片机,中断服务程序的返回指令和子程序的返回指令有什么区别是多少,第1张

RET用于一般程序的返回

RETI用于中断函数的返回

以上是一般单片机书籍简绍的,然而在实际应用中,我发现,在程序返回中一样可以使用RETI,而在中断返回中却无法使用RET,究其原因是因为RETI比RET多做一件事情就是将“优先级生效”触发器清零

原来在8051构架中--中断系统中含有两个不可寻址的“优先级生效”触发器。一个用于指出CPU是否正在执行高优先级的中断服务程序,这个触发器为1时,系统将屏蔽所有的中断请求;另一个则指出CPU是否正在执行低优先级中断服务程序,该触发器为1时,将阻止除高优先级以外的一切中断请求。由此可见,若要响应同级甚至是低级中断请求,必须使得该“优先级生效”触发器清零。但该触发器又是不可寻址的,所以无法用软件直接清零。”

中断程序强调中断,必需保存现场,而且中断程序和原运行程序没有联系,有时甚至毫不相关。

子程序强调包含,是包含在另一个程序里的,是个包含运行的过程。并且子程序和母程序(或者主程序)是有联系的,而且是密不可分的。

差别:

⑴ 中断请求信号可以由外部设备发出,是随机的;子程序调用却是由软件编排好的。

⑵ 中断响应后由固定的矢量地址转入中断服务程序,而子程序地址由软件设定。

⑶ 中断响应是受控的,其响应时间会受一些因素影响;子程序响应时间是固定的。

以上就是关于MCS51单片机,中断服务程序的返回指令和子程序的返回指令有什么区别是多少全部的内容,包括:MCS51单片机,中断服务程序的返回指令和子程序的返回指令有什么区别是多少、中断服务子程序和普通子程序有什么区别、在单片机中子程序与中断服务程序的异同点。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9413103.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存