中斷處理過程可分為中斷響應、中斷處理和中斷返回三個階段。
中斷響應
中斷響應是CPU對中斷源中斷請求的響應,包括保護斷點和將程序轉向中斷服務程序的入口地址(通常稱矢量地址)。
中斷響應過程
中斷響應過程包括保護斷點和將程序轉向中斷服務程序的入口地址。首先,中斷系統通過硬件自動生成長調用指令(LACLL),該指令將自動把斷點地址壓入堆棧保護(不保護累加器A、狀態寄存器PSW和其它寄存器的內容),然后,將對應的中斷入口地址裝入程序計數器PC(由硬件自動執行),使程序轉向該中斷入口地址,執行中斷服務程序。MCS-51系列單片機各中斷源的入口地址由硬件事先設定,分配如下:
中斷源 入口地址
外部中斷0 0003H
定時器T0中斷 000BH
外部中斷1 0013H
定時器T1中斷 001BH
串行口中斷 0023H
使用時,通常在這些中斷入口地址處存放一條絕對跳轉指令,使程序跳轉到用戶安排的中斷服務程序的起始地址上去。
中斷返回
中斷返回是指中斷服務完后,計算機返回原來斷開的位置(即斷點),繼續執行原來的程序。中斷返回由中斷返回指令RETI來實現。該指令的功能是把斷點地址從堆棧中彈出,送回到程序計數器PC,此外,還通知中斷系統已完成中斷處理,并同時清除優先級狀態觸發器。特別要注意不能用“RET”指令代替“RETI”指令。
中斷請求的撤除
CPU響應中斷請求后即進入中斷服務程序,在中斷返回前,應撤除該中斷請求,否則,會重復引起中斷而導致錯誤。MCS-51各中斷源中斷請求撤消的方法各不相同,分別為:
1)定時器中斷請求的撤除
對于定時器0或1溢出中斷,CPU在響應中斷后即由硬件自動清除其中斷標志位TF0或TF1,無需采取其它措施。
2)串行口中斷請求的撤除
對于串行口中斷,CPU在響應中斷后,硬件不能自動清除中斷請求標志位TI、RI,必須在中斷服務程序中用軟件將其清除。
3)外部中斷請求的撤除
外部中斷可分為邊沿觸發型和電平觸發型。
對于邊沿觸發的外部中斷0或1,CPU在響應中斷后由硬件自動清除其中斷標志位IE0或IE1,無需采取其它措施。
-
單片機
+關注
關注
6032文章
44525瀏覽量
633260 -
中斷處理
+關注
關注
0文章
94瀏覽量
10961
原文標題:單片機中斷處理過程:中斷響應 中斷處理 中斷返回詳解
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論