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

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

3天內(nèi)不再提示

單片機(jī)的默認(rèn)中斷優(yōu)先級(jí)

CHANBAEK ? 來(lái)源:Zi Jin Code ? 作者: 錕醬不是醬 ? 2023-11-01 11:30 ? 次閱讀

上一篇教程我們簡(jiǎn)單認(rèn)識(shí)和學(xué)習(xí)了中斷怎么使用,認(rèn)識(shí)了單片機(jī)里面的幾種中斷源,學(xué)習(xí)了怎么配置中斷的設(shè)置

這里簡(jiǎn)單的復(fù)習(xí)一下幾種中斷源

中斷符號(hào)中斷名稱
IE0外部中斷0(INT0)
ET0Timer0中斷
IE1外部中斷1(INT1)
ET1Timer1中斷
ESUART串口中斷
ET2Timer2中斷

陽(yáng)光明媚的秋日,你坐在琴桌前輕撫古琴,這時(shí)候門外傳來(lái)敲門聲,你正要起身,身旁茶桌上的水壺里的水燒開了……

你起身,從爐上拿起燒水壺放在一旁,再來(lái)到門前打開了門……

提起水壺和開門是兩個(gè)事件,當(dāng)兩個(gè)事件發(fā)生的時(shí)候總要有順序的,先提起水壺再開門或者先開門后提起水壺所造成的結(jié)果是不同的。往往為了安全,我們會(huì)先提起水壺再去開門,這就是我們處理兩個(gè)事件的順序

在單片機(jī)中,倘若同一個(gè)時(shí)刻Timer0觸發(fā)了中斷,Timer1也觸發(fā)了中斷,這時(shí)候外部中斷又觸發(fā)了。單片機(jī)會(huì)先執(zhí)行哪個(gè)中斷操作呢?

是不是隨意執(zhí)行一個(gè)操作呢?

顯然不是的,為了保證程序的有序執(zhí)行,單片機(jī)根據(jù)“中斷優(yōu)先級(jí)”判斷中斷是否需要優(yōu)先執(zhí)行

優(yōu)先級(jí)越高的中斷,越優(yōu)先執(zhí)行

單片機(jī)的默認(rèn)中斷優(yōu)先級(jí)

單片機(jī)里面,已經(jīng)對(duì)中斷的優(yōu)先級(jí)進(jìn)行設(shè)置,這是C51的所有中斷優(yōu)先級(jí)

中斷優(yōu)先級(jí)(數(shù)字越大越優(yōu)先)中斷符號(hào)中斷名稱
6IE0外部中斷0(INT0)
5ET0Timer0中斷
4IE1外部中斷1(INT1)
3ET1Timer1中斷
2ESUART串口中斷
1ET2Timer2中斷

中斷的嵌套

(1)低優(yōu)先級(jí)的中斷和高優(yōu)先級(jí)的中斷同時(shí)觸發(fā),單片機(jī)優(yōu)先執(zhí)行高優(yōu)先級(jí)的中斷

圖片

由于中斷A的優(yōu)先級(jí)大于中斷B的優(yōu)先級(jí),所以單片機(jī)先處理完中斷A的任務(wù),再跳轉(zhuǎn)處理中斷B的任務(wù),最后跳轉(zhuǎn)回原來(lái)的位置,繼續(xù)執(zhí)行程序

(2)低優(yōu)先級(jí)中斷執(zhí)行過(guò)程中高優(yōu)先級(jí)中斷觸發(fā)中斷,單片機(jī)跳轉(zhuǎn)執(zhí)行高優(yōu)先級(jí)中斷,再返回執(zhí)行低優(yōu)先級(jí)中斷,執(zhí)行結(jié)束后返回程序

圖片

中斷A的優(yōu)先級(jí)大于中斷B的優(yōu)先級(jí),中斷B觸發(fā),單片機(jī)跳轉(zhuǎn)處理中斷B的任務(wù),執(zhí)行到一半的時(shí)候,中斷A觸發(fā),由于中斷A的優(yōu)先級(jí)更高,所以單片機(jī)先去處理中斷A的任務(wù),處理完再跳轉(zhuǎn)回來(lái)處理中斷B的任務(wù)

(3)高優(yōu)先級(jí)的中斷處理的過(guò)程中低優(yōu)先級(jí)的中斷觸發(fā),單片機(jī)優(yōu)先處理完高優(yōu)先級(jí)的中斷的任務(wù),再執(zhí)行低優(yōu)先級(jí)的中斷的任務(wù)

圖片

中斷A的優(yōu)先級(jí)大于中斷B的優(yōu)先級(jí),中斷A觸發(fā),單片機(jī)先去執(zhí)行中斷A,執(zhí)行的過(guò)程中中斷B觸發(fā),由于中斷B的優(yōu)先級(jí)小于中斷A的優(yōu)先級(jí),所以單片機(jī)在執(zhí)行完中斷A后才會(huì)執(zhí)行中斷B的任務(wù)

上面中斷的執(zhí)行過(guò)程就叫中斷的嵌套

到此我們簡(jiǎn)單的復(fù)習(xí)一下

中斷優(yōu)先級(jí)(數(shù)字越大越優(yōu)先)中斷符號(hào)中斷名稱
6IE0外部中斷0(INT0)
5ET0Timer0中斷
4IE1外部中斷1(INT1)
3ET1Timer1中斷
2ESUART串口中斷
1ET2Timer2中斷

下面用這個(gè)圖示實(shí)踐以下中斷的嵌套

圖片

Timer0先觸發(fā),Timer0運(yùn)行的過(guò)程中Timer1觸發(fā),由于Timer1的優(yōu)先級(jí)不及Timer0,所以單片機(jī)執(zhí)行完Timer0才處理Timer1,在Timer1的處理過(guò)程中遇上了外部中斷INT0的觸發(fā),單片機(jī)先執(zhí)行INT0的任務(wù),再返回執(zhí)行Timer1的任務(wù),最后所有的任務(wù)都完成了以后,退回主程序

設(shè)置中斷優(yōu)先級(jí)

我們?cè)倏纯磫纹瑱C(jī)的默認(rèn)優(yōu)先級(jí)

中斷優(yōu)先級(jí)(數(shù)字越大越優(yōu)先)中斷符號(hào)中斷名稱
6IE0外部中斷0(INT0)
5ET0Timer0中斷
4IE1外部中斷1(INT1)
3ET1Timer1中斷
2ESUART串口中斷
1ET2Timer2中斷

有的時(shí)候,如果使用默認(rèn)的優(yōu)先級(jí),可能難以滿足我們對(duì)程序的需求,事實(shí)上,我們可以手動(dòng)設(shè)置單片機(jī)內(nèi)中斷的優(yōu)先級(jí)。

手動(dòng)設(shè)置單片機(jī)的優(yōu)先級(jí)涉及到一個(gè)寄存器

IP寄存器,0xB8,可位尋址

符號(hào)說(shuō)明
7--
6--
5PT2Timer2優(yōu)先級(jí)設(shè)置
4PSUART串口優(yōu)先級(jí)設(shè)置
3PT1Timer1優(yōu)先級(jí)設(shè)置
2PX1外部中斷INT1優(yōu)先級(jí)設(shè)置
1PT0Timer0優(yōu)先級(jí)設(shè)置
0PX0外部中斷INT0優(yōu)先級(jí)設(shè)置

當(dāng)我們給其中的一位寫上1的時(shí)候就說(shuō)明我們把這一位的中斷優(yōu)先級(jí)提前了

舉個(gè)簡(jiǎn)單的例子,如果我們要做一個(gè)簡(jiǎn)單的秒表+時(shí)鐘電子鐘,秒表使用Timer0,時(shí)鐘使用Timer1,為了讓機(jī)器使用秒表的時(shí)候能讓時(shí)鐘正常走時(shí),所以我們把Timer1的優(yōu)先級(jí)提前,如下

PT1 = 1;

優(yōu)先級(jí)的設(shè)置我們會(huì)在后面的項(xiàng)目中用到的,后面用到的時(shí)候我也會(huì)跟大家細(xì)細(xì)說(shuō)明的哦

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6030

    文章

    44489

    瀏覽量

    631973
  • 中斷
    +關(guān)注

    關(guān)注

    5

    文章

    895

    瀏覽量

    41349
  • 串口
    +關(guān)注

    關(guān)注

    14

    文章

    1540

    瀏覽量

    76059
  • 中斷優(yōu)先級(jí)

    關(guān)注

    0

    文章

    22

    瀏覽量

    9339
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    MCS-96系列單片機(jī)中斷優(yōu)先級(jí)的控制方法

    MCS—96系列單片機(jī)中斷系統(tǒng)頗具特色,其中斷優(yōu)先級(jí)的控制極具靈活性,用戶可采用軟、硬件結(jié)合的方法隨心所欲地安排各類中斷源的
    發(fā)表于 05-03 16:36 ?2491次閱讀

    單片機(jī)中斷優(yōu)先級(jí)應(yīng)用案例

    單片機(jī)同時(shí)接收到幾個(gè)中斷請(qǐng)求時(shí),單片機(jī)對(duì)中斷請(qǐng)求的響應(yīng)順序是如何確定的?實(shí)際上,單片機(jī)是通過(guò)中斷
    發(fā)表于 10-31 14:42 ?1371次閱讀
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>中斷</b><b class='flag-5'>優(yōu)先級(jí)</b>應(yīng)用案例

    關(guān)于51單片機(jī)中斷嵌套

    各位大神,如果我用STC90C516RD的單片機(jī),默認(rèn)中斷優(yōu)先級(jí),單獨(dú)跑兩個(gè)定時(shí)器中斷,都OK,兩個(gè)定時(shí)器一起跑就有問(wèn)題了,定時(shí)器0
    發(fā)表于 04-23 12:31

    單片機(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è)
    發(fā)表于 04-30 13:43 ?29次下載

    單片機(jī)中斷優(yōu)先級(jí)實(shí)驗(yàn)

    單片機(jī)外部中斷實(shí)驗(yàn)和中斷優(yōu)先級(jí)實(shí)驗(yàn)所需的C語(yǔ)言程序和電路圖適于初學(xué)者使用
    發(fā)表于 11-16 18:32 ?0次下載

    STM32單片機(jī)優(yōu)先級(jí)的定義

    先占優(yōu)先級(jí)也就是搶占優(yōu)先級(jí),概念等同于51單片機(jī)中的中斷。假設(shè)有兩中斷先后觸發(fā),已經(jīng)在執(zhí)行的中斷
    發(fā)表于 12-07 15:09 ?9329次閱讀
    STM32<b class='flag-5'>單片機(jī)</b><b class='flag-5'>優(yōu)先級(jí)</b>的定義

    如何設(shè)置51單片機(jī)中斷優(yōu)先級(jí)

    PS:串行口中斷優(yōu)先級(jí)控制位。PS=1設(shè)定串行口為高優(yōu)先級(jí)中斷;PS=0為低優(yōu)先級(jí)中斷。
    發(fā)表于 12-17 16:28 ?3.4w次閱讀

    如何采用STM32單片機(jī)中斷向量控制器NVIC來(lái)分配優(yōu)先級(jí)的數(shù)量

    先占優(yōu)先級(jí)的概念等同于51單片機(jī)中的中斷。假設(shè)有兩中斷先后觸發(fā),已經(jīng)在執(zhí)行的中斷先占優(yōu)先級(jí)如果沒
    發(fā)表于 12-20 16:17 ?3228次閱讀

    解析單片機(jī)里的中斷優(yōu)先級(jí)

    搶占優(yōu)先級(jí)和非搶占優(yōu)先級(jí)的協(xié)同,可以使單片機(jī)中斷系統(tǒng)有條不紊的工作,既不會(huì)無(wú)休止的嵌套,又可以保證必要時(shí)緊急任務(wù)得到優(yōu)先處理。
    的頭像 發(fā)表于 12-28 17:03 ?8960次閱讀
    解析<b class='flag-5'>單片機(jī)</b>里的<b class='flag-5'>中斷</b><b class='flag-5'>優(yōu)先級(jí)</b>

    51單片機(jī)中斷優(yōu)先級(jí)中斷嵌套的詳細(xì)資料概述

    基本型80C51系列單片機(jī)有5個(gè)中斷源,2個(gè)優(yōu)先級(jí),每個(gè)中斷源可通過(guò)軟件設(shè)置為高優(yōu)先級(jí)或低優(yōu)先級(jí)
    發(fā)表于 09-03 17:28 ?5次下載
    51<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>中斷</b><b class='flag-5'>優(yōu)先級(jí)</b>和<b class='flag-5'>中斷</b>嵌套的詳細(xì)資料概述

    為什么51單片機(jī)默認(rèn)中斷優(yōu)先級(jí)都是低級(jí)及中斷嵌套

    51單片機(jī)(80C51系列)有5個(gè)中斷源,2個(gè)優(yōu)先級(jí),可以實(shí)現(xiàn)二級(jí)中斷服務(wù)嵌套?,F(xiàn)在很多擴(kuò)展的51單片機(jī)
    發(fā)表于 07-23 17:37 ?1次下載
    為什么51<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>默認(rèn)</b><b class='flag-5'>中斷</b><b class='flag-5'>優(yōu)先級(jí)</b>都是低級(jí)及<b class='flag-5'>中斷</b>嵌套

    51單片機(jī)中斷優(yōu)先級(jí)中斷嵌套的詳細(xì)資料說(shuō)明

    51單片機(jī)(80C51系列)有5個(gè)中斷源,2個(gè)優(yōu)先級(jí),可以實(shí)現(xiàn)二級(jí)中斷服務(wù)嵌套?,F(xiàn)在很多擴(kuò)展的51單片機(jī)
    發(fā)表于 07-09 17:41 ?3次下載
    51<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>中斷</b><b class='flag-5'>優(yōu)先級(jí)</b>及<b class='flag-5'>中斷</b>嵌套的詳細(xì)資料說(shuō)明

    單片機(jī)中斷優(yōu)先級(jí)設(shè)置

    STC12C5A60S2單片機(jī)復(fù)位后IP、IP2、IPH、IP2H均為00H,各個(gè)中斷源都是低優(yōu)先級(jí)=》不能被同級(jí)中斷中斷
    發(fā)表于 11-17 09:36 ?6次下載
    <b class='flag-5'>單片機(jī)</b>之<b class='flag-5'>中斷</b><b class='flag-5'>優(yōu)先級(jí)</b>設(shè)置

    STM8S105硬件中斷映射表和軟件中斷優(yōu)先級(jí)

    硬件中斷優(yōu)先級(jí)中0最高,依次優(yōu)先級(jí)降低。只有當(dāng)軟件優(yōu)先級(jí)相同時(shí),單片機(jī)才進(jìn)行硬件優(yōu)先級(jí)的判斷,且
    發(fā)表于 01-14 15:28 ?1次下載
    STM8S105硬件<b class='flag-5'>中斷</b>映射表和軟件<b class='flag-5'>中斷</b><b class='flag-5'>優(yōu)先級(jí)</b>位

    51單片機(jī)中斷優(yōu)先級(jí)都有啥?如何設(shè)置?

    51單片機(jī)包含五個(gè)中斷源,兩級(jí)中斷優(yōu)先級(jí)優(yōu)先級(jí)可編程設(shè)置,通過(guò)IP進(jìn)行設(shè)置。
    發(fā)表于 02-09 12:32 ?2次下載
    51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>中斷</b><b class='flag-5'>優(yōu)先級(jí)</b>都有啥?如何設(shè)置?