久久99热66热这里只有精品,特黄特色的大片在线观看,亚洲日本三级在线观看,国产三级农村妇女在线,亚洲av毛片免费在线观看,哺乳叫自慰在线看,天天干美女av网

單片機(jī)中斷多優(yōu)先級(jí)的軟件擴(kuò)展方法

時(shí)間:2023-05-01 09:03:43 計(jì)算機(jī)論文 我要投稿
  • 相關(guān)推薦

單片機(jī)中斷多優(yōu)先級(jí)的軟件擴(kuò)展方法

摘要:為了解決MCS-51系列單片機(jī)只能由IP寄存器設(shè)定兩級(jí)優(yōu)先級(jí)的問(wèn)題,文中給出了利用軟件對(duì)中斷優(yōu)先級(jí)進(jìn)行擴(kuò)展的方法,同時(shí)給出了高于兩個(gè)優(yōu)先級(jí)的多優(yōu)先級(jí)軟件擴(kuò)展程序。

    關(guān)鍵詞:單片機(jī);中斷;優(yōu)先級(jí);寄存器

1 引言

所謂中斷是指當(dāng)CPU正在處理某件事情的時(shí)候,外部發(fā)生的某一事件(如一個(gè)電平的變化,一個(gè)脈沖沿的發(fā)生或定時(shí)器計(jì)數(shù)溢出等)請(qǐng)求CPU迅速去處理,于是CPU暫時(shí)中止當(dāng)前的工作,轉(zhuǎn)去處理所發(fā)生的事件。中斷服務(wù)處理完該事件以后,再回到原來(lái)被中止的地方繼續(xù)原來(lái)的工作,這樣的一個(gè)過(guò)程稱之為中斷。以8051為例,中斷系統(tǒng)含有5個(gè)中斷源,分別是外部中斷0請(qǐng)求(INT0),外部中斷1請(qǐng)求(INT1),定時(shí)/計(jì)數(shù)器0溢出中斷請(qǐng)求(T0),定時(shí)/計(jì)數(shù)器1溢出中斷請(qǐng)求(T1)以及串行口中斷請(qǐng)求(Tx/Rx)。既然系統(tǒng)含有5個(gè)中斷源,就有可能出現(xiàn)數(shù)個(gè)中斷源同時(shí)提出中斷請(qǐng)求的情況,這樣,設(shè)計(jì)人員必須事先根據(jù)它們的輕重緩急來(lái)為每個(gè)中斷源確定CPU對(duì)其的響應(yīng)順序。然而,對(duì)于中斷優(yōu)先級(jí)寄存器IP來(lái)說(shuō),只可能設(shè)定兩級(jí)優(yōu)先,即控制位為1時(shí)對(duì)應(yīng)的中斷源為高級(jí)中斷,反之,控制位為0時(shí)對(duì)應(yīng)的為低級(jí)中斷。這樣就出現(xiàn)一個(gè)問(wèn)題:如果一個(gè)中斷正在執(zhí)行,如何才能讓它響應(yīng)同級(jí)甚至是低級(jí)中斷請(qǐng)求呢?

2 中斷多優(yōu)先級(jí)的擴(kuò)展

根據(jù)8051的結(jié)構(gòu)特點(diǎn),其中斷系統(tǒng)中含有兩個(gè)不可尋址的“優(yōu)先級(jí)生效”觸發(fā)器。一個(gè)用于指出CPU是否正在執(zhí)行高優(yōu)先級(jí)的中斷服務(wù)程序,這個(gè)觸發(fā)器為1時(shí),系統(tǒng)將屏蔽所有的中斷請(qǐng)求;另一個(gè)則指出CPU是否正在執(zhí)行低優(yōu)先級(jí)中斷服務(wù)程序,該觸發(fā)器為1時(shí),將阻止除高優(yōu)先級(jí)以外的一切中斷請(qǐng)求。由此可見(jiàn),若要響應(yīng)同級(jí)甚至是低級(jí)中斷請(qǐng)求,必須使得該“優(yōu)先級(jí)生效”觸發(fā)器清零。但該觸發(fā)器又是不可尋址的,所以無(wú)法用軟件直接清零。遍歷系統(tǒng)所提供的111條指令,只有RETI可以達(dá)到此目的。該指令可在CPU?qǐng)?zhí)行該指令時(shí),一方面清除中斷響應(yīng)時(shí)所置位的“優(yōu)先級(jí)生效”觸發(fā)器,另一方面可從當(dāng)前棧頂彈出斷點(diǎn)地址送入程序計(jì)數(shù)PC,從而返回主程序。

3 軟件擴(kuò)展方法

3.1 高級(jí)中斷源響應(yīng)低級(jí)中斷源的軟件設(shè)計(jì)

現(xiàn)以當(dāng)前IE=84H(開(kāi)放外部中斷1及總控制位),IP=04H?設(shè)定INT1為高優(yōu)先級(jí)?正在執(zhí)行外部中斷1服務(wù)子程序?yàn)槔齺?lái)進(jìn)行說(shuō)明。如欲響應(yīng)串行口中斷,也就是要實(shí)現(xiàn)高級(jí)中斷源響應(yīng)低級(jí)中斷源,設(shè)計(jì)時(shí)可加入如下代碼而無(wú)須改變IP寄存器的內(nèi)容:

PUSH IE ;IE內(nèi)容入棧保護(hù)

MOV IE , #10010000B ;開(kāi)放串行口中斷

CALL PP ;繼續(xù)執(zhí)行原中斷子程序,但可

隨時(shí)響應(yīng)串行口中斷請(qǐng)求

...

POP IE ;恢復(fù)原IE內(nèi)容

RETI

PP: RETI

3.2 同級(jí)中斷源之間的響應(yīng)

[1] [2] [3] [4] 

【單片機(jī)中斷多優(yōu)先級(jí)的軟件擴(kuò)展方法】相關(guān)文章:

多準(zhǔn)則分級(jí)決策的擴(kuò)展粗糙集方法04-30

疲勞多裂紋擴(kuò)展隨機(jī)模型的參數(shù)估計(jì)方法04-27

使用Ultra-NMS監(jiān)控軟件擴(kuò)展測(cè)震儀器監(jiān)控功能的方法05-03

擴(kuò)展的混合指數(shù)方法及其應(yīng)用04-29

擴(kuò)展的混合指數(shù)方法及其應(yīng)用04-28

中斷04-29

動(dòng)態(tài)裂紋擴(kuò)展韌性KID的估算及方法的評(píng)估04-26

擴(kuò)展04-29

路由優(yōu)先級(jí)對(duì)比04-30

基于擴(kuò)展空間句法的城區(qū)人口密度估算方法04-28