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