MCS-96系列單片機中斷優(yōu)先級的控制方法
可根據系統的實(shí)際需要,重新安排各中斷源的優(yōu)先級,使之不同于硬件所規定的中斷優(yōu)先級。具體做法是在每一中斷服務(wù)程序的開(kāi)始即關(guān)中斷,然后對INT-MASK進(jìn)行設置,只開(kāi)放預定的高級別的中斷。假設需設定優(yōu)先級由高至低的順序依次為:定時(shí)器溢出中斷、外中斷、A/D轉換結束中斷,則對應的三個(gè)中斷服務(wù)程序可設計如下:
TIMERV:PUSHF ??;定時(shí)器溢出的中斷服務(wù)程序
.
.
.
POPF
RET
EXTINT:PUSHF ??;外中斷的中斷服務(wù)程序
LDB INT_MASK, # 01H??;只開(kāi)放定時(shí)器溢出中斷
EI
.
.
.
POPF
RET
AD-INT:PUSHF ??;A/D轉換結束中斷服務(wù)程序
LDB INT_MASK, # 81H??;開(kāi)放定時(shí)器溢出中斷及外中斷
EI
.
.
.
POPF
RET
在A(yíng)/D轉換結束的中斷服務(wù)程序中開(kāi)放了定時(shí)器溢出中斷和外中斷,則這兩類(lèi)中斷均可打斷該程序的運行;在外中斷的中斷服務(wù)程序中只開(kāi)放了定時(shí)器溢出中斷;而在定時(shí)器溢出的中斷服務(wù)程序的運行中則禁止任何中斷,這樣便保證了預定的中斷嵌套的實(shí)現。
優(yōu)先級控制小結
如前所述,MCS—96系列單片機具有與眾不同的中斷結構,其中斷優(yōu)先級的控制極具靈活性。硬件排隊電路雖為各類(lèi)中斷源規定了優(yōu)先級,但由于正在被服務(wù)的中斷源不參加有新的中斷申請時(shí)的優(yōu)先級的比較,這就造成了高級別的服務(wù)過(guò)程可能會(huì )被低級別的申請所打斷的結果。但正如前面所討論的,可采取一定的軟件措施實(shí)現預定的優(yōu)先級排隊方案,即根據不同的情況在中斷的服務(wù)程序中通過(guò)關(guān)、開(kāi)中斷及設置中斷屏蔽寄存器INT-MASK來(lái)達到目的。顯然這種方法可使用戶(hù)隨心所欲地安排中斷源的優(yōu)先級順序,具有很大的靈活性,為中斷系統的設計、軟件編程帶來(lái)了方便。
5、參考文獻
[1]金磐石,王永明.INTEL96系列單片微型機應用詳解.北京:電子工業(yè)出版社,1992
[2]張振安,張培仁.MCS—96系列單片微機原理與實(shí)踐.合肥:中國科技大學(xué)出版社,1993
[3]朱曉強,姚志石.8096/8098單片機原理及應用.上海:復旦大學(xué)出版社,1993
評論