




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、論述單片機(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)鍵詞:?jiǎn)纹瑱C(jī);中斷;優(yōu)先級(jí);寄存器引言所謂中斷是指當(dāng)正在處理某件事情的時(shí)候,外部發(fā)生的某一事件(如一個(gè)電平的變化,一個(gè)脈沖沿的發(fā)生或定時(shí)器計(jì)數(shù)溢出等)請(qǐng)求迅速去處理,于是暫時(shí)中止當(dāng)前的工作,轉(zhuǎn)去處理所發(fā)生的事件。中斷服務(wù)處理完該事件以后,再回到原來(lái)被
2、中止的地方繼續(xù)原來(lái)的工作,這樣的一個(gè)過(guò)程稱之為中斷。以為例,中斷系統(tǒng)含有個(gè)中斷源,分別是外部中斷請(qǐng)求(),外部中斷請(qǐng)求(),定時(shí)計(jì)數(shù)器溢出中斷請(qǐng)求(),定時(shí)計(jì)數(shù)器溢出中斷請(qǐng)求()以及串行口中斷請(qǐng)求()。既然系統(tǒng)含有個(gè)中斷源,就有可能出現(xiàn)數(shù)個(gè)中斷源同時(shí)提出中斷請(qǐng)求的情況,這樣,設(shè)計(jì)人員必須事先根據(jù)它們的輕重緩急來(lái)為每個(gè)中斷源確定對(duì)其的響應(yīng)順序。然而,對(duì)于中斷優(yōu)先級(jí)寄存器來(lái)說(shuō),只可能設(shè)定兩級(jí)優(yōu)先,即控制位為時(shí)對(duì)應(yīng)的中斷源為高級(jí)中斷,反之,控制位為時(shí)對(duì)應(yīng)的為低級(jí)中斷。這樣就出現(xiàn)一個(gè)問(wèn)題:如果一個(gè)中斷正在執(zhí)行,如何才能讓它響應(yīng)同級(jí)甚至是低級(jí)中斷請(qǐng)求呢?中斷多優(yōu)先級(jí)的擴(kuò)展根據(jù)的結(jié)構(gòu)特點(diǎn),其中斷系統(tǒng)中含有
3、兩個(gè)不可尋址的“優(yōu)先級(jí)生效”觸發(fā)器。一個(gè)用于指出是否正在執(zhí)行高優(yōu)先級(jí)的中斷服務(wù)程序,這個(gè)觸發(fā)器為時(shí),系統(tǒng)將屏蔽所有的中斷請(qǐng)求;另一個(gè)則指出是否正在執(zhí)行低優(yōu)先級(jí)中斷服務(wù)程序,該觸發(fā)器為時(shí),將阻止除高優(yōu)先級(jí)以外的一切中斷請(qǐng)求。由此可見(jiàn),若要響應(yīng)同級(jí)甚至是低級(jí)中斷請(qǐng)求,必須使得該“優(yōu)先級(jí)生效”觸發(fā)器清零。但該觸發(fā)器又是不可尋址的,所以無(wú)法用軟件直接清零。遍歷系統(tǒng)所提供的條指令,只有可以達(dá)到此目的。該指令可在執(zhí)行該指令時(shí),一方面清除中斷響應(yīng)時(shí)所置位的“優(yōu)先級(jí)生效”觸發(fā)器,另一方面可從當(dāng)前棧頂彈出斷點(diǎn)地址送入程序計(jì)數(shù),從而返回主程序。軟件擴(kuò)展方法 高級(jí)中斷源響應(yīng)低級(jí)中斷源的軟件設(shè)計(jì)現(xiàn)以當(dāng)前(開(kāi)放外部中斷
4、及總控制位),設(shè)定為高優(yōu)先級(jí)正在執(zhí)行外部中斷服務(wù)子程序?yàn)槔齺?lái)進(jìn)行說(shuō)明。如欲響應(yīng)串行口中斷,也就是要實(shí)現(xiàn)高級(jí)中斷源響應(yīng)低級(jí)中斷源,設(shè)計(jì)時(shí)可加入如下代碼而無(wú)須改變寄存器的內(nèi)容: ;內(nèi)容入棧保護(hù) , ;開(kāi)放串行口中斷 ;繼續(xù)執(zhí)行原中斷子程序,但可隨時(shí)響應(yīng)串行口中斷請(qǐng)求 ;恢復(fù)原內(nèi)容: <P1 2 3 4 下一頁(yè) > 同級(jí)中斷源之間的響應(yīng)上述代碼體現(xiàn)了高級(jí)中斷源()響應(yīng)低級(jí)中斷源(串行口)的軟件實(shí)現(xiàn)方法。但是, 系統(tǒng)共含有個(gè)中斷源,因此必須解決同優(yōu)先級(jí)中斷
5、之間的嵌套問(wèn)題,具體源程序如下: ;入口地址 ;入口地址 ;入口地址 ;入口地址 ;串行口入口地址: , ;開(kāi)放所有中斷 , ;設(shè)定、為高優(yōu)先級(jí) : , ;(),清高優(yōu)先級(jí)生效觸發(fā)器,此時(shí)可響應(yīng)其它中斷請(qǐng)求:· ;子程序的真實(shí)入口地址··· : , ;(),清高優(yōu)先級(jí)生效觸發(fā)器,此時(shí)可響應(yīng)其它中斷請(qǐng)求: · ;子程序的真實(shí)入口地址··· : , ;(),清“高優(yōu)先級(jí)生效”觸發(fā)器,此時(shí)可響應(yīng)其它中斷請(qǐng)求: · ;子程序的真實(shí)入口地址··· : ,上一頁(yè) 1
6、 2 3 4 下一頁(yè) ;(),清高優(yōu)先級(jí)生效觸發(fā)器,此時(shí)可響應(yīng)其它中斷請(qǐng)求: · ;子程序的真實(shí)入口地址··· : , ;(),清高優(yōu)先級(jí)生效觸發(fā)器,此時(shí)可響應(yīng)其它中斷請(qǐng)求: · ;串行口子程序的真實(shí)入口地址··· 上述程序利用寄存器給出了兩級(jí)優(yōu)先級(jí),其中、為高優(yōu)先級(jí),、串行口為低優(yōu)先級(jí)。為使某中斷能響應(yīng)同級(jí)甚至低級(jí)中斷,只要在中斷服務(wù)子程序中用指令清除相應(yīng)的不可尋址的“優(yōu)先級(jí)生
7、效”觸發(fā)器即可。程序一開(kāi)始的兩條指令的作用是對(duì)原始數(shù)據(jù)進(jìn)行入棧保護(hù)(如此時(shí)中的數(shù)據(jù)不需保留,則這兩條壓棧指令也可不要,相應(yīng)的彈棧指令也可不要),然后將其真實(shí)子程序入口地址入棧,并經(jīng)出棧后彈給指針,以便在執(zhí)行完后正確執(zhí)行真實(shí)子程序。當(dāng)該中斷服務(wù)子程序執(zhí)行完畢后,將返回主程序斷點(diǎn)處以繼續(xù)執(zhí)行原來(lái)程序。結(jié)束語(yǔ)本文所闡述的多優(yōu)先級(jí)擴(kuò)展方法是純軟件方法,該方法只需在程序中加入為數(shù)不多的相應(yīng)代碼,便可進(jìn)行各種中斷嵌套(如同優(yōu)先級(jí)響應(yīng)或高優(yōu)先級(jí)響應(yīng)低優(yōu)先級(jí)等)。此方法的代價(jià)是要花費(fèi)更多的中斷響應(yīng)時(shí)間,但相對(duì)于添加硬件擴(kuò)展的方法而言,這點(diǎn)代上一頁(yè) 1 2 3 4 下一頁(yè)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度證件外借風(fēng)險(xiǎn)評(píng)估與管理合同
- 洗衣店裝修簡(jiǎn)易協(xié)議
- 二零二五年度商場(chǎng)家居用品柜臺(tái)租賃管理合同
- 2025年度建筑工程施工環(huán)境保護(hù)責(zé)任協(xié)議書
- 2025年度供應(yīng)鏈物流保密協(xié)議合同
- 文化產(chǎn)業(yè)借款融資居間合同
- 2025年度農(nóng)村土地承包經(jīng)營(yíng)權(quán)流轉(zhuǎn)及農(nóng)業(yè)產(chǎn)業(yè)結(jié)構(gòu)調(diào)整合作合同
- 2025年度企業(yè)兼職市場(chǎng)營(yíng)銷人員勞務(wù)合同模板
- 2025年度房產(chǎn)贈(zèng)與資產(chǎn)重組合同
- 2025年度人工智能系統(tǒng)維護(hù)與數(shù)據(jù)安全合同
- 人教版初中歷史與社會(huì)七年級(jí)下冊(cè) 6.3.3向西開(kāi)放的重要門戶-烏魯木齊 說(shuō)課稿
- 綜合材料繪畫課程設(shè)計(jì)
- 數(shù)學(xué)史簡(jiǎn)介課件
- 八年級(jí) 下冊(cè)《黃河兩岸的歌(1)》課件
- 春季安全教育培訓(xùn)課件
- T-CIAPS 0035-2024 儲(chǔ)能電池液冷散熱器
- 《ZN真空斷路器》課件
- 2024年低壓電工特種作業(yè)證考試題庫(kù)模擬考試及答案
- 《山東修繕交底培訓(xùn)》課件
- 2024.8.1十七個(gè)崗位安全操作規(guī)程手冊(cè)(值得借鑒)
- 缺血性心臟病麻醉
評(píng)論
0/150
提交評(píng)論