51單片機中斷詳解(上)
一.中斷的概念
中斷發(fā)生
CPU在處理某一事件A時,發(fā)生了另一事件B請求CPU迅速去處理
中斷響應(yīng)和中斷服務(wù)
CPU暫時中斷當(dāng)前的工作,轉(zhuǎn)去處理事件B
中斷返回
待CPU將事件B處理完畢后,再回到原來事件A被中斷的地方繼續(xù)處理事件A
這一過程稱為中斷
二.中斷過程示意圖
三.MCS51中斷系統(tǒng)的結(jié)構(gòu)
MCS51的中斷系統(tǒng)有5個中斷源(8052有 6個) ,2個優(yōu)先級,可實現(xiàn)二級中斷嵌套
中斷編號 | 中斷名 | 中斷源 |
---|---|---|
0 | 外部中斷0 | IE0(P3.2) |
1 | 定時器0溢出中斷 | TF0 |
2 | 外部中斷1 | IE1(P3.3) |
3 | 定時器1溢出中斷 | TF1 |
4 | 串行口中斷 | RI |
四.中斷寄存器
單片機有10個寄存器主要與中斷程序的書寫控制有關(guān)
中斷允許控制寄存器IE
定時器控制寄存器TCON
串口控制寄存器SCON
中斷優(yōu)先控制寄存器IP
定時器工作方式控制寄存器TMOD
定時器初值賦予寄存器(TH0/TH1,TL0/TL1)
五.部分寄存器詳解
1.中斷允許控制寄存器(IE)
EX0:外部中斷0允許位;
ET0:定時/計數(shù)器T0中斷允許位;
EX1:外部中斷1允許位;
ET1:定時/計數(shù)器T1中斷允許位;
ES :串行口中斷允許位;
EA :CPU中斷允許(總允許)位。
2.定時器/計數(shù)器控制寄存器控制寄存器(TCON)
IT0:外部中斷0觸發(fā)方式控制位
當(dāng)IT0=0時,為電平觸發(fā)方式(低電平有效)
當(dāng)IT0=1時,為邊沿觸發(fā)方式(下降沿有效)
IE0:外部中斷0中斷請求標(biāo)志位
IT1:外部中斷1觸發(fā)方式控制位
IE1:外部中斷1中斷請求標(biāo)志位
TF0:定時/計數(shù)器T0溢出中斷請求標(biāo)志位
TF1:定時/計數(shù)器T1溢出中斷請求標(biāo)志位
3.串行口控制寄存器(SCON)
RI:串行口接收中斷標(biāo)志位。當(dāng)允許串行口接收數(shù)據(jù)時,每接收完一個串行幀,由硬件置位RI。注意,RI必須由軟件清除。
TI:串行口發(fā)送中斷標(biāo)志位。當(dāng)CPU將一個發(fā)送數(shù)據(jù)寫入串行口發(fā)送緩沖器時,就啟動了發(fā)送過程。每發(fā)送完一個串行幀,由硬件置位TI。CPU響應(yīng)中斷時,不能自動清除TI,TI必須由軟件清除。
4.中斷優(yōu)先級控制寄存器(IP)
PX0:外部中斷0優(yōu)先級設(shè)定位
PT0:定時/計數(shù)器T0優(yōu)先級設(shè)定位
PX1:外部中斷0優(yōu)先級設(shè)定位
PT1:定時/計數(shù)器T1優(yōu)先級設(shè)定位
PS :串行口優(yōu)先級設(shè)定位
PT2:定時/計數(shù)器T2優(yōu)先級設(shè)定位
六.中斷響應(yīng)條件
中斷源有中斷請求
此中斷源的中斷允許位為1
開中斷(即EA=1)
編輯:admin 最后修改時間:2018-05-18