MCS-51單片機多個中斷源中的外中斷分析方案
MCS-51單片機有多個中斷源,以8051為例,有5個中斷源,兩個外中斷、兩個定時中斷和一個串行中斷,這一節(jié)我們討論lcd液晶屏圖外中斷軟件編程。
本文引用地址:http://butianyuan.cn/article/171202.htm外中斷是由外部原因引起的中斷,有兩個中斷源。即外中斷0(INT0)和外中斷1(INT1),中斷請求信號由引腳P3.2(INT0)和P3.3(INT1)輸入。
外中斷請求信號有兩種方式,一是電平方式,二是脈沖方式??赏ㄟ^有關(guān)控制位的定義進行規(guī)定。
電平方式為低電平有效,只需在單片機的(INT0)和(INT1)中斷請求輸入端采樣到有效的低電平時,就會激活外部中斷。
脈沖方式則在脈沖的后負(fù)跳沿有效,即在相鄰兩個機器周期對中斷請求引入端進行采樣中,如前一次為高,后一次為低即為有效中斷請求。這就要求在這種中斷方式,中斷請求信號的脈沖寬度必須大于一個機器周期,以保證電平變化能被單片機采樣到。
定時器控制寄存器 (TCON)
外中斷請求方式的控制位在lcd液晶屏圖定時控制寄存器TCON(地址為88H)中的位88(IT0)和位8A(IT1)兩個位,當(dāng)IT0(IT1)=0為電平方式,IT0(IT1)=1為脈沖方式。同時在此寄存器中的位89(IE0)和位8B(IE1)為外中斷請求標(biāo)志位,當(dāng)CPU采樣到INT0(INT1)端出現(xiàn)有效中斷請求時,此位由硬件置1。在中斷響應(yīng)完成后轉(zhuǎn)向中斷服務(wù)時,再由硬件自動清0。
中斷允許控制寄存器 (IE)
下面我們對有關(guān)控制位作說明:
·EA——中斷允許總控制位,EA=0,中斷總禁止,禁止所有中斷。EA=1,中斷總允許,總允許位打開后,各中斷的允許或禁止由各中斷允許控制位設(shè)置決定。
·EX0(EX1)——外部中斷允許控制位,EX0(EX1)=0,禁止外部中斷。EX0(EX1)=1,允許外部中斷。
·ET0(ET1)——定時/計數(shù)中斷允許控制位,ET0(ET1)=0,禁止定時/計數(shù)中斷。ET0(ET1)=1,允許定時/計數(shù)中斷。
·ES——串行中斷允許控制位,ES=0,禁止串行中斷。ES=1,允許串行中斷。
中斷的允許和禁止就是中斷的開放和關(guān)閉,lcd液晶屏圖中斷允許就是開放中斷,中斷的禁止就是關(guān)閉中斷。從以上說明我們可看出,MCS-51的中斷允許是通過兩級控制的,以EA位作為總中斷控制位,以各中斷控制位為分控制位。當(dāng)總中斷位為禁止?fàn)顟B(tài)時,不管分控制位是允許或禁止整個中斷都是禁止的。只有當(dāng)EA=1(允許)時,才能由各分控制位設(shè)置各自的中斷允許與禁止。MCS-51單片機復(fù)位后,IE=00H,因此中斷處于禁止?fàn)顟B(tài)。
值得一提的是:單片機中斷響應(yīng)后不會自動關(guān)閉中斷,因此在轉(zhuǎn)入中斷服務(wù)程序后,應(yīng)由軟件指令禁止中斷。
中斷優(yōu)先級控制寄存器 (IP)
MCS-51的中斷優(yōu)先級控制比較簡單,只設(shè)置了高、低兩個級別的有限級,各中斷源的優(yōu)先級別由優(yōu)先寄存器(IP)進行控制。
·PX0——外中斷0(INT0)優(yōu)先級控制位。
·PT0——定時中斷0(T0)優(yōu)先級控制位。
·PX1——外中斷1(INT1)優(yōu)先級控制位。
·PT1——定時中斷1(T1)優(yōu)先級控制位。
·PS ——串行中斷(ES)優(yōu)先級控制位。
控制位=0,優(yōu)先級為低??刂莆?1,優(yōu)先級為高。
評論