中断服务子程序应至少包括哪些内容?

中断服务子程序应至少包括哪些内容?,第1张

1、中断请求:中租枯断事件一旦发生或者中断条件一旦构成,中断源提交“申请报告”,与请求CPU暂时放下目前的工作而转为中断源作为专项服务

2、中断屏蔽:虽然中断源提交了“申请报告”,但是,是否得到CPU的响应,还要取决于“申请报告”是否能够通过2道或者3道“关卡”(中断屏蔽)送达CPU(相应的中断屏蔽位等于1,为关卡放行;反之相应的中断屏蔽位等于0,为关卡禁止通行);

3、中断响应:如果一路放行,则CPU响应中断后,将被打断的工作断点记录下来(把断点地址保护到堆栈),挂起“不再受理其他申请报告牌”(清除全局中断标志位GIE=0),跳转到中断服务子程序

4、保护现场:在处理新任务时可能破坏原有的工作现场,所以需要对工作现场和工作环境进行适当保护;

5、调查中断源:检查“申请报告”是由哪个中断源提弊亮洞交的,以便作出有针对性的服务;

6、中断处理:开始对查明的中断源进行有针对性的中断服务;

7、清除标志:在处理完毕相应的任务之后,需要进行撤消登记(清除中断标志),以避免造成重复响应;

8、恢复现场:恢复前面曾经被保护起来的工作现场,以便继续执行被中断的工作;

9、中断键哪返回:将被打断的工作断点找回来(从堆栈中恢复断点地址),并摘下“不再受理其他申请报告牌”(GIE=1),继续执行原先被打断的工作。

中断是单片机的一个重要功能,中断子程序专为执行中断功能,它是在发生中断后,自动执行的,不需要主程序调用

在汇编中:模唤

中断子程序旦缓凯用RETI返回,RETI返回时要清除中断标志的

中断函数在中断发生时先进中断入口

03H、08H、13H、18H、23H后随即写一个跳转指令,再跳转到相应语句

在C语言中:

中断函数没有参数,没有返回值

要进一步了解,哪裂参考:

http://z.baidu.com/question/84264993.html

http://z.baidu.com/question/100717950.html

http://z.baidu.com/question/81735469.html?fr=qrl&cid=865&index=5

由于中断程序是在打烂枝伏断正在运行的程序而执行的代码,运行之前需要保存寄存器等 *** 作,所以中饥携断程序应尽量:

1.精简短小,使之尽快执行完返回。

2.能不放在中断中的代码尽量不放在中断程搭首序中。


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

原文地址: http://outofmemory.cn/yw/12457357.html

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

发表评论

登录后才能评论

评论列表(0条)

保存