電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>嵌入式開發(fā)>51單片機(jī)的中斷優(yōu)先級及中斷嵌套資料下載

51單片機(jī)的中斷優(yōu)先級及中斷嵌套資料下載

2021-04-22 | pdf | 72.35KB | 次下載 | 3積分

資料介紹

中斷的優(yōu)先級有兩個:查詢優(yōu)先級和執(zhí)行優(yōu)先級。 外部中斷0 > 定時/計數(shù)器0 > 外部中斷1 > 定時/計數(shù)器1 > 串行中斷 或 int0,timer0,int1,timer1,serial port 或 INT0、T0、INT1、T1、UART 或 PX0>PT0>PX1>PT1>PS>...... 首先查詢優(yōu)先級是不可以更改和設(shè)置的。這是一個中斷優(yōu)先權(quán)排隊的問題。是指多個中斷源同時產(chǎn)生中斷信號時,中斷仲裁器選擇對哪個中斷源優(yōu)先處理的順序。而這與是否發(fā)生中斷服務(wù)程序的嵌套毫不相干。當(dāng)CPU查詢各個中斷標(biāo)志位的時候,會依照上述5個查詢優(yōu)先級順序依次查詢,當(dāng)數(shù)個中斷同時請求的時候,會優(yōu)先查詢到高優(yōu)查詢先級的中斷標(biāo)志位,但并不代表高查詢優(yōu)先級的中斷可以打斷已經(jīng)并且正在執(zhí)行的低查詢優(yōu)先級的中斷服務(wù)。 例如:當(dāng)計數(shù)器0中斷和外部中斷1(按查詢優(yōu)先級,計數(shù)器0中斷>外部中斷1)同時到達(dá)時,會進(jìn)入計時器0的中斷服務(wù)函數(shù);但是在外部中斷1的中斷服務(wù)函數(shù)正在服務(wù)的情況下,這時候任何中斷都是打斷不了它的,包括邏輯優(yōu)先級比它高的外部中斷0計數(shù)器0中斷。 而中斷的執(zhí)行優(yōu)先級就是你對IP寄存器的設(shè)置了。在2個優(yōu)先級的情況下,某位為1,則相應(yīng)的中斷源為高優(yōu)先級;為0,則為低優(yōu)先級。 關(guān)于中斷的優(yōu)先級有三條原則: 1、CPU同時接收到幾個中斷時,首先響應(yīng)優(yōu)先級最高的中斷請求; 2、正在進(jìn)行的中斷過程不能被新的同級或低行優(yōu)優(yōu)先級的中斷請求所中斷; 3、正在進(jìn)行的低行優(yōu)優(yōu)先級中斷服務(wù),能被高行優(yōu)優(yōu)先級中斷請求中斷; 若:同一執(zhí)行優(yōu)先級中的中斷申請不止一個時,則有一個中斷優(yōu)先權(quán)排隊問題。同一執(zhí)行優(yōu)先級的中斷優(yōu)先權(quán)排隊,由中斷系統(tǒng)硬件確定的自然優(yōu)先級形成,優(yōu)先權(quán)自高到低的順序即: 外部中斷0>定時/計數(shù)0>外部中斷1>定時/計數(shù)1>串行接口 例如:設(shè)置IP = 0x10,即設(shè)置串口中斷為最高優(yōu)先級,則串口中斷可以打斷任何其他的中斷服務(wù)函數(shù)實現(xiàn)嵌套,且只有串口中斷能打斷其他中斷的服務(wù)函數(shù)。若串口中斷沒有觸發(fā),則其他幾個中斷之間還是保持邏輯優(yōu)先級,相互之間無法嵌套。 關(guān)于中斷嵌套??梢赃@樣說,當(dāng)一個中斷正在執(zhí)行的時候,如果事先設(shè)置了中斷優(yōu)先級寄存器IP,那么當(dāng)一個更高優(yōu)先級的中斷到來的時候會發(fā)生中斷嵌套,如果沒有設(shè)置則不會發(fā)生任何嵌套;如果有同一個優(yōu)先級的中斷觸發(fā),它并不是在“不斷的申請”,而是將它相應(yīng)的中斷標(biāo)志位置即IE寄存器的某位置位,當(dāng)CPU執(zhí)行完當(dāng)前中斷之后,按照查詢優(yōu)先級重新去查詢各個中斷標(biāo)志位,進(jìn)入相應(yīng)中斷。 要記住,沒有設(shè)置IP時,單片機(jī)會按照查詢優(yōu)先級(或都說邏輯優(yōu)先級)來排隊進(jìn)入服務(wù)。如果要想讓某個中斷優(yōu)先響應(yīng), 則要設(shè)置IP,更改執(zhí)行優(yōu)先級(或者說物理優(yōu)先級)。要注意的是,當(dāng)設(shè)置了IP后,當(dāng)?shù)蛨?zhí)行優(yōu)先級中斷在運(yùn)行時,如果有高執(zhí)行優(yōu)先級的中斷產(chǎn)生,則會嵌套調(diào)用進(jìn)入高執(zhí)行優(yōu)先級的中斷。如果你是用C語言寫的程序,并在中斷服務(wù)時 using 了寄存組,要注意,兩個不同執(zhí)行優(yōu)先級的中斷服務(wù)程序不要 using 同一組寄存器。 看兩個問題,如下: 1 在各個中斷都是低優(yōu)先級的時候,如果定時器0的溢出進(jìn)入中斷。在這個中斷處理的過程中,外部中斷0也被觸發(fā)了,那么是不是要發(fā)生中斷嵌套? 2 如果定時器0發(fā)生中斷的時候,進(jìn)入中斷處理程序,這個時候外部中斷1條件觸發(fā)條件滿足了。因為定時器0自然優(yōu)先級比外部中斷1高,那么定時器0的中斷處理程序繼續(xù)執(zhí)行。假設(shè)定時器中斷處理程序執(zhí)行的過程中,外部中斷1的觸發(fā)。條件消失了,那么等定時器0的中斷處理完后,程序還是會進(jìn)入外部中斷1處理程序嗎? 答案1:在IP事先設(shè)置了外部中斷0的優(yōu)先級的情況下,CUP會中止定時器0的中斷服務(wù),進(jìn)入外部中斷0服務(wù)程序,執(zhí)行完以后再回到定時器0中斷服務(wù)程序。否則不會。 答案2:肯定會進(jìn)入中斷的;外部中斷1的觸發(fā)條件滿足后會置位外部1的中斷標(biāo)志,即使后來外部中斷1的觸發(fā)條件消失了,也不會清除已置位的中斷標(biāo)志,所以等定時器0的中斷處理完后,程序判斷外部中斷的中斷標(biāo)志為1后依然會進(jìn)入外部中斷1處理程序的,只有在外部中斷1處理程序中執(zhí)行reti指令才會硬件清除外部中斷1的中斷標(biāo)志(這也正是為什么中斷返回使用reti指令而不可以用ret替換的原因 摘自: (mbbeetchina)
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費(fèi)
  3. 2開關(guān)電源基礎(chǔ)知識
  4. 5.73 MB  |  6次下載  |  免費(fèi)
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設(shè)計
  8. 0.60 MB  |  3次下載  |  免費(fèi)
  9. 5基于FPGA的光纖通信系統(tǒng)的設(shè)計與實現(xiàn)
  10. 0.61 MB  |  2次下載  |  免費(fèi)
  11. 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計
  12. 0.70 MB  |  2次下載  |  免費(fèi)
  13. 751單片機(jī)窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費(fèi)
  15. 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計實例指南
  8. 未知  |  21548次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動電路設(shè)計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537796次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191185次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)