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