1.PIC单片机的中断系统图如下所示
图种的最右侧 到CPU的中断是指 产生CPU中断请求,CPU将对该中断执行对应响应操作,也就是保护现场和转跳到特定程序地址执行(中断服务函数)。根据系统图可得到一些结论:
1. GIE 为总中断使能位
2. PEIE为外设中断使能位
3. 一个中断源要让CPU产生响应,需要满足对应的使能位IE打开 并且 中断标志位IF为1(中断已满足)
4. 中断使能位IE 和 中断标志位IF的独立的,只要中断满足,对应IF就会置1,而不管是否中断使能
2. 中断响应操作流程
1.从第2点可以看出,将发生中断响应后,GIE位被清0了,说明此时再来中断,不会再次响应了,因为总开关被关了,当中断服务函数结束的时候,会从堆栈中将GIE恢复,即再次置1,所以不用退出时候再次置GIE,程序会自动恢复。
2.从第5点看出,所有的中断响应都是让CPU跳到1个固定地址执行,说明所有中断响应都是跳到一个中断服务函数,因此在中断服务函数中需要对IF(中断标志)判断一下来确认是什么中断产生了。
3.结合中断系统图,说明PIC单片机不存在中断优先级问题,因为所有中断源都是并行的,在某种特殊情况下,比如2个中断确实同时发生,那么如何执行中断响应由我们用户自己决定,因为2个标志位IF都置位了,我们可以选择如何来执行。
以下为中断相关的寄存器,主要就是使能位IE和标志位IF,具体内容查阅手册即可。
|