STM8單片機的中斷控制和中斷功能
內部中斷:一般是由硬件錯誤或者運算過程中出錯引起的,一般是不可避免的;
本文引用地址:http://2s4d.com/article/201806/381705.htm外部中斷:是處理器的外設發(fā)出的中斷請求,如定時器中斷,UART接收中斷,外部中斷一般都可以通過中斷控制器進行屏蔽;
1.ITC功能概述:
……所有IO引腳都具有外部中斷能力,每個端口都有獨立的中斷向量以及獨立的標志;外設中斷能力;
……軟件中斷能力(TRAP)
……具有靈活的優(yōu)先級和中斷等級管理,支持可嵌套和同級中斷管理: ——多達4個軟件可編程的嵌套等級;——最多有32個中斷向量,其入口地址由硬件固定;——2個不可避免的中斷:RESET,TRAP;——1個不可避免的最高優(yōu)先級硬件中斷TL1;
2.中斷的主要功能
1. 實現高速CPU和低速外設之間速度的配合;打印機的打印字符的速度比較慢,于是CPU向打印機傳送一個字符后,可以去執(zhí)行其他任務,打印機打印完該字符,向CPU提出中斷請求……
2. 可實現實時控制,所有參數可隨時向CPU發(fā)送中斷請求,使控制對象保持最佳工作狀態(tài);
3. 實現故障的緊急處理;
4. 實現人機接口,如鍵盤;
3.STM8中斷源和中斷向量
中斷源:中斷信號的觸發(fā)源;
中斷向量:每個中斷源對應至少一個中斷標志,中斷源請求CPU中斷時,對應的中斷標志位發(fā)送改變,CPU在每條語句結束檢查中斷標志位,如果允許中斷,則產生中斷,CPU將PC指針指向對應中斷服務程序入口,改地址就是中斷向量;
在單片機中,中斷技術主要用于實時控制,實時控制要求單片機能夠及時的響應被控制對象提出的分析,計算和控制等請求,使被控制對象保持在最佳工作狀態(tài),以達到預期的最優(yōu)控制效果,這些中斷請求發(fā)生使隨機的,要求單片機快速響應,是一個復雜的過程;
(1)在每一條指令結束后系統會自動檢測中斷請求信號,若全局中斷和某一中斷已經使能,則響應中斷,其他操作被掛起;
(2)保護現場。CPU一旦響應,PC X,Y,A,和CC寄存器被自動壓棧,根據中斷控制寄存器中值對應的中斷服務向量,CC寄存器被響應設置;
(3)中斷服務。通過中斷向量載入中斷服務子程序的入口地址,執(zhí)行中斷服務中的函數;
(4)恢復現場并中斷返回;中斷服務子程序必須以IRET結束,該指令會把堆棧中保存的寄存器內容出棧,CC寄存器被恢復,程序恢復運行;
4.中斷優(yōu)先級和中斷嵌套
STM8單片機某個時刻只能處理一個中斷,當系統有多個中斷源同時發(fā)送中斷請求,就涉及到中斷管理,兩種中斷管理模式:同時發(fā)生模式,嵌套模式;
同時發(fā)生模式:當一個中斷響應,在響應執(zhí)行期間,無論再高優(yōu)先級的中斷(三個不可避免的除外),都無法打斷現在曾在響應的中斷,當前中斷完畢后,會優(yōu)先觸發(fā)高優(yōu)先級的中斷。
嵌套模式:當CPU正在響應一個中斷過程中,一個比當前優(yōu)先級高的中斷發(fā)生,則CPU會暫停當前中斷響應,轉而響應新的中斷,新中斷響應完畢后,繼續(xù)響應原來中斷;
評論