PIC單片機(jī)的中斷過程
1)系統(tǒng)初始化的時(shí)候會(huì)打開總中斷控制位(GIE),打開某個(gè)中斷控制位,如果是外圍中斷還要打開外圍中斷控制位(PEIE);
2)CPU正在執(zhí)行某個(gè)用戶程序時(shí),突然收到一個(gè)隨機(jī)產(chǎn)生的中斷信號(hào),使某個(gè)中斷標(biāo)志位置為1;
3)CPU立刻停止當(dāng)前的程序,并將下一條要執(zhí)行的程序的地址保存起來;
4)CPU自動(dòng)關(guān)閉總中斷控制位(GIE),控制指令指針跳到中斷入口處;
5)從中斷入口跳轉(zhuǎn)至中斷服務(wù)子程序(ISR)。在ISR中程序員應(yīng)該首先保護(hù)中斷現(xiàn)場(chǎng)(保存相應(yīng)重要寄存器的值),
然后根據(jù)中斷標(biāo)志位來響應(yīng)何種中斷并作出處理;
6)中斷程序執(zhí)行完畢,首先清空中斷標(biāo)志位并恢復(fù)中斷現(xiàn)場(chǎng),執(zhí)行特殊的指令返回原先用戶程序終止處。