一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

單片機(jī)中斷如何打開

h1654155282.3538 ? 來源:小亮談電氣 ? 作者:小亮談電氣 ? 2021-02-07 17:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

知道了什么是中斷,就好比知道了如何去打開門鎖,接下來就是找到鑰匙即可。

51單片機(jī)中,有五種比較常見的中斷源,分別是INT0、INT1、T0、T1、串口中斷。

這五個(gè)中斷就像是五把鑰匙,我們要熟練運(yùn)用他們,才能讓單片機(jī)發(fā)揮它該有的意義。對(duì)于這五個(gè)中斷源來說,最簡(jiǎn)單的就是INT0/INT1這兩個(gè)了,他們兩個(gè)只干中斷這一個(gè)活兒,比較實(shí)在,相比于T0/T1就比較能干了,身兼數(shù)職。然后是串口中斷,屬于精神分裂型,包含兩個(gè)中斷控制一個(gè)中斷源,不過,他僅僅只干通訊的活兒,其他不管。

所以柿子要挑軟的捏,就先搞這個(gè)INT0/INT1。

我們之前說了一個(gè)生活中的案例,就是看電視,然后水滾了,去關(guān)水,再回來看電視,這個(gè)水滾了的聲音就是一個(gè)觸發(fā)我們暫停電視的信號(hào)。那么在程序中,什么條件是我們暫停主程序,進(jìn)入中斷的信號(hào)呢?

pIYBAF_-vvKARHykAAFrTejjgjs511.png

首先看下單片機(jī)的端口,在端口上,可以發(fā)現(xiàn),有兩個(gè)針腳,定義就是INT0/INT1。

pIYBAF_-vviARwNFAAJM88tm71o417.png

上圖中,我們可以一圖覽盡所有中斷,P3.0/RXD,是通訊寫入端口,內(nèi)部對(duì)應(yīng)是寫入中斷RX,P3.1/TXD,是通訊發(fā)出端口,內(nèi)部對(duì)應(yīng)是發(fā)出中斷TX,P3.2/INT0,外部中斷0,P3.3/INT1,外部中斷1,P3.4/T0,中斷0,P3.5/T1,中斷1,既然有針腳,就意味著,這個(gè)針腳是有用的,很顯然。

通過手冊(cè)我們可以知道,當(dāng)P3.2/INT0針腳,處于低電位時(shí),就會(huì)觸發(fā)INT0中斷程序,事實(shí)果真如此嗎?真相只有一個(gè),那就是,哪有那么簡(jiǎn)單。盡管我們找到了觸發(fā)的端口,也可以給他一個(gè)觸發(fā)的低電位,但是程序的響應(yīng),還需要很多工作要做,這就是中斷的難點(diǎn)所在了,需要對(duì)中斷進(jìn)行配置。就好比我聽到水開了,可以至于怎么讓水停止沸騰,這還需要我之前有人教過,不然我只能站在水壺邊看著它開,無可奈何。

那么我們?cè)趺床拍苁褂眠@個(gè)中斷呢?

關(guān)于外部中斷的使用,要遵守以下步驟,不然還真使用不了。我們先說下使用步驟,然后再詳細(xì)介紹每個(gè)步驟的設(shè)置方法。

INT0的使用:

1,打開總中斷開關(guān)。

2,打開INT0中斷開關(guān)。

3,配置INT0中斷的觸發(fā)方式。

4,設(shè)置中斷響應(yīng)程序。

開始前,我們要先了解一些中斷的配置信息,需要依據(jù)數(shù)據(jù)手冊(cè)。通過STC官網(wǎng)可以直接下載89C52的數(shù)據(jù)手冊(cè)。如果需要也可以留言或私信,我單獨(dú)發(fā)送給你。

pIYBAF_-vwKAGvPcAAHkkdhtbjg601.png

這個(gè)是關(guān)于中斷的優(yōu)先級(jí),就是說,我們?cè)谔幚碇袛嗟臅r(shí)候,是有先后順序的,不然在水開的同時(shí)門鈴響了,一個(gè)人怎么可能既開門又關(guān)水?程序也是一樣,為了避免出現(xiàn)中斷同時(shí)發(fā)生時(shí)的尷尬場(chǎng)面,就給每個(gè)中斷設(shè)置了優(yōu)先級(jí),INT0和INT1同時(shí)觸發(fā)了中斷,那么就會(huì)先處理INT0的程序,燈處理完再處理INT1的程序。這樣就保證了程序的穩(wěn)定有序。

光有這個(gè)還不行,首先,需要打開中斷的總開關(guān),我們可以這么理解中斷的運(yùn)行過程。我用一個(gè)電路圖來解釋一下。

o4YBAF_-vwiAIUxtAAC1A_KyE7Y017.png

中斷信號(hào)要想觸發(fā)中斷程序,那么就需要先打開總開關(guān),還要打開INT0專用開關(guān),還要設(shè)置觸發(fā)方式,然后才會(huì)正確進(jìn)入中斷程序,完成中斷。

總中斷開關(guān)如何設(shè)置呢?

pIYBAF_-vw-AbbTBAAHu25jHvcY227.png

查表可以看到,總開關(guān)是EA,打開總開關(guān)是EA=1。

然后打開外部中斷0(INT0)的開關(guān)是EX0,EX0=1。

中斷開了,還要設(shè)置觸發(fā)方式,觸發(fā)方式在另一個(gè)表中,繼續(xù)查表。

pIYBAF_-vxWACOPYAAK_F8XPB3A450.png

查表可以知道,需要IT0設(shè)置,當(dāng)設(shè)置為0時(shí),引腳為低電平時(shí)會(huì)觸發(fā)中斷,就是說當(dāng)電位變成0V時(shí),才會(huì)進(jìn)入中斷響應(yīng)。當(dāng)設(shè)置為1時(shí),引腳輸入電平從高電位到低電位的過程中,就觸發(fā)中斷,這個(gè)為什么有兩種方式呢?其實(shí)都是可以的,不過需要知道的是,當(dāng)我們采用一個(gè)穩(wěn)定的信號(hào)作為觸發(fā)信號(hào)時(shí),就會(huì)有這樣一個(gè)情況,就是當(dāng)高電位變成低電位時(shí),下降沿只有一次,但是低電位卻有很長(zhǎng)時(shí)間,如果我們的觸發(fā)源沒有退出,就會(huì)在下一個(gè)檢測(cè)周期,持續(xù)觸發(fā)中斷。如下圖。

o4YBAF_-vxyANsrEAAGaldGZP8U591.png

所以對(duì)于一些具有保持信號(hào)的觸發(fā)源,采用下降沿觸發(fā)還是比較好的。當(dāng)然如果處理得當(dāng),低電位觸發(fā)也是可以很穩(wěn)定的。

最后是觸發(fā)中斷后,需要進(jìn)入中斷函數(shù),中斷函數(shù),是專門的函數(shù),不在主函數(shù)中。需要單獨(dú)寫出來。

pIYBAF_-vyKAbELXAAEOEoqNqG8850.png

我們使用的是INT0的中斷,于是就需要用第一個(gè):void into_Routine(void) interrupt 0。

這個(gè)中斷的名字into_Routine可以自己任意取,但是后邊的interrupt 0必須要一致,因?yàn)槌绦蚓褪强窟@個(gè)來知道你這個(gè)是不是INT0的中斷程序,寫錯(cuò)了,就會(huì)出現(xiàn)響應(yīng)不了或者出錯(cuò)。到這一步,就算結(jié)束了。整個(gè)中斷流程也就結(jié)束了。

總結(jié)下之前的步驟:

1,開總中斷:EA=1;

2,開INT0中斷:EX0=1;

3,設(shè)置觸發(fā)方式:IT0=1/0;

4,設(shè)置中斷程序:void INT0(void) interrupt 0 {執(zhí)行程序}。
責(zé)任編輯人:CC

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

    關(guān)注

    6067

    文章

    44992

    瀏覽量

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

    關(guān)注

    5

    文章

    905

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(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ī)是通過中斷
    發(fā)表于 10-31 14:42 ?2815次閱讀
    <b class='flag-5'>單片機(jī)</b><b class='flag-5'>中斷</b>優(yōu)先級(jí)應(yīng)用案例

    什么是中斷?單片機(jī)中斷處理過程詳解

    如果單片機(jī)沒有中斷,那么,單片機(jī)將失去靈魂。
    的頭像 發(fā)表于 11-09 11:28 ?6346次閱讀
    什么是<b class='flag-5'>中斷</b>?<b class='flag-5'>單片機(jī)</b><b class='flag-5'>中斷</b>處理過程詳解

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

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

    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ì)使單片機(jī)去處理
    發(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ī)有幾個(gè)中斷?單片機(jī)中斷號(hào)對(duì)應(yīng)的中斷類型說明

    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>有幾個(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>類型說明

    單片機(jī)--中斷系統(tǒng)實(shí)驗(yàn)

    實(shí)驗(yàn)?zāi)康暮腿蝿?wù)目的:利用“模塊化單片機(jī)教學(xué)實(shí)驗(yàn)平臺(tái)”,加深對(duì)單片機(jī)中斷系統(tǒng)的理解。任務(wù):利用單片機(jī)中斷系統(tǒng)完成程序設(shè)計(jì)。 實(shí)驗(yàn)內(nèi)容使用A
    發(fā)表于 11-05 13:20 ?11次下載
    <b class='flag-5'>單片機(jī)</b>--<b class='flag-5'>中斷</b>系統(tǒng)實(shí)驗(yàn)

    C51單片機(jī)學(xué)習(xí)筆記(四)——單片機(jī)中斷系統(tǒng)及應(yīng)用

    C51單片機(jī)學(xué)習(xí)筆記(四)——單片機(jī)中斷系統(tǒng)及應(yīng)用文章目錄C51單片機(jī)學(xué)習(xí)筆記(四)——單片機(jī)中斷
    發(fā)表于 11-14 10:21 ?17次下載
    C51<b class='flag-5'>單片機(jī)</b>學(xué)習(xí)筆記(四)——<b class='flag-5'>單片機(jī)</b>的<b class='flag-5'>中斷</b>系統(tǒng)及應(yīng)用

    51單片機(jī)中斷

    處理事件B,對(duì)事件B處理完畢后,再回到原來被中斷的地方(即斷點(diǎn)),稱為 中斷返回。實(shí)現(xiàn)上述中斷功能的部件稱為中斷系統(tǒng)(中斷機(jī)構(gòu))。
    發(fā)表于 11-19 09:06 ?18次下載
    51<b class='flag-5'>單片機(jī)</b>—<b class='flag-5'>中斷</b>

    51單片機(jī)中斷

    51單片機(jī)中斷(interrupt)
    發(fā)表于 11-20 16:51 ?13次下載
    51<b class='flag-5'>單片機(jī)</b>之<b class='flag-5'>中斷</b>

    單片機(jī):簡(jiǎn)單中斷LED的設(shè)計(jì)

    摘要:單片機(jī)即是單片微型計(jì)算機(jī)。要想學(xué)好單片機(jī),就必須學(xué)習(xí)單片機(jī)中斷系統(tǒng)。中斷
    發(fā)表于 11-23 17:51 ?26次下載
    <b class='flag-5'>單片機(jī)</b>:簡(jiǎn)單<b class='flag-5'>中斷</b>LED的設(shè)計(jì)

    STM32單片機(jī)外部中斷簡(jiǎn)介 STM32單片機(jī)外部中斷的配置過程

    STM32 單片機(jī)是一款高性能、低功耗的 32 位微控制器,具有強(qiáng)大的計(jì)算能力、靈活的外設(shè)模塊以及優(yōu)秀的擴(kuò)展性,開發(fā)周期短、成本低。在單片機(jī)應(yīng)用中,外部中斷是一種重要的硬件觸發(fā)方式,本文將對(duì) STM32
    發(fā)表于 08-15 18:21 ?3651次閱讀

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

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

    單片機(jī)中斷功能及其應(yīng)用

    單片機(jī)中斷功能及其應(yīng)用? 單片機(jī)中斷是指在程序執(zhí)行過程中,根據(jù)特定的條件或事件自動(dòng)暫時(shí)中斷當(dāng)前程序的執(zhí)行,轉(zhuǎn)而執(zhí)行特定的
    的頭像 發(fā)表于 01-30 14:45 ?7126次閱讀

    單片機(jī)中斷機(jī)制

    單片機(jī)中斷機(jī)制是一種重要的處理方式,它允許單片機(jī)在執(zhí)行主程序的過程中,能夠暫停當(dāng)前任務(wù),轉(zhuǎn)而處理外部或內(nèi)部緊急事件。這種機(jī)制極大地提高了系統(tǒng)的響應(yīng)速度和處理能力,使得單片機(jī)在各種應(yīng)用
    的頭像 發(fā)表于 10-17 18:03 ?1981次閱讀