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