MCS-51 單片機中斷系統(tǒng)的結(jié)構(gòu)是什么?有什么功能?
1.中斷系統(tǒng)的功能
單片機中斷系統(tǒng)由硬件和軟件共同構(gòu)成,其主要功能如下:
(1)中斷源的識別
MCS-51單片機有5個中斷源,當接收到中斷請求時,MCS-51單片機可以識別出中斷的來源,并執(zhí)行相應(yīng)的中斷服務(wù)處理程序。
(2)中斷的開放和屏蔽
單片機系統(tǒng)用戶可以通過中斷系統(tǒng)的軟件和硬件實現(xiàn)對某一中斷請求的開放(或允許)和屏蔽。開放是指中斷請求發(fā)生時中斷系統(tǒng)響應(yīng)該請求,并完成相應(yīng)的中斷服務(wù)處理工作;相反地,屏蔽是指中斷系統(tǒng)既不接收中斷請求,也不進行中斷處理。
(3)中斷的優(yōu)先級別排隊
單片機每次只能處理一個中斷源的中斷請求,當多個被開放的中斷源同時發(fā)出中斷請求時,單片機必須確定優(yōu)先響應(yīng)哪一個中斷請求。
MCS-51單片機具有中斷優(yōu)先級排隊功能,可以根據(jù)預(yù)先設(shè)定好的優(yōu)先級別對所有發(fā)出請求的中斷源進行優(yōu)先級別的排序。優(yōu)先級別最高的中斷請求首先被響應(yīng)和處理,高級別中斷處理結(jié)束后再處理低級別的中斷。
(4)中斷的響應(yīng)和處理
中斷響應(yīng)是指單片機中斷系統(tǒng)根據(jù)對中斷源的判斷結(jié)果,臨時中止當前的程序并控制程序跳轉(zhuǎn)至中斷服務(wù)處理程序,以完成相應(yīng)的中斷服務(wù)操作。
(5)中斷的返回
中斷返回是指單片機退出中斷服務(wù)處理程序,并返回中斷請求響應(yīng)之前被中止的位置繼續(xù)執(zhí)行程序。中斷返回操作由單片機中斷服務(wù)處理程序中的RETI指令完成。
2.中斷系統(tǒng)的結(jié)構(gòu)
中斷裝置和中斷處理程序統(tǒng)稱為中斷系統(tǒng)。中斷系統(tǒng)是計算機的重要組成部分。實時控制、故障自動處理、計算機與外圍設(shè)備間的數(shù)據(jù)傳送往往采用中斷系統(tǒng)。中斷系統(tǒng)的應(yīng)用大大提高了計算機效率。
不同的計算機其硬件結(jié)構(gòu)和軟件指令是不完全相同的,因此,中斷系統(tǒng)也是不相同的。計算機的中斷系統(tǒng)能夠加強CPU對多任務(wù)事件的處理能力。中斷機制是現(xiàn)代計算機系統(tǒng)中的基礎(chǔ)設(shè)施之一,它在系統(tǒng)中起著通信網(wǎng)絡(luò)作用,以協(xié)調(diào)系統(tǒng)對各種外部事件的響應(yīng)和處理。中斷是實現(xiàn)多道程序設(shè)計的必要條件。中斷是CPU對系統(tǒng)發(fā)生的某個事件作出的一種反應(yīng)。
引起中斷的事件稱為中斷源。中斷源向CPU提出處理的請求稱為中斷請求。發(fā)生中斷時被打斷程序的暫停點成為斷點。CPU暫停現(xiàn)行程序而轉(zhuǎn)為響應(yīng)中斷請求的過程稱為中斷響應(yīng)。處理中斷源的程序稱為中斷處理程序。CPU執(zhí)行有關(guān)的中斷處理程序稱為中斷處理。而返回斷點的過程稱為中斷返回。中斷的實現(xiàn)由實行軟件和硬件綜合完成,硬件部分叫做硬件裝置,軟件部分稱為軟件處理程序。
MCS-51單片機中斷系統(tǒng)的結(jié)構(gòu)如圖4-1所示。MCS-51單片機有5個中斷源,分別是2個外部中斷源、2個定時/計數(shù)器中斷源和1個串行接口中斷源。與中斷系統(tǒng)有關(guān)的寄存器有TCON、SCON、IE和IP,它們都可以按位尋址,其中的每一位都可以通過指令來設(shè)置。
圖4-1 MCS-51中斷系統(tǒng)的結(jié)構(gòu)
MCS-51的中斷源可分為三類:外部中斷、定時中斷和串行口中斷。
1.外部中斷類
由外部原因引起的:
INT0——外部中斷0請求信號,由P3.2輸入,IT0(TCON.0)決定中斷請求信號是低電平有效還是下降沿有效。一旦輸入有效,即向CPU申請中斷,并使IE0=1。
INT1——外部中斷1請求信號,由P3.3輸入,由IT1(TCON.2)決定中斷請求信號是低電平有效還是下降沿有效。一旦輸入有效,即向CPU申請中斷,并使IE1=1。
2.定時中斷類
定時中斷是為滿足定時或計數(shù)溢出處理的需要而設(shè)置的,在單片機芯片內(nèi)部發(fā)生,無需在芯片上設(shè)置引入端,但在計數(shù)方式時,中斷源可以由單片機芯片外部引入。
TF0——定時器T0溢出中斷請求。當定時器T0產(chǎn)生溢出時,其中斷請求標志TF0=1,請求中斷處理。
TF1——定時器T1溢出中斷請求。當定時器T1產(chǎn)生溢出時,其中斷請求標志TF1=1,請求中斷處理。
3.串行口中斷類
串行口中斷為串行數(shù)據(jù)的傳送需要而設(shè)置的。
RI或TI——串行中斷請求。