當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀]1、前 言在許多文獻(xiàn)[1,2,3]中,雖指出了MCS—96系列單片機(jī)的中斷優(yōu)先級(jí)可用軟件的方法加以改變這一事實(shí),但并未對(duì)此作必要深入的闡述。事實(shí)上,該系列單片機(jī)的中斷系統(tǒng)頗具特色,其中斷優(yōu)先級(jí)的控制極具靈活

1、前 言

在許多文獻(xiàn)[1,2,3]中,雖指出了MCS—96系列單片機(jī)中斷優(yōu)先級(jí)可用軟件的方法加以改變這一事實(shí),但并未對(duì)此作必要深入的闡述。事實(shí)上,該系列單片機(jī)的中斷系統(tǒng)頗具特色,其中斷優(yōu)先級(jí)的控制極具靈活性,用戶可采用軟、硬件結(jié)合的方法隨心所欲地安排各類中斷源的優(yōu)先級(jí)。

2、MCS—96系列單片機(jī)中斷

優(yōu)先級(jí)結(jié)構(gòu)的特點(diǎn)

MCS—96系列單片機(jī)中斷系統(tǒng)的硬件優(yōu)先級(jí)排隊(duì)電路為各類中斷源規(guī)定了優(yōu)先級(jí)順序。這種中斷優(yōu)先級(jí)的結(jié)構(gòu)有如下特點(diǎn)。

(1)硬件排隊(duì)電路并不能保證各中斷源的優(yōu)先級(jí)。這是因?yàn)樵谀硞€(gè)中斷源的中斷請(qǐng)求被CPU響應(yīng)后,INT-PENDING 中的相應(yīng)位即被清零,這意味著正在被服務(wù)的中斷源不能參加有新的中斷請(qǐng)求后的優(yōu)先權(quán)比較,倘未采取一定措施,就會(huì)造成級(jí)別高的中斷服務(wù)被級(jí)別較低的中斷申請(qǐng)所打斷的后果。譬如外中斷(優(yōu)先級(jí)最高)和定時(shí)器溢出中斷(優(yōu)先級(jí)最低)同時(shí)產(chǎn)生,在系統(tǒng)已開(kāi)放中斷的情況下,外中斷的申請(qǐng)將首先被CPU所響應(yīng),進(jìn)入其中斷服務(wù)程序后,定時(shí)器溢出的中斷申請(qǐng)又被優(yōu)先權(quán)編碼電路加以比較,由于INT-PRNDING中對(duì)應(yīng)外中斷的位已被清零,這時(shí)參與優(yōu)先級(jí)比較的僅有定時(shí)器溢出中斷,因而外中斷的服務(wù)過(guò)程被打斷,CPU轉(zhuǎn)向定時(shí)器溢出的中斷服務(wù)程序,直到服務(wù)完畢后,才返回為外中斷繼續(xù)服務(wù)。不難看出,在多個(gè)中斷源提出中斷申請(qǐng)的情況下,事實(shí)上最先得到完整服務(wù)的將是級(jí)別最低的中斷源,級(jí)別最高的中斷服務(wù)反而要等到最后才可完成。這也意味著最高級(jí)別的中斷源實(shí)質(zhì)上變成了最低級(jí)別。

(2)可采用軟、硬件結(jié)合的方法實(shí)現(xiàn)特定的優(yōu)先級(jí)別順序。雖然如上所述,硬件排隊(duì)電路不能保證按指定優(yōu)先級(jí)的高低順序?qū)崿F(xiàn)中斷嵌套,但可采取一定的軟件措施來(lái)實(shí)現(xiàn)設(shè)計(jì)人員所預(yù)想的優(yōu)先級(jí)排隊(duì)順序。

3、實(shí)現(xiàn)預(yù)定的優(yōu)先級(jí)排隊(duì)

順序的軟件措施

為實(shí)現(xiàn)特定的中斷優(yōu)先級(jí)順序,需在軟件上采取相應(yīng)的措施,下面分四種情況予以討論。

3.1 實(shí)現(xiàn)硬件規(guī)定的優(yōu)先級(jí)順序

硬件電路規(guī)定了8種中斷源的優(yōu)先級(jí)順序,即外中斷的優(yōu)先級(jí)最高,串行口中斷次之,……,而定時(shí)器溢出中斷的級(jí)別最低。實(shí)現(xiàn)硬件所規(guī)定的這種優(yōu)先級(jí)有兩種含義:一是在多個(gè)中斷源提出中斷申請(qǐng)時(shí),CPU優(yōu)先響應(yīng)級(jí)別最高的請(qǐng)求;二是高級(jí)別的申請(qǐng)可打斷低級(jí)別的服務(wù)過(guò)程,但反之不可,其具體做法如下:

(1)首先在主程序中設(shè)置INT—MASK,執(zhí)行指令LDB INT—MASK,#0FFH,使其內(nèi)容為全1,以開(kāi)放全部的中斷,使任一中斷源或多個(gè)中斷源提出中斷申請(qǐng)時(shí),CPU全部予以響應(yīng)。

(2)在每一中斷服務(wù)程序的開(kāi)始便執(zhí)行DI或PUSHF指令,以禁止所有的中斷,而后將INT-MASK中優(yōu)先級(jí)低于本次中斷的所有位清零,而高于本次中斷的所有位置1,再執(zhí)行EI指令開(kāi)放中斷。如此做之后,在該中斷服務(wù)程序執(zhí)行的過(guò)程中,低級(jí)別的中斷不可能實(shí)現(xiàn)中斷嵌套而高級(jí)別的中斷則可以。在中斷服務(wù)程序的結(jié)尾處,應(yīng)再次將INT-MASK置為FFH,以使CPU在中斷返回后能再次響應(yīng)任何中斷。這樣就保證了硬件所規(guī)定的優(yōu)先權(quán)順序。

下面是采用上述方法的HSO中斷服務(wù)程序的開(kāi)始和結(jié)束處所需使用的指令示例。
  INT-SHO:PUSHF
       LDB INT-MASK,#0F0H
       EI
       .
       .
       .
       POPF
       RET

PUSHF指令的作用是保護(hù)PSW的內(nèi)容并關(guān)總中斷開(kāi)關(guān);由于HSO事件中斷對(duì)應(yīng)INT-MASK中的D3位,因此LDB INT-MASK,#0F0H指令的作用是只允許高于HSO事件的中斷;POPF的指令是恢復(fù)PSW,這樣也使INT-MASK=0FFH,因?yàn)樵谥鞒绦蛑性褜FH送入該寄存器。

3.2 不允許任何中斷打斷正在

運(yùn)行的中斷服務(wù)程序

做法比較簡(jiǎn)單,在進(jìn)入中斷服務(wù)程序后便關(guān)中斷(使PSW.9=0),直至中斷服務(wù)程序結(jié)束時(shí)才開(kāi)中斷。程序示例如下:
  INTSUB:PUSHF(或DI)
      .
      .
      .
      POPF(或EI)
      RET

PUSHF使PSW.9=0,從而禁止了所有中斷。在中斷服務(wù)程序的運(yùn)行過(guò)程中不準(zhǔn)開(kāi)放中斷,直到程序結(jié)束。這樣就保證了任何中斷申請(qǐng)都不能打斷正在進(jìn)行的服務(wù)過(guò)程。

3.3 使任意的中斷源成為最高級(jí)別

這是指用戶安排特定的中斷源的中斷申請(qǐng)能夠打斷任何中斷服務(wù)程序而實(shí)現(xiàn)中斷嵌套,保證在任何情況下這一指定的中斷源都能得到優(yōu)先的服務(wù)。具體做法是在每一中斷服務(wù)程序的開(kāi)始先關(guān)總中斷,而后設(shè)置INT-MASK,只開(kāi)放設(shè)定為最高級(jí)別的中斷。

假設(shè)指定A/D轉(zhuǎn)換結(jié)束中斷能夠中斷任何服務(wù)過(guò)程,則外中斷的中斷服務(wù)程序設(shè)計(jì)如下:
  EXTINT:PUSHF  ??;關(guān)總中斷
      LDB INT_MASK, # 02H ;只允許A/D轉(zhuǎn)換結(jié)束中斷
      EI       ;開(kāi)中斷
      .
      .
      .
      POPF
      RET

3.4 任意安排各中斷源的優(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)。

4、MCS—96系列單片機(jī)中斷

優(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
 

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉