国产成人av人人爽人人澡-亚洲国产日韩欧美一区-好吊日视频这里只有精品-日本高清精品视频在线

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當前位置:首頁 >> 技術(shù)中心 >> 單片機入門 >> 51單片機的中斷優(yōu)先級及中斷嵌套

51單片機的中斷優(yōu)先級及中斷嵌套

關(guān)鍵字:51單片機 中斷優(yōu)先級 中斷嵌套 作者: 來源: 發(fā)布時間:2019-07-31  瀏覽:6

說最基本的,老的51單片機(80C51系列)有5個中斷源,2個優(yōu)先級,可以實現(xiàn)二級中斷服務(wù)嵌套,F(xiàn)在很多擴展的51單片機已經(jīng)有4個優(yōu)先級(或更多)和更多的中斷源了。

在說到中斷之前,我先來定義一下優(yōu)先級,明白了什么是優(yōu)先級,后面的闡述就容易明白了。實際上很多人都是混淆了優(yōu)先級的含義,所以才覺得糊里糊涂。

中斷的優(yōu)先級有兩個:查詢優(yōu)先級和執(zhí)行優(yōu)先級。

什么是查詢優(yōu)級呢?我們從datasheet或書上看到的默認(IP寄存器不做設(shè)置,上電復(fù)位后為00H)的優(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)級。首先查詢優(yōu)先級是不可以更改和設(shè)置的。這是一個中斷優(yōu)先權(quán)排隊的問題。是指多個中斷源同時產(chǎn)生中斷信號時,中斷仲裁器選擇對哪個中斷源優(yōu)先處理的順序。而這與是否發(fā)生中斷服務(wù)程序的嵌套毫不相干。當CPU查詢各個中斷標志位的時候,會依照上述5個查詢優(yōu)先級順序依次查詢,當數(shù)個中斷同時請求的時候,會優(yōu)先查詢到高優(yōu)查詢先級的中斷標志位,但并不代表高查詢優(yōu)先級的中斷可以打斷已經(jīng)并且正在執(zhí)行的低查詢優(yōu)先級的中斷服務(wù)。

例如:當計數(shù)器0中斷和外部中斷1(按查詢優(yōu)先級,計數(shù)器0中斷>外部中斷1)同時到達時,會進入計時器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、正在進行的中斷過程不能被新的同級或低行優(yōu)優(yōu)先級的中斷請求所中斷;

3、正在進行的低行優(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)于中斷嵌套?梢赃@樣說,當一個中斷正在執(zhí)行的時候,如果事先設(shè)置了中斷優(yōu)先級寄存器IP,那么當一個更高優(yōu)先級的中斷到來的時候會發(fā)生中斷嵌套,如果沒有設(shè)置則不會發(fā)生任何嵌套;如果有同一個優(yōu)先級的中斷觸發(fā),它并不是在“不斷的申請”,而是將它相應(yīng)的中斷標志位置即IE寄存器的某位置位,當CPU執(zhí)行完當前中斷之后,按照查詢優(yōu)先級重新去查詢各個中斷標志位,進入相應(yīng)中斷。

要記住,沒有設(shè)置IP時,單片機會按照查詢優(yōu)先級(或都說邏輯優(yōu)先級)來排隊進入服務(wù)。如果要想讓某個中斷優(yōu)先響應(yīng), 則要設(shè)置IP,更改執(zhí)行優(yōu)先級(或者說物理優(yōu)先級)。要注意的是,當設(shè)置了IP后,當?shù)蛨?zhí)行優(yōu)先級中斷在運行時,如果有高執(zhí)行優(yōu)先級的中斷產(chǎn)生,則會嵌套調(diào)用進入高執(zhí)行優(yōu)先級的中斷。如果你是用C語言寫的程序,并在中斷服務(wù)時 using 了寄存組,要注意,兩個不同執(zhí)行優(yōu)先級的中斷服務(wù)程序不要 using 同一組寄存器。

看兩個問題,如下:

1 在各個中斷都是低優(yōu)先級的時候,如果定時器0的溢出進入中斷。在這個中斷處理的過程中,外部中斷0也被觸發(fā)了,那么是不是要發(fā)生中斷嵌套?

2 如果定時器0發(fā)生中斷的時候,進入中斷處理程序,這個時候外部中斷1條件觸發(fā)條件滿足了。因為定時器0自然優(yōu)先級比外部中斷1高,那么定時器0的中斷處理程序繼續(xù)執(zhí)行。假設(shè)定時器中斷處理程序執(zhí)行的過程中,外部中斷1的觸發(fā)。條件消失了,那么等定時器0的中斷處理完后,程序還是會進入外部中斷1處理程序嗎?

答案1:在IP事先設(shè)置了外部中斷0的優(yōu)先級的情況下,CUP會中止定時器0的中斷服務(wù),進入外部中斷0服務(wù)程序,執(zhí)行完以后再回到定時器0中斷服務(wù)程序。否則不會。

答案2:肯定會進入中斷的;外部中斷1的觸發(fā)條件滿足后會置位外部1的中斷標志,即使后來外部中斷1的觸發(fā)條件消失了,也不會清除已置位的中斷標志,所以等定時器0的中斷處理完后,程序判斷外部中斷的中斷標志為1后依然會進入外部中斷1處理程序的,只有在外部中斷1處理程序中執(zhí)行reti指令才會硬件清除外部中斷1的中斷標志(這也正是為什么中斷返回使用reti指令而不可以用ret替換的原因)...

擴展閱讀:單片機中斷處理過程:中斷響應(yīng) 中斷處理 中斷返回詳解

編輯:admin  最后修改時間:2019-07-31

聯(lián)系方式

0755-82591179

傳真:0755-82591176

郵箱:vicky@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A08

Copyright © 2014-2023 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4

亚洲国产色婷婷久久精品| 中国黄色色片色哟哟哟哟哟哟| 国产欧美韩日一区二区三区| 免费观看成人免费视频| 久久精品国产亚洲av麻豆| 亚洲第一视频少妇人妻系列| 中文字幕91在线观看| 久久国产亚洲精品赲碰热| 午夜视频成人在线免费| 好吊日成人免费视频公开| 免费观看日韩一级黄色大片| 最新国产欧美精品91| 国产精品刮毛视频不卡| 一区二区在线激情视频| 日韩特级黄片免费观看| 91麻豆视频国产一区二区| 国产一区二区三区色噜噜| 国产一区二区三区午夜精品| 国产91色综合久久高清| 国产韩国日本精品视频| 老熟妇2久久国内精品| 国产欧美日产久久婷婷| 欧美日韩视频中文字幕| 日韩和欧美的一区二区三区| 色好吊视频这里只有精| 亚洲精品一二三区不卡| 青青操在线视频精品视频| 国产伦精品一区二区三区精品视频| 亚洲免费视频中文字幕在线观看| 夜夜嗨激情五月天精品| 免费大片黄在线观看日本| 国产乱淫av一区二区三区| 国内欲色一区二区三区| 日韩偷拍精品一区二区三区| 亚洲av熟女一区二区三区蜜桃| 亚洲第一区欧美日韩在线| 亚洲中文字幕熟女丝袜久久| 亚洲免费视频中文字幕在线观看| 97人妻精品一区二区三区男同 | 久久99青青精品免费| 亚洲一级在线免费观看|