一,文字层面理解
反正我看下面的几段文字时脑壳没有正常运转。一个头几个大
中断系统是为使CPU具有对外界紧急事件的实时处理能力而设置的。
当中央处理机CPU正在处理某件事的时候外界发生了紧急事件请求,要求CPU暂停当前的工作,转而去处理这个紧急事件,处理完以后,再回到原来被中断的地方,继续原来的工作,这样的过程称为中断。实现这种功能的部件称为中断系统,请示CPU中断的请求源称为中断源。微型机的中断系统一般允许多个中断源,当几个中断源同时向CPU请求中断,要求为它服务的时候,这就存在CPU优先响应哪一个中断源请求的问题。通常根据中断源的轻重缓急排队,优先处理最紧急事件的中断请求源,即规定每一个中断源有一个优先级别。CPU总是先响应优先级别最高的中断请求。
当CPU正在处理一个中断源请求的时候(执行相应的中断服务程序),发生了另外一个优先级比它还高的中断源请求。如果CPU能够暂停对原来中断源的服务程序,转而去处理优先级更高的中断请求源,处理完以后,再回到原低级中断服务程序,这样的过程称为中断嵌套。这样的中断系统称为多级中断系统,没有中断嵌套功能的中断系统称为单级中断系统。
二,图形代码结合理解中断
还是上图片吧,理解起来稍微容易下
再弄简单点
再入下面这两个图
对于程序员可能还是要用代码才能够直观体现这个逻辑。
void main()
{
//主程序
//......
//暂停,跑去执行中断函数的代码
//....中断函数执行中
//恢复,继续执行主程序代码
//......
//主程序
}
void time0() interrupt 1 //定时器0中断函数 【友情提示:在执行这个中断函数的代码时,主函数的程序一直是暂停状态,直到函数执行结束,所以这里面的代码不要