MCS—51單片機(jī)中斷系統(tǒng)
1、MCS-51中斷源
1.定時(shí)器/計(jì)數(shù)器控制寄存器TCON(88H)
TCON為定時(shí)器/計(jì)數(shù)器T0、T1的控制器,同時(shí)也鎖存了T0、T1的溢出中斷源和外部中斷請(qǐng)求源,與中斷有關(guān)的位如下:
IE1:外部中斷 (P3.3)請(qǐng)求標(biāo)志位。
IT1:外部中斷 請(qǐng)求類型(觸發(fā)方式)控制位。
IT1=0:外部中斷1程控為電平觸發(fā)方式,當(dāng) (P3.3)輸入低電平時(shí),置位IE1=1,申請(qǐng)中斷。
IT1=1:外部中斷1程序控制為邊沿觸發(fā)方式,CPU在每個(gè)機(jī)器周期的S5P2采樣 (P3.3)輸入電平。
IE0:外部中斷0()請(qǐng)求標(biāo)志位。
IT0:外部中斷0()觸發(fā)方式控制位。
TF0:定時(shí)器T0 的溢出中斷申請(qǐng)位。
TF1:定時(shí)器T1 的溢出中斷申請(qǐng)位。
2.串行口控制寄存器SCON(98H)
SCON(98H)為串行口控制寄存器,SCON的低兩位鎖存串行口接收中斷和發(fā)送中斷標(biāo)志RI和TI,其格式如下:
RI和TI:串行口內(nèi)部表示中斷申請(qǐng)標(biāo)志位。
2、MCS-51中斷控制
1.中斷允許寄存器IE(A8H)
MCS-51單片機(jī)中,特殊功能寄存器IE為中斷允許寄存器,控制CPU對(duì)中斷源的開(kāi)放或屏蔽,以及每個(gè)中斷源是否允許中斷。其格式為:
EA:CPU中斷開(kāi)放標(biāo)志。EA=1,CPU開(kāi)放中斷;EA=0,CPU屏蔽所有的中斷請(qǐng)求。
ES:串行中斷允許位。ES=1,允許串行口中斷;ES=0,禁止串行口中斷。
ET1:T1溢出中斷允許。ET1=1,允許T1中斷;ET1=0,禁止T1中斷。
EX1:外部中斷1( )允許位。EX1=1,允許外部中斷1中斷;EX1=0,禁止外部中斷1中斷。
ET0:T0溢出中斷允許位。ET0=1,允許T0中斷;ET0=0,禁止T0中斷。
EX0:外部中斷0( )允許位。EX0=1,允許外部中斷0中斷;EX0=0,禁止外部中斷0中斷。
MCS-51單片機(jī)復(fù)位后,IE中各位均被清0,即禁止所有中斷。
2.中斷源優(yōu)先級(jí)設(shè)定寄存器IP(B8H)
8051單片機(jī)具有二個(gè)中斷優(yōu)先級(jí),每個(gè)中斷源可編程為高優(yōu)先級(jí)中斷或低優(yōu)先級(jí)中斷,并可實(shí)現(xiàn)二級(jí)中斷嵌套。
特殊功能寄存器IP為中斷優(yōu)先級(jí)寄存器,所存各種中斷源優(yōu)先級(jí)的控制位,用戶可用軟件設(shè)定,其格式如下:
PS:串行口中斷優(yōu)先級(jí)控制位。PS=1,設(shè)定串行口為高優(yōu)先級(jí)中斷;PS=0,為低優(yōu)先級(jí)中斷。
PT1:T1中斷優(yōu)先級(jí)控制位。
PT0:T0中斷優(yōu)先級(jí)控制位。
3.優(yōu)先級(jí)結(jié)構(gòu)
MCS-51的CPU每一個(gè)機(jī)器周期順序檢查每一個(gè)中斷源,在任意機(jī)器周期的S6狀態(tài)采樣并按優(yōu)先級(jí)處理所有被激活的中斷請(qǐng)求,在下一個(gè)機(jī)器周期的S1狀態(tài),只要不受阻斷就開(kāi)始響應(yīng)其中最高優(yōu)先級(jí)的中斷請(qǐng)求。若發(fā)生下列情況,中斷響應(yīng)會(huì)受到阻斷:
(1) 同級(jí)或高優(yōu)先級(jí)的中斷正在進(jìn)行
(2) 現(xiàn)在的機(jī)器周期不是所執(zhí)行指令的最后一個(gè)機(jī)器周期;
(3) 正執(zhí)行的指令是RETI或是訪問(wèn)IE或IP的指令,也就是說(shuō)CPU在執(zhí)行RETI或訪問(wèn)IE、IP的指令后,至少需要再執(zhí)行其它一條指令之后才會(huì)響應(yīng)。
如果上述條件中有一個(gè)存在,CPU將丟棄中斷查詢的結(jié)果;若一個(gè)條件也不存在,接著的下一機(jī)器周期,中斷查詢結(jié)果變?yōu)橛行А?
編輯:admin 最后修改時(shí)間:2018-05-08