導航:首頁 > 操作系統 > 單片機中斷響應條件是什麼

單片機中斷響應條件是什麼

發布時間:2022-12-23 02:55:02

1. 51單片機c語言編程中產生中斷的條件是什麼

三個:
1.總中斷使能位EA=1
2.相應中斷使能 (ET0、EX0……) 打開
3.中斷源:外部中斷引腳的電平觸發、定時器溢出……

oid PxInt0(void) interrupt 0 //定義外部中斷0
void PxInt1(void) interrupt 2 //定義外部中斷1
void time0_int(void) interrupt 1 //定義定時器0
void time1_int(void) interrupt 3 //定義定時器1

這里為什麼是 0 1 2 3的順序呢~?其實是單片機內部默認的,順序依次是:
0 外部中斷0
1 定時/計數器0
2 外部中斷1
3 定時/計數器1
4 串列口中斷
這個是沒有什麼理由的,記住就行,以後要定義一個中斷的時候,定義的是哪一個,就在後面加上它的序號就行了,比如void PxInt0(void) interrupt 0 表示外部中斷0,就在後面加上interrupt 0.

逐詞解釋的話。。。如:void PxInt0(void) interrupt 0
void的意思是沒有返回值,Pxint0(void)是你定義的函數名,interrupt表示你定義的是中斷函數,0表示你定義的是外部中斷0
後面的依此類推。
另外,中斷函數不需要在main函數前聲明,當單片機檢測到中斷所需的信號時,它會自動立即停止正在進行的工作進入中斷函數。

2. 51單片機中斷/定時器/計數器

89C51/52的中斷系統有5個中斷源 ,2個優先順序,可實現二級中斷嵌套 。

1、(P3.2)可由IT0(TCON.0)選擇其為低電平有效還是下降沿有效。當CPU檢測到P3.2引腳上出現有效的中斷信號時,中斷標志IE0(TCON.1)置1,向CPU申請中斷。

2、(P3.3)可由IT1(TCON.2)選擇其為低電平有效還是下降沿有效。當CPU檢測到P3.3引腳上出現有效的中斷信號時,中斷標志IE1(TCON.3)置1,向CPU申請中斷。

3、TF0(TCON.5),片內定時/計數器T0溢出中斷請求標志。當定時/計數器T0發生溢出時,置位TF0,並向CPU申請中斷。

4、TF1(TCON.7),片內定時/計數器T1溢出中斷請求標志。當定時/計數器T1發生溢出時,置位TF1,並向CPU申請中斷。

5、RI(SCON.0)或TI(SCON.1),串列口中斷請求標志。當串列口接收完一幀串列數據時置位RI或當串列口發送完一幀串列數據時置位TI,向CPU申請中斷。

IE寄存器:
中斷允許控制寄存器分為兩層結構,第一級結構為中斷允許總控制EA,只有當EA處於中斷允許狀態,中斷源中斷請求才能夠得到允許;當EA處於不允許狀態時,無論IE寄存器中其他位處於什麼狀態,中斷源中斷請求都不會得到允許。第二級結構為5個中斷允許控制位,分別對應5個中斷源的中斷請求,當對應中斷允許控制位為1時,中斷源中斷請求得到允許。

EX0:外部中斷0允許位。EX0=1,允許外部中斷0中斷;EX0=0,禁止外部中斷0中斷。當EX0=1( SETB EX0 )時,同時單片機P3.2引腳上出現中斷信號時,單片機中斷主程序的執行而「飛」往中斷服務子程序,執行完後通過中斷返回指令RET 動返回主程序。當EX0=0( CLR EX0)時,即使單片機P3.2引腳上出現中斷信程序也不會從主程序「飛」 出去執行,因為此時單片機的CPU相當於被「堵上了耳朵」,根本接收不到P3.2引腳上的中斷信號,但是這並不表示這個信號不存在。如果單片機的CPU有空查一下TCON中的IE0位,若為1就說明有中斷信號出現過。
ET0:T0溢出中斷允許位。ET0=1,允許T0中斷;ET0=0,禁止T0中斷。
EX1:外部中斷1允許位。EX1=1,允許外部中斷1中斷;EX1=0,禁止外部中斷1中斷。當EX1=1( SETB EX1)時,並且外部P3.3引腳上出現中斷信號時,單片機CPU會中斷主程序而去執行相應的中斷服務子程序;當EX1=0( CLR EX1)時使外部P3.3引腳上即使出現中斷信號,單片機的CPU也不能中斷主程序轉而去行中斷服務子程序。 [3] 因此,可以這樣認為,EX0和EX1是決定CPU能否感覺到外部引腳P3.2P3.3上的中斷信號的控制位。
ET1:T1溢出中斷允許位。ET1=1,允許T1中斷;ET1=0,禁止T1中斷。
ES:串列中斷允許位。ES=1,允許串列口中斷;ES=0,禁止串列口中斷。
EA:中斷總允許位。EA=1,CPU開放中斷;EA=0,CPU禁止所有的中斷請求。總允許EA好比一個總開關。EA就相當於每家水管的總閘,如果總閘不開,各個龍頭即使開了也不會有水;反過來,如果總閘開了而各個分閘沒開也不會有水,所當我們想讓P3.2和P3.3引腳上的信號能夠中斷主程序則必須將EA位設置為0(CLR EA)。

TCON寄存器:

各位的標識如下:
TF1:定時器1溢出標志位。當定時器1計滿溢出時,由硬體使TF1置1,並且申請中斷,進入中斷服務程序,有硬體自動清0 ,在查詢方式下用軟體清0.
TR1:定時器運行控制位,TR1置1是開啟定時器1,TR1置0時關閉定時器1.
TF0:定時器0溢出標志位。當定時器0計滿溢出時,由硬體使TF0置1,並且申請中斷,進入中斷服務程序,有硬體自動清0 ,在查詢方式下用軟體清0.
TR0:定時器運行控制位,TR0置1是開啟定時器0,TR0置0時關閉定時器0.
IE1:外部中斷1請求標志位。
IT1:外部中斷1觸發方式選擇位。當IT1置0時,為低電平觸發;當IT1置1時,為下降沿觸發。
IE0:外部中斷0請求標志位。
IT0:外部中斷0觸發方式選擇位。當IT0置0時,為低電平觸發;當IT0置1時,為下降沿觸發。

51單片機外部中斷響應條件:
1、中斷源有中斷請求;
2、中斷源的中斷允許位為1(設置IE寄存器相關位);
3、CPU開中斷(設置IE寄存器開中斷,即EA=1)

CPU時序的有關知識:
振盪周期:為單片機提供定時信號的振盪源的周期(晶振周期或外加振盪周期)
狀態周期:2個振盪周期為1個狀態周期,用S表示。
機器周期:1個機器周期含6個狀態周期,12個振盪周期。
指令周期:完成1條指令所佔用的全部時間,它以機器周期為單位。

定時器的其他知識點:
1、51單片機有兩組定時器/計數器,因為既可以定時,又可以計數,故稱之為定時器/計數器。
2、定時器/計數器和單片機的CPU是相互獨立的。定時器/計數器工作的過程是自動完成的,不需要CPU的參與。
3、51單片機中的定時器/計數器是根據機器內部的時鍾或者是外部的脈沖信號對寄存器中的數據加1。
4、有了定時器/計數器之後,可以增加單片機的效率,一些簡單的重復加1的工作可以交給定時器/計數器處理。CPU轉而處理一些復雜的事情。同時可以實現精確定時作用。

與定時器/計數器有關的寄存器:
1、TMOD寄存器
2、TCON寄存器
3、IE寄存器
4、THx/TL寄存器

工作方式寄存器TMOD:
工作方式寄存器TMOD用於設置定時/計數器的工作方式,低四位用於T0,高四位用於T1。其格式如下:

M1M0:工作方式設置位。定時/計數器有四種工作方式。一般我們廳方式1和方式2:

控制寄存器TCON:
TCON的低4位用於控制外部中斷,已在前面介紹。TCON的高4位用於控制定時/計數器的啟動和中斷申請。其格式如下:

TF1(TCON.7):T1溢出中斷請求標志位。T1計數溢出時由硬體自動置TF1為1。CPU響應中斷後TF1由硬體自動清0。T1工作時,CPU可隨時查詢TF1的狀態。所以,TF1可用作查詢測試的標志。TF1也可以用軟體置1或清0,同硬體置1或清0的效果一樣。
TR1(TCON.6):T1運行控制位。TR1置1時,T1開始工作;TR1置0時,T1停止工作。TR1由軟體置1或清0。所以,用軟體可控制定時/計數器的啟動與停止。
TF0(TCON.5):T0溢出中斷請求標志位,其功能與TF1類同。
TR0(TCON.4):T0運行控制位,其功能與TR1類同。

IE中斷開關寄存器:
用於開啟cpu中斷和對應的中斷位。

THx和TL定時/計數存儲寄存器:
THx存儲高8位數據,TLx存儲低8位數據。

定時器/計算器初值計數公式:
計數個數與計數初值的關系為:X=2^n-N
N是需要計數的值;n與設置定時器/計數器的工作方式有關(可能為8、13、16);X是需要設置在THx和TLx的初值。

使用定時器/計算器的初始化流程:
1、對TMOD賦值,以確定T0和T1的工作方式。
2、計算初值,並將其寫入TH0、TL0或TH1、TL1。
3、中斷方式選擇,則對EA賦值,開放定時器中斷。
4、使TR0或TR1置位,啟動定時/計數器定時或計數。

3. 51系列單片機中斷響應條件

單片機響應中斷的條件是:
1、 開中斷
2、 該中斷源要允許中斷
3、 沒有高級別的中斷在申請中斷或同級別的中斷在處理
4、 該中斷源被觸發。

4. 單片機中斷概念

單片機的中斷概念是指單片機在執行程序時,遇到事先設定的優先等級高於當前正在執行程序的控制信號時,暫時停止當前程序的執行,轉而先執行優先等級高的程序,等待所有優先等級較高的程序都執行完後,再返回繼續原來暫停執行的程序的操作,這樣的程序操作就稱為執行中斷操作。
為了保證中斷執行後能夠繼續執行原來的程序且不產生錯誤,中斷操作時,首先要保存中斷前的程序的地址、工作寄存器的內容等。直到中斷程序執行完成後再將暫時保存的工作寄存器的內容和地址取出,才能保證不回出現錯誤。

5. 簡述at89c51單片機的中斷響應需要哪些條件 在線等 採納給滿分

單片機響應中斷的條件是:
1、 開中斷
2、 該中斷源要允許中斷
3、 沒有高級別的中斷在申請中斷或同級別的中斷在處理
4、 該中斷源被觸發。
單片機學習到吳鑒鷹吧,都是電子學習的。網路文庫《吳鑒鷹單片機項目實戰精講》,裡面都是設計資料,有常式原理圖,對你以後的設計有用,希望幫到你
如果對單片機有興趣可以學習吳鑒鷹單片機開發板,有詳細的視頻教程,參考

6. 單片機…中斷響應的條件是什麼用匯編語句怎麼寫

當滿足中斷條件時就會觸發中斷接著響應中斷,最基本的五種中斷方式,這個設置
特殊功能寄存器
就行,資料中很多,

7. cpu響應中斷必須滿足哪些條件

CPU響應中斷條件:

1、有中斷源發出的中斷請求;

2、中斷總允許位EA=1,即CPU開中斷;

3、申請中斷的中斷源的中斷允許位為1,即中斷沒有被屏蔽;

4、無同級或更高級中斷正在被服務;

5、當前的指令周期已經結束。

8. CPU響應中斷需要哪些條件

CPU響應中斷需要以下條件:

1、中斷源如何向CPU表達中斷請求

一般是設置中斷請求觸發器,在需要CPU服務時,將中斷請求觸發器置位,其1端或0端輸出的跳變作為中斷請求信號。顯然中斷源可以隨時提出中斷請求。

2、中斷請求何種情況下才可能得到CPU響應

一個中斷請求在同時具備下列兩個條件時,才有可能得到CPU響應:

①該中斷源未被屏蔽;

②該中斷請求在當前所有中斷請求中級別最高。

3、CPU何時響應中斷

CPU在同時滿足下列兩個條件時,響應中斷:

①IF=1(對非屏蔽中斷,沒有此項要求);

②現行指令執行完。

CPU在每一個指令周期的最後一個匯流排周期的最後一個時鍾周期的開始采樣中斷請求輸入線,若有中斷請求,則下一步不進入取指令周期,而進入中斷響應周期,如圖所示。對於8086系列CPU,中斷響應周期為兩個。

(8)單片機中斷響應條件是什麼擴展閱讀:

之所以把一條指令執行完作為響應中斷的條件,是因為中斷響應周期以及中斷服務程序要佔用CPU資源。如果在執行一條指令的中間響應中斷,則指令的當前狀態既不能保存也無法加以恢復。

與此相對比,DMA操作是在DMA控制器的作用下進行的,不佔用CPU資源,所以在一條指令執行中間、當前匯流排周期結束即可進入DMA周期。

9. 51單片機CPT會響應中斷源的條件是什麼

(1)有中斷源發出中斷請求。

(2)中斷總允許控制位EA=l, CPU開放總中斷。
(3)申請中斷的中斷源的中斷允許位為1,即該中斷沒有被屏蔽。

(4)無同級或更高級中斷正在服務。

(5)當前指令周期已經結束。

(6)若現行指令為RETI或訪問IE或IP指令時,讀指令以及緊接著的另一條指令已執行完畢。
滿足以上條件,則CPU響應響應中斷元的中斷請求。

10. 80C51單片機的中斷響應條件有那幾條

中斷響應條件:
一、中斷源有中斷請求
二、此中斷源的中斷允許位為1
三、CPU開中斷(即EA=1)
(以上條件同時滿足時,CPU才有可能響應中斷)

閱讀全文

與單片機中斷響應條件是什麼相關的資料

熱點內容
java電商訂單支付源碼 瀏覽:102
android手機滑鼠 瀏覽:465
php支付項目經驗 瀏覽:929
中國人民銀行在哪裡下載app 瀏覽:560
松餅pdf 瀏覽:667
萌新如何獲得命令 瀏覽:138
java設計模式及代碼 瀏覽:7
命令恢復資料庫 瀏覽:192
linuxoracle11gr2 瀏覽:972
攜程APP簽到在哪裡 瀏覽:389
dwg解壓方法 瀏覽:422
雲伺服器數據溝通 瀏覽:849
android地圖定位源碼 瀏覽:632
鴻蒙系統如何解除app安裝限制 瀏覽:497
阿里雲伺服器應用鏡像選哪個 瀏覽:343
win7策略更新命令 瀏覽:299
android源碼分析之設計模式 瀏覽:294
qq郵箱上的文件怎麼解壓在電腦上 瀏覽:504
業余學python是如何掙錢的 瀏覽:416
方舟伺服器連接超時顯示什麼 瀏覽:226