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