資料介紹
中斷的優(yōu)先級(jí)有兩個(gè):查詢優(yōu)先級(jí)和執(zhí)行優(yōu)先級(jí)。
外部中斷0 > 定時(shí)/計(jì)數(shù)器0 > 外部中斷1 > 定時(shí)/計(jì)數(shù)器1 > 串行中斷
或 int0,timer0,int1,timer1,serial port 或 INT0、T0、INT1、T1、UART
或 PX0>PT0>PX1>PT1>PS>......
首先查詢優(yōu)先級(jí)是不可以更改和設(shè)置的。這是一個(gè)中斷優(yōu)先權(quán)排隊(duì)的問題。是指多個(gè)中斷源同時(shí)產(chǎn)生中斷信號(hào)時(shí),中斷仲裁器選擇對(duì)哪個(gè)中斷源優(yōu)先處理的順序。而這與是否發(fā)生中斷服務(wù)程序的嵌套毫不相干。當(dāng)CPU查詢各個(gè)中斷標(biāo)志位的時(shí)候,會(huì)依照上述5個(gè)查詢優(yōu)先級(jí)順序依次查詢,當(dāng)數(shù)個(gè)中斷同時(shí)請(qǐng)求的時(shí)候,會(huì)優(yōu)先查詢到高優(yōu)查詢先級(jí)的中斷標(biāo)志位,但并不代表高查詢優(yōu)先級(jí)的中斷可以打斷已經(jīng)并且正在執(zhí)行的低查詢優(yōu)先級(jí)的中斷服務(wù)。
例如:當(dāng)計(jì)數(shù)器0中斷和外部中斷1(按查詢優(yōu)先級(jí),計(jì)數(shù)器0中斷>外部中斷1)同時(shí)到達(dá)時(shí),會(huì)進(jìn)入計(jì)時(shí)器0的中斷服務(wù)函數(shù);但是在外部中斷1的中斷服務(wù)函數(shù)正在服務(wù)的情況下,這時(shí)候任何中斷都是打斷不了它的,包括邏輯優(yōu)先級(jí)比它高的外部中斷0計(jì)數(shù)器0中斷。
而中斷的執(zhí)行優(yōu)先級(jí)就是你對(duì)IP寄存器的設(shè)置了。在2個(gè)優(yōu)先級(jí)的情況下,某位為1,則相應(yīng)的中斷源為高優(yōu)先級(jí);為0,則為低優(yōu)先級(jí)。
關(guān)于中斷的優(yōu)先級(jí)有三條原則:
1、CPU同時(shí)接收到幾個(gè)中斷時(shí),首先響應(yīng)優(yōu)先級(jí)最高的中斷請(qǐng)求;
2、正在進(jìn)行的中斷過程不能被新的同級(jí)或低行優(yōu)優(yōu)先級(jí)的中斷請(qǐng)求所中斷;
3、正在進(jìn)行的低行優(yōu)優(yōu)先級(jí)中斷服務(wù),能被高行優(yōu)優(yōu)先級(jí)中斷請(qǐng)求中斷;
若:同一執(zhí)行優(yōu)先級(jí)中的中斷申請(qǐng)不止一個(gè)時(shí),則有一個(gè)中斷優(yōu)先權(quán)排隊(duì)問題。同一執(zhí)行優(yōu)先級(jí)的中斷優(yōu)先權(quán)排隊(duì),由中斷系統(tǒng)硬件確定的自然優(yōu)先級(jí)形成,優(yōu)先權(quán)自高到低的順序即:
外部中斷0>定時(shí)/計(jì)數(shù)0>外部中斷1>定時(shí)/計(jì)數(shù)1>串行接口
例如:設(shè)置IP = 0x10,即設(shè)置串口中斷為最高優(yōu)先級(jí),則串口中斷可以打斷任何其他的中斷服務(wù)函數(shù)實(shí)現(xiàn)嵌套,且只有串口中斷能打斷其他中斷的服務(wù)函數(shù)。若串口中斷沒有觸發(fā),則其他幾個(gè)中斷之間還是保持邏輯優(yōu)先級(jí),相互之間無法嵌套。
關(guān)于中斷嵌套??梢赃@樣說,當(dāng)一個(gè)中斷正在執(zhí)行的時(shí)候,如果事先設(shè)置了中斷優(yōu)先級(jí)寄存器IP,那么當(dāng)一個(gè)更高優(yōu)先級(jí)的中斷到來的時(shí)候會(huì)發(fā)生中斷嵌套,如果沒有設(shè)置則不會(huì)發(fā)生任何嵌套;如果有同一個(gè)優(yōu)先級(jí)的中斷觸發(fā),它并不是在“不斷的申請(qǐng)”,而是將它相應(yīng)的中斷標(biāo)志位置即IE寄存器的某位置位,當(dāng)CPU執(zhí)行完當(dāng)前中斷之后,按照查詢優(yōu)先級(jí)重新去查詢各個(gè)中斷標(biāo)志位,進(jìn)入相應(yīng)中斷。
要記住,沒有設(shè)置IP時(shí),單片機(jī)會(huì)按照查詢優(yōu)先級(jí)(或都說邏輯優(yōu)先級(jí))來排隊(duì)進(jìn)入服務(wù)。如果要想讓某個(gè)中斷優(yōu)先響應(yīng), 則要設(shè)置IP,更改執(zhí)行優(yōu)先級(jí)(或者說物理優(yōu)先級(jí))。要注意的是,當(dāng)設(shè)置了IP后,當(dāng)?shù)蛨?zhí)行優(yōu)先級(jí)中斷在運(yùn)行時(shí),如果有高執(zhí)行優(yōu)先級(jí)的中斷產(chǎn)生,則會(huì)嵌套調(diào)用進(jìn)入高執(zhí)行優(yōu)先級(jí)的中斷。如果你是用C語言寫的程序,并在中斷服務(wù)時(shí) using 了寄存組,要注意,兩個(gè)不同執(zhí)行優(yōu)先級(jí)的中斷服務(wù)程序不要 using 同一組寄存器。
看兩個(gè)問題,如下:
1 在各個(gè)中斷都是低優(yōu)先級(jí)的時(shí)候,如果定時(shí)器0的溢出進(jìn)入中斷。在這個(gè)中斷處理的過程中,外部中斷0也被觸發(fā)了,那么是不是要發(fā)生中斷嵌套?
2 如果定時(shí)器0發(fā)生中斷的時(shí)候,進(jìn)入中斷處理程序,這個(gè)時(shí)候外部中斷1條件觸發(fā)條件滿足了。因?yàn)槎〞r(shí)器0自然優(yōu)先級(jí)比外部中斷1高,那么定時(shí)器0的中斷處理程序繼續(xù)執(zhí)行。假設(shè)定時(shí)器中斷處理程序執(zhí)行的過程中,外部中斷1的觸發(fā)。條件消失了,那么等定時(shí)器0的中斷處理完后,程序還是會(huì)進(jìn)入外部中斷1處理程序嗎?
答案1:在IP事先設(shè)置了外部中斷0的優(yōu)先級(jí)的情況下,CUP會(huì)中止定時(shí)器0的中斷服務(wù),進(jìn)入外部中斷0服務(wù)程序,執(zhí)行完以后再回到定時(shí)器0中斷服務(wù)程序。否則不會(huì)。
答案2:肯定會(huì)進(jìn)入中斷的;外部中斷1的觸發(fā)條件滿足后會(huì)置位外部1的中斷標(biāo)志,即使后來外部中斷1的觸發(fā)條件消失了,也不會(huì)清除已置位的中斷標(biāo)志,所以等定時(shí)器0的中斷處理完后,程序判斷外部中斷的中斷標(biāo)志為1后依然會(huì)進(jìn)入外部中斷1處理程序的,只有在外部中斷1處理程序中執(zhí)行reti指令才會(huì)硬件清除外部中斷1的中斷標(biāo)志(這也正是為什么中斷返回使用reti指令而不可以用ret替換的原因
摘自:
(mbbeetchina)
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 51單片機(jī)中斷優(yōu)先級(jí)都有啥?如何設(shè)置?
- STM8S105硬件中斷映射表和軟件中斷優(yōu)先級(jí)位
- 51單片機(jī)的中斷系統(tǒng)
- 51單片機(jī)的中斷系統(tǒng)
- msp430的中斷優(yōu)先級(jí)和中斷嵌套(及容易理解錯(cuò)誤的說明)
- 單片機(jī)之中斷優(yōu)先級(jí)設(shè)置
- 51單片機(jī)的中斷優(yōu)先級(jí)和中斷嵌套的詳細(xì)資料概述
- 51單片機(jī)的中斷優(yōu)先級(jí)是怎么樣的及中斷嵌套的資料說明
- 51單片機(jī)的中斷源優(yōu)先級(jí)問題的詳細(xì)資料說明
- 為什么51單片機(jī)的默認(rèn)中斷優(yōu)先級(jí)都是低級(jí)及中斷嵌套
- STM32單片機(jī)中斷及NVIC的詳細(xì)資料概述
- 51單片機(jī)的中斷優(yōu)先級(jí)及中斷嵌套的詳細(xì)資料說明
- 51單片機(jī)的中斷優(yōu)先級(jí)和中斷嵌套的詳細(xì)資料介紹
- 單片機(jī)—中斷優(yōu)先級(jí)實(shí)驗(yàn) 0次下載
- MCS-51 系統(tǒng)中斷優(yōu)先級(jí)的軟擴(kuò)展
- GD32如何配置中斷優(yōu)先級(jí)分組以及中斷優(yōu)先級(jí) 3164次閱讀
- 單片機(jī)的默認(rèn)中斷優(yōu)先級(jí) 2079次閱讀
- 為什么有些STM32中斷沒有子優(yōu)先級(jí)? 913次閱讀
- STM32單片機(jī)中搶占優(yōu)先級(jí)和響應(yīng)優(yōu)先級(jí)的表達(dá)方式解析 1.1w次閱讀
- 51單片機(jī)中斷優(yōu)先級(jí)的設(shè)置方法解析 5.1w次閱讀
- 8031單片機(jī)中斷系統(tǒng)的基本結(jié)構(gòu)介紹 4447次閱讀
- 單片機(jī)里面的中斷優(yōu)先級(jí)相關(guān)寄存器詳解 1.2w次閱讀
- 解析單片機(jī)里的中斷優(yōu)先級(jí) 9076次閱讀
- 如何采用STM32單片機(jī)中斷向量控制器NVIC來分配優(yōu)先級(jí)的數(shù)量 3340次閱讀
- 如何設(shè)置51單片機(jī)的中斷優(yōu)先級(jí) 3.3w次閱讀
- STM32單片機(jī)優(yōu)先級(jí)的定義 9474次閱讀
- STM32單片機(jī)的外部中斷和中斷控制器的特點(diǎn)解析 6043次閱讀
- 基于8051單片機(jī)的中斷控制 2170次閱讀
- MSP430有哪些可屏蔽中斷_MSP430中斷的優(yōu)先級(jí) 2955次閱讀
- stm32定時(shí)器優(yōu)先級(jí) 5377次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論