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.能不放在中断中的代码尽量不放在中断程搭首序中。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)