MCS-51的中斷系統(tǒng)
能夠?qū)崿F(xiàn)中斷處理功能的部件稱為中斷系統(tǒng);產(chǎn)生中斷的請(qǐng)求源稱為中斷請(qǐng)求源。
中斷源向CPU提出的處理請(qǐng)求,稱為中斷請(qǐng)求(或中斷申請(qǐng))。
進(jìn)入中斷→保護(hù)現(xiàn)場(chǎng)→中斷處理恢復(fù)現(xiàn)場(chǎng)→中斷返回
中斷方式優(yōu)點(diǎn):大大地提高了CPU的工作效率。
5.3 中斷請(qǐng)求源
五個(gè)中斷請(qǐng)求源 :
(1)INT0*—外部中斷請(qǐng)求0,由引腳INT0*輸入,中斷請(qǐng)求標(biāo)志為IE0。
(2)INT1*—外部中斷請(qǐng)求1,由引腳INT1*輸入,中斷請(qǐng)求標(biāo)志為IE1。
(3)定時(shí)器/計(jì)數(shù)器T0溢出中斷請(qǐng)求,中斷請(qǐng)求標(biāo)志為TF0。
(4)定時(shí)器/計(jì)數(shù)器T1溢出中斷請(qǐng)求,中斷請(qǐng)求標(biāo)志為TF1。
(5)串行口中斷請(qǐng)求,中斷請(qǐng)求標(biāo)志為TI或RI。
由特殊功能寄存器TCON和SCON的相應(yīng)位鎖存。
包含:
(1)T0和T1的溢出中斷請(qǐng)求標(biāo)志位TF1和TF0
(2)外部中斷請(qǐng)求標(biāo)志位IE1與IE0。格式如下所示:
各標(biāo)志位的功能:
(1)IT0—選擇外部中斷請(qǐng)求0為跳沿觸發(fā)方式還是電平觸發(fā)方式:
IE0=1,外部中斷0有中斷請(qǐng)求。當(dāng)CPU響應(yīng)該中斷,轉(zhuǎn)向中斷服務(wù)程序時(shí),由硬件清“0”IE0。
(3)IT1—外部中斷請(qǐng)求1為跳沿觸發(fā)方式還是電平觸發(fā)方式,意義與IT0類似。
(4)IE1—外部中斷請(qǐng)求1的中斷請(qǐng)求標(biāo)志位,意義與IE0類似。
T0計(jì)數(shù)后,溢出時(shí),由硬件置“1”TF0,向CPU申請(qǐng)中斷,CPU響應(yīng)TF0中斷時(shí),硬件自動(dòng)清“0”TF0,TF0也可由軟件清0。
當(dāng)MCS-51復(fù)位后,TCON被清0,則CPU關(guān)中斷,所有中斷請(qǐng)求被禁止。
SCON為串行口控制寄存器,字節(jié)地址為98H。串行口的發(fā)送中斷和接收中斷的中斷請(qǐng)求標(biāo)志TI和RI,格式如下:
各標(biāo)志位的功能:
(1)TI—發(fā)送中斷請(qǐng)求標(biāo)志位。串口每發(fā)送完一幀串行數(shù)據(jù)后,硬件自動(dòng)置“1”TI。必須在中斷服務(wù)程序中用軟件對(duì)TI標(biāo)志清“0”。
2)RI—接收中斷請(qǐng)求標(biāo)志位。串口接收完一個(gè)數(shù)據(jù)幀,硬件自動(dòng)置“1”RI標(biāo)志。必須在中斷服務(wù)程序中用軟件對(duì)RI標(biāo)志清“0”。
5.4 中斷控制
5.4.1 中斷允許寄存器IE
CPU對(duì)中斷源的開(kāi)放或屏蔽,由片內(nèi)的中斷允許寄存器IE控制。字節(jié)地址為A8H,可位尋址。格式如下:
IE對(duì)中斷的開(kāi)放和關(guān)閉為兩級(jí)控制
總的開(kāi)關(guān)中斷控制位EA(IE.7位):
EA=0,所有中斷請(qǐng)求被屏蔽。
EA=1,CPU開(kāi)放中斷,但五個(gè)中斷源的中斷請(qǐng)求是否允許,還要由IE中的5個(gè)中斷請(qǐng)求允許控制位決定。
1:CPU開(kāi)放所有中斷(CPU開(kāi)中斷)。
1:允許串行口中斷。
MCS-51復(fù)位后,IE清0,所有中斷請(qǐng)求被禁止。
若使某一個(gè)中斷源被允許中斷,除了IE相應(yīng)的位的被置“1”,還必須使EA位=1。
IP各個(gè)位的含義:
(1)PS——串行口中斷優(yōu)先級(jí)控制位
0:低優(yōu)先級(jí)中斷。
評(píng)論