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