0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

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

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

單片機(jī)有哪些中斷類(lèi)型

CHANBAEK ? 來(lái)源:網(wǎng)絡(luò)整理 ? 2024-10-17 18:12 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

單片機(jī)中斷是指在單片機(jī)執(zhí)行程序的過(guò)程中,當(dāng)外部設(shè)備或內(nèi)部條件發(fā)生某個(gè)特定事件時(shí),能夠暫停當(dāng)前正在執(zhí)行的程序,轉(zhuǎn)而去執(zhí)行一個(gè)特定的服務(wù)程序(稱(chēng)為中斷服務(wù)程序或中斷處理程序),處理該事件,之后再返回到被中斷處繼續(xù)執(zhí)行原程序的一種機(jī)制。中斷提供了一種處理異步事件的有效方式,能夠顯著提高系統(tǒng)的實(shí)時(shí)性和效率。

一、單片機(jī)中斷的基本概念

中斷機(jī)制是嵌入式系統(tǒng)設(shè)計(jì)中非常重要的一部分,它允許單片機(jī)在需要時(shí)立即響應(yīng)外部或內(nèi)部事件,而不是通過(guò)輪詢(xún)的方式不斷檢查事件是否發(fā)生。這種機(jī)制避免了CPU資源的浪費(fèi),因?yàn)镃PU只需在中斷發(fā)生時(shí)才處理相應(yīng)的事件。中斷系統(tǒng)通常包括中斷源、中斷向量、中斷服務(wù)程序(ISR)、中斷請(qǐng)求(IRQ)、中斷響應(yīng)、中斷優(yōu)先級(jí)、中斷使能與屏蔽、中斷標(biāo)志、中斷清除以及上下文切換等關(guān)鍵要素。

二、單片機(jī)常見(jiàn)的中斷類(lèi)型

單片機(jī)中斷類(lèi)型多樣,根據(jù)觸發(fā)源和觸發(fā)方式的不同,可以分為外部中斷、內(nèi)部中斷和軟件中斷三大類(lèi)。以下是對(duì)這些中斷類(lèi)型的詳細(xì)介紹:

1. 外部中斷

外部中斷是由外部事件引起的中斷,當(dāng)外部設(shè)備或信號(hào)發(fā)生變化時(shí),會(huì)觸發(fā)單片機(jī)外部中斷引腳上的中斷請(qǐng)求。外部中斷通常包括以下幾種類(lèi)型:

  • 引腳電平中斷 :當(dāng)外部引腳上的電平狀態(tài)(如高電平或低電平)發(fā)生變化時(shí),會(huì)觸發(fā)中斷。這種中斷方式常用于檢測(cè)按鍵按下、傳感器信號(hào)變化等外部事件。
  • 引腳邊沿中斷 :當(dāng)外部引腳上的電平發(fā)生邊沿變化(如上升沿或下降沿)時(shí),會(huì)觸發(fā)中斷。這種中斷方式常用于檢測(cè)脈沖信號(hào)、邊緣觸發(fā)事件等。

外部中斷在單片機(jī)系統(tǒng)中具有廣泛的應(yīng)用,如按鍵控制、傳感器信號(hào)檢測(cè)、外部設(shè)備通信等。通過(guò)配置外部中斷,單片機(jī)可以在這些外部事件發(fā)生時(shí)立即執(zhí)行相應(yīng)的處理邏輯,從而實(shí)現(xiàn)快速響應(yīng)和實(shí)時(shí)控制。

2. 內(nèi)部中斷

內(nèi)部中斷是由單片機(jī)內(nèi)部條件或事件觸發(fā)的中斷。內(nèi)部中斷通常包括以下幾種類(lèi)型:

  • 定時(shí)器/計(jì)數(shù)器中斷 :?jiǎn)纹瑱C(jī)內(nèi)部的定時(shí)器/計(jì)數(shù)器在達(dá)到預(yù)設(shè)值時(shí),會(huì)觸發(fā)中斷。這種中斷方式常用于實(shí)現(xiàn)定時(shí)任務(wù)、計(jì)數(shù)任務(wù)、時(shí)間測(cè)量等。通過(guò)配置定時(shí)器的初值和溢出時(shí)間,單片機(jī)可以在定時(shí)器溢出時(shí)執(zhí)行相應(yīng)的處理邏輯。
  • 串口通信中斷 :當(dāng)單片機(jī)通過(guò)串口接收或發(fā)送數(shù)據(jù)時(shí),可能會(huì)觸發(fā)串口通信中斷。這種中斷方式允許單片機(jī)在數(shù)據(jù)到達(dá)或發(fā)送完成時(shí)立即執(zhí)行相應(yīng)的處理邏輯,從而實(shí)現(xiàn)高效的串口通信。串口中斷在單片機(jī)與外部設(shè)備進(jìn)行數(shù)據(jù)交互時(shí)具有重要的作用。
  • ADC模數(shù)轉(zhuǎn)換器)中斷 :當(dāng)單片機(jī)內(nèi)部的ADC完成模擬信號(hào)到數(shù)字信號(hào)的轉(zhuǎn)換時(shí),會(huì)觸發(fā)ADC中斷。這種中斷方式常用于處理模擬信號(hào)輸入,如溫度傳感器壓力傳感器等模擬信號(hào)的采集和處理。
  • I2C/SPI中斷 :當(dāng)單片機(jī)通過(guò)I2C或SPI總線與外部設(shè)備進(jìn)行通信時(shí),可能會(huì)觸發(fā)I2C或SPI中斷。這種中斷方式允許單片機(jī)在通信過(guò)程中執(zhí)行相應(yīng)的處理邏輯,如讀取數(shù)據(jù)、寫(xiě)入數(shù)據(jù)等。

內(nèi)部中斷在單片機(jī)系統(tǒng)中同樣具有廣泛的應(yīng)用,如定時(shí)任務(wù)執(zhí)行、串口通信處理、模擬信號(hào)采集等。通過(guò)配置內(nèi)部中斷,單片機(jī)可以在這些內(nèi)部事件發(fā)生時(shí)立即執(zhí)行相應(yīng)的處理邏輯,從而提高系統(tǒng)的實(shí)時(shí)性和效率。

3. 軟件中斷

軟件中斷是由程序中的軟件指令觸發(fā)的中斷。這種中斷方式允許程序在特定條件下執(zhí)行特定的處理邏輯,如異常處理、狀態(tài)切換等。軟件中斷通常由程序中的特定指令或函數(shù)調(diào)用觸發(fā),并在執(zhí)行相應(yīng)的處理邏輯后返回到原來(lái)的程序繼續(xù)執(zhí)行。

軟件中斷在單片機(jī)系統(tǒng)中也具有一定的應(yīng)用,如異常處理、任務(wù)調(diào)度等。通過(guò)配置軟件中斷,單片機(jī)可以在程序執(zhí)行過(guò)程中根據(jù)特定條件執(zhí)行相應(yīng)的處理邏輯,從而實(shí)現(xiàn)更復(fù)雜的程序控制和任務(wù)調(diào)度。

三、單片機(jī)中斷的應(yīng)用場(chǎng)景

單片機(jī)中斷在各個(gè)領(lǐng)域都有廣泛的應(yīng)用,以下是一些典型的應(yīng)用場(chǎng)景:

1. 實(shí)時(shí)控制系統(tǒng)

在實(shí)時(shí)控制系統(tǒng)中,單片機(jī)需要實(shí)時(shí)響應(yīng)外部事件并執(zhí)行相應(yīng)的控制邏輯。通過(guò)配置外部中斷和內(nèi)部中斷,單片機(jī)可以在這些事件發(fā)生時(shí)立即執(zhí)行相應(yīng)的控制邏輯,從而實(shí)現(xiàn)快速響應(yīng)和精確控制。例如,在電機(jī)控制系統(tǒng)中,單片機(jī)可以通過(guò)外部中斷檢測(cè)電機(jī)的運(yùn)行狀態(tài)(如轉(zhuǎn)速、溫度等),并通過(guò)內(nèi)部中斷實(shí)現(xiàn)定時(shí)任務(wù)(如定時(shí)采樣、定時(shí)調(diào)整控制參數(shù)等),從而實(shí)現(xiàn)電機(jī)的精確控制。

2. 數(shù)據(jù)采集系統(tǒng)

在數(shù)據(jù)采集系統(tǒng)中,單片機(jī)需要采集并處理來(lái)自外部傳感器的數(shù)據(jù)。通過(guò)配置ADC中斷和外部中斷,單片機(jī)可以在傳感器數(shù)據(jù)變化時(shí)立即執(zhí)行相應(yīng)的數(shù)據(jù)采集和處理邏輯。例如,在環(huán)境監(jiān)測(cè)系統(tǒng)中,單片機(jī)可以通過(guò)ADC中斷采集溫度傳感器的數(shù)據(jù),并通過(guò)外部中斷檢測(cè)其他傳感器的狀態(tài)變化(如濕度、光照等),從而實(shí)現(xiàn)環(huán)境參數(shù)的實(shí)時(shí)監(jiān)測(cè)和數(shù)據(jù)處理。

3. 通信系統(tǒng)

在通信系統(tǒng)中,單片機(jī)需要與外部設(shè)備進(jìn)行數(shù)據(jù)交換。通過(guò)配置串口通信中斷和I2C/SPI中斷,單片機(jī)可以在數(shù)據(jù)到達(dá)或發(fā)送完成時(shí)立即執(zhí)行相應(yīng)的通信處理邏輯。例如,在智能家居系統(tǒng)中,單片機(jī)可以通過(guò)串口通信中斷接收來(lái)自其他智能家居設(shè)備的控制指令,并通過(guò)I2C/SPI中斷與其他智能家居設(shè)備進(jìn)行數(shù)據(jù)交換和狀態(tài)同步。

4. 異常處理系統(tǒng)

在異常處理系統(tǒng)中,單片機(jī)需要在程序執(zhí)行過(guò)程中檢測(cè)并處理異常事件。通過(guò)配置軟件中斷和內(nèi)部中斷,單片機(jī)可以在程序執(zhí)行過(guò)程中根據(jù)特定條件執(zhí)行相應(yīng)的異常處理邏輯。例如,在電源管理系統(tǒng)中,單片機(jī)可以通過(guò)軟件中斷檢測(cè)電源電壓的變化情況,并在電壓異常時(shí)執(zhí)行相應(yīng)的保護(hù)措施(如切斷電源、保存數(shù)據(jù)等)。

四、單片機(jī)中斷的編程注意事項(xiàng)

在編寫(xiě)單片機(jī)中斷服務(wù)程序時(shí),需要注意以下幾點(diǎn):

  1. 盡量簡(jiǎn)短 :中斷服務(wù)程序應(yīng)該盡可能地簡(jiǎn)短和高效,以便快速完成處理并返回主程序。這可以減少對(duì)主程序流程的干擾,并提高系統(tǒng)的響應(yīng)速度。
  2. 避免使用阻塞調(diào)用 :中斷服務(wù)程序中不應(yīng)該包含可能會(huì)導(dǎo)致阻塞的調(diào)用,如等待信號(hào)量、延時(shí)等操作。這會(huì)影響系統(tǒng)對(duì)其他中斷的響應(yīng)能力,并可能導(dǎo)致系統(tǒng)崩潰或數(shù)據(jù)丟失。
  3. 保存和恢復(fù)上下文 :中斷服務(wù)程序在執(zhí)行前應(yīng)該保存被打斷任務(wù)的上下文(如CPU寄存器),并在執(zhí)行結(jié)束后恢復(fù)。這可以保證主程序能夠無(wú)縫繼續(xù)執(zhí)行,并避免數(shù)據(jù)不一致或程序崩潰的問(wèn)題。
  4. 可重入性 :如果中斷可以嵌套,或者同一個(gè)中斷服務(wù)程序可以由不同的事件觸發(fā),那么這個(gè)程序必須是可重入的。這意味著它不能使用全局變量或靜態(tài)變量來(lái)保存狀態(tài)信息,除非這些變量是原子性訪問(wèn)的。這可以避免在中斷嵌套或同時(shí)觸發(fā)多個(gè)中斷時(shí)發(fā)生數(shù)據(jù)競(jìng)爭(zhēng)或不一致性的問(wèn)題。
  5. 限制中斷屏蔽時(shí)間 :在中斷服務(wù)程序中,可能需要臨時(shí)屏蔽(禁用)中斷。但是,這種屏蔽的時(shí)間應(yīng)該盡可能短,以避免錯(cuò)過(guò)其他重要中斷的處理。這可以保證系統(tǒng)的實(shí)時(shí)性和響應(yīng)速度。
  6. 謹(jǐn)慎操作共享數(shù)據(jù) :如果中斷服務(wù)程序需要訪問(wèn)全局變量或其他共享資源,需要確保這些操作的原子性。這通常通過(guò)禁用中斷或使用其他同步機(jī)制來(lái)實(shí)現(xiàn)。這可以避免在多個(gè)中斷同時(shí)訪問(wèn)共享資源時(shí)發(fā)生數(shù)據(jù)競(jìng)爭(zhēng)或不一致性的問(wèn)題。
  7. 快速響應(yīng) :中斷服務(wù)程序應(yīng)當(dāng)被設(shè)計(jì)為能夠快速響應(yīng)新的中斷請(qǐng)求。這意味著在處理當(dāng)前中斷的同時(shí),還要準(zhǔn)備接收和處理下一個(gè)中斷。這可以提高系統(tǒng)的并發(fā)處理能力和實(shí)時(shí)性。

綜上所述,單片機(jī)中斷在各個(gè)領(lǐng)域都有廣泛的應(yīng)用。通過(guò)合理配置和使用中斷類(lèi)型及其應(yīng)用場(chǎng)景,單片機(jī)可以實(shí)現(xiàn)對(duì)外部事件的快速響應(yīng)和實(shí)時(shí)控制。同時(shí),在編寫(xiě)中斷服務(wù)程序時(shí)需要注意一些編程注意事項(xiàng),以保證系統(tǒng)的穩(wěn)定性和可靠性。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(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)注

    6067

    文章

    44961

    瀏覽量

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

    關(guān)注

    5

    文章

    905

    瀏覽量

    42626
  • 程序
    +關(guān)注

    關(guān)注

    117

    文章

    3825

    瀏覽量

    82674
收藏 0人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    單片機(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 ?2728次閱讀
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>中斷</b>優(yōu)先級(jí)應(yīng)用案例

    單片機(jī)中斷哪些?各類(lèi)型中斷什么作用?

    中斷單片機(jī)處理異步事件的重要機(jī)制,單片機(jī)中斷種類(lèi)繁多,不同類(lèi)型中斷可以根據(jù)其來(lái)源和用途進(jìn)行
    發(fā)表于 09-24 16:22

    單片機(jī)教程十七:單片機(jī)中斷系統(tǒng)

    單片機(jī)教程十七:單片機(jī)中斷系統(tǒng) 單片機(jī)中斷系統(tǒng)的概念:什么是中斷,我們從一個(gè)生活中的例程引入
    發(fā)表于 05-15 23:11 ?5080次閱讀
    <b class='flag-5'>單片機(jī)</b>教程十七:<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>中斷</b>系統(tǒng)

    PIC單片機(jī)中斷總結(jié)

    PIC單片機(jī)中斷總結(jié) 與51或者其他系列的單片機(jī)相比,PIC單片機(jī)中斷機(jī)制其特殊之處,針
    發(fā)表于 10-30 08:15 ?2933次閱讀

    51單片機(jī)幾個(gè)中斷源?

    051單片機(jī)五個(gè)中斷請(qǐng)求源,四個(gè)用于中斷控制的寄存器IE.IP.TCON和SCON,用于控制中斷類(lèi)型
    發(fā)表于 11-17 15:09 ?6.7w次閱讀
    51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>有</b>幾個(gè)<b class='flag-5'>中斷</b>源?

    51單片機(jī)定時(shí)器中斷_51單片機(jī)中斷系統(tǒng)_51單片機(jī)擴(kuò)展中斷的四種方法

    中斷是為使單片機(jī)具有對(duì)外部或內(nèi)部隨機(jī)發(fā)生的事件進(jìn)行處理而設(shè)置的。51單片機(jī)5種中斷源,即有5種對(duì)應(yīng)的情況發(fā)生時(shí)會(huì)使
    發(fā)表于 12-08 10:15 ?1.2w次閱讀
    51<b class='flag-5'>單片機(jī)</b>定時(shí)器<b class='flag-5'>中斷</b>_51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>中斷</b>系統(tǒng)_51<b class='flag-5'>單片機(jī)</b>擴(kuò)展<b class='flag-5'>中斷</b>的四種方法

    單片機(jī)中斷系統(tǒng)介紹_51單片機(jī)中斷系統(tǒng)結(jié)構(gòu)

    單片機(jī)中斷就是當(dāng)單片機(jī)正在執(zhí)行程序的時(shí)候,突然某個(gè)按鍵按下了(產(chǎn)生外部中斷),單片機(jī)就必須得去處理那個(gè)按鍵(
    發(fā)表于 01-10 17:29 ?1.3w次閱讀
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>中斷</b>系統(tǒng)介紹_51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>中斷</b>系統(tǒng)結(jié)構(gòu)

    51單片機(jī)教程入門(mén)教程之單片機(jī)中斷系統(tǒng)詳細(xì)資料概述

    本節(jié)為理論內(nèi)容,重點(diǎn)掌握單片機(jī)中斷類(lèi)型、控制方式以及應(yīng)用,單片機(jī)共有5個(gè)中斷源,兩級(jí)優(yōu)先級(jí)控制,在以后的項(xiàng)目實(shí)踐中,我們要用到定時(shí)器
    發(fā)表于 08-30 08:00 ?4次下載
    51<b class='flag-5'>單片機(jī)</b>教程入門(mén)教程之<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>中斷</b>系統(tǒng)詳細(xì)資料概述

    8051單片機(jī)中斷系統(tǒng)結(jié)構(gòu)及中斷控制原理

    8051單片機(jī)五個(gè)中斷請(qǐng)求源,四個(gè)用于中斷控制的寄存器IE.IP.TCON和SCON,用于控制中斷類(lèi)
    發(fā)表于 01-18 15:26 ?1w次閱讀

    單片機(jī)中斷哪些及單片機(jī)中斷的資料和程序說(shuō)明

    中斷是為使單片機(jī)具有對(duì)外或內(nèi)部隨機(jī)發(fā)生的事件實(shí)時(shí)處理的能力而設(shè)置的,中斷功能的存在,很大程度上提高了單片機(jī)處理外部或者內(nèi)部事件的能力。
    發(fā)表于 09-25 17:17 ?1次下載
    <b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>中斷</b>源<b class='flag-5'>有</b>哪些及<b class='flag-5'>單片機(jī)</b><b class='flag-5'>中斷</b>的資料和程序說(shuō)明

    51單片機(jī)的外部中斷哪些觸發(fā)方式

    51單片機(jī)兩個(gè)外部中斷申請(qǐng)輸入端:INT0 和 INT1。 51單片機(jī)的外部中斷,分為低電平觸發(fā)和下降沿觸發(fā)。在
    發(fā)表于 08-13 17:32 ?3次下載
    51<b class='flag-5'>單片機(jī)</b>的外部<b class='flag-5'>中斷</b><b class='flag-5'>有</b>哪些觸發(fā)方式

    51單片機(jī)幾個(gè)中斷?單片機(jī)中斷號(hào)對(duì)應(yīng)的中斷類(lèi)型說(shuō)明

    51單片機(jī)通常有5個(gè)中斷,當(dāng)中斷發(fā)生時(shí),程序會(huì)跳到相應(yīng)的中斷服務(wù)程序去執(zhí)行。為了區(qū)別不同的中斷,引入了
    發(fā)表于 08-06 17:34 ?5次下載
    51<b class='flag-5'>單片機(jī)</b><b class='flag-5'>有</b>幾個(gè)<b class='flag-5'>中斷</b>?<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>中斷</b>號(hào)對(duì)應(yīng)的<b class='flag-5'>中斷</b><b class='flag-5'>類(lèi)型</b>說(shuō)明

    單片機(jī)中斷與CPU的輪詢(xún)什么區(qū)別

    單片機(jī)編程過(guò)程中,經(jīng)常會(huì)使用到中斷。那么,什么是單片機(jī)中斷,它與CPU的輪詢(xún)什么區(qū)別?在本文中,單片
    發(fā)表于 06-29 11:30 ?3781次閱讀

    單片機(jī)哪些類(lèi)型中斷 單片機(jī)原理及應(yīng)用

    單片機(jī)是一種集成電路芯片,它具有微處理器、存儲(chǔ)器、定時(shí)器、計(jì)數(shù)器、輸入/輸出接口等多種功能。單片機(jī)通過(guò)編程來(lái)控制其內(nèi)部電路,以實(shí)現(xiàn)各種控制和處理任務(wù)。單片機(jī)的工作原理是通過(guò)執(zhí)行一系列指令來(lái)控制外部設(shè)備,以完成不同的應(yīng)用功能。
    發(fā)表于 03-19 15:01 ?1w次閱讀

    單片機(jī)用按鈕中斷函數(shù)

    單片機(jī)用按鈕中斷函數(shù)? 單片機(jī)中斷是一種能夠使單片機(jī)響應(yīng)外部信號(hào)的機(jī)制,這種機(jī)制允許單片機(jī)在處理
    的頭像 發(fā)表于 09-01 10:17 ?1938次閱讀

    電子發(fā)燒友

    中國(guó)電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會(huì)員交流學(xué)習(xí)
    • 獲取您個(gè)性化的科技前沿技術(shù)信息
    • 參加活動(dòng)獲取豐厚的禮品