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