C51微控制器 外部中斷

2021-10-07 05:00:49 字數 3418 閱讀 1981

cpu在處理某一事件a時,發生了另一事件b請求cpu迅速去處理(中斷發生);

cpu暫時中斷當前的工作,轉去處理事件b(中斷響應和中斷服務);

待cpu將事件b處理完畢後,再回到原來事件a被中斷的地方繼續處理事件a(中斷返回),這一過程稱為中斷 。

如圖

引起cpu中斷的根源,稱為中斷源。中斷源向cpu提出的中斷請求。cpu暫時中斷原來的事務a,轉去處理事件b。對事件b處理完畢後,再回到原來被中斷的地方(即斷點),稱為中斷返回。實現上述中斷功能的部件稱為中斷系統

如圖

中斷系統的優點:

分時操作。cpu可以分時為多個i/o裝置服務,提高了計算機的利用率;

實時響應。cpu能夠及時處理應用系統的隨機事件,系統的實時性大大增強;

可靠性高。cpu具有處理裝置故障及掉電等突發性事件能力,從而使系統可靠性提高。

89c51/52的中斷系統有5個中斷源 ,2個優先順序,可實現二級中斷巢狀

1、(p3.2)可由it0(tcon.0)選擇其為低電平有效還是下降沿有效。當cpu檢測到p3.2引腳上出現有效的中斷訊號時,中斷標誌ie0(tcon.1)置1,向cpu申請中斷。(外部中斷0)

2、(p3.3)可由it1(tcon.2)選擇其為低電平有效還是下降沿有效。當cpu檢測到p3.3引腳上出現有效的中斷訊號時,中斷標誌ie1(tcon.3)置1,向cpu申請中斷。(外部中斷1)

3、tf0(tcon.5),片內定時/計數器t0溢位中斷請求標誌。當定時/計數器t0發生溢位時,置位tf0,並向cpu申請中斷。(定時器中斷0)

4、tf1(tcon.7),片內定時/計數器t1溢位中斷請求標誌。當定時/計數器t1發生溢位時,置位tf1,並向cpu申請中斷。(定時器中斷1)

5、ri(scon.0)或ti(scon.1),序列口中斷請求標誌。當序列口接收完一幀序列資料時置位ri或當序列口傳送完一幀序列資料時置位ti,向cpu申請中斷。(串列埠中斷)

cpu對中斷系統所有中斷以及某個中斷源的開放和遮蔽是由中斷允許暫存器ie控制的。

每一位控制不同的而中斷允許

(從左以此往右)

ex0(ie

.0),外部中斷0允許位; //1000 0001

et0(

ie.1

),定時/計數器t0中斷允許位; //1000 0010

ex1(

ie.2

),外部中斷0允許位; //1000 0100

et1(

ie.3

),定時/計數器t1中斷允許位; //1000 10000

es(ie

.4),序列口中斷允許位; //1001 0000ea(

ie.7

), cpu中斷允許(總允許)位。

1、tcon的中斷標誌

.0),外部中斷0觸發方式控制位。

當it0

=0時,為電平觸發方式。

當it0

=1時,為邊沿觸發方式(下降沿有效)。

ie0(tcon

.1),外部中斷0中斷請求標誌位。

it1(tcon

.2),外部中斷1觸發方式控制位。

ie1(tcon

.3),外部中斷1中斷請求標誌位。

tf0(tcon

.5),定時/計數器t0溢位中斷請求標誌位。

tf1(tcon

.7),定時/計數器t1溢位中斷請求標誌位

同一優先順序中的中斷申請不止乙個時,則有中斷優先權排隊問題。同一優先順序的中斷優先權排隊,由中斷系統硬體確定的自然優先順序形成,其排列如所示:

51微控制器的中斷優先順序有三條原則:

cpu同時接收到幾個中斷時,首先響應優先級別最高的中斷請求。

正在進行的中斷過程不能被新的同級或低優先順序的中斷請求所中斷。

正在進行的低優先順序中斷服務,能被高優先順序中斷請求所中斷。

為了實現上述後兩條原則,中斷系統內部設有兩個使用者不能定址的優先順序狀態觸發器。其中乙個置1,表示正在響應高優先順序的中斷,它將阻斷後來所有的中斷請求;另乙個置1,表示正在響應低優先順序中斷,它將阻斷後來所有的低優先順序中斷請求。

中斷響應條件

1.中斷源有中斷請求;

2. 此中斷源的中斷允許位為1;

3. cpu開中斷(即ea=1)。

以上三條同時滿足時,cpu才有可能響應中斷。

以外部中斷0為例:

主程式中需要有以下**:

ea=1

;//開啟總中斷開關

ex0=1;

//開外部中斷0

it0=0/

1;//設定外部中斷的觸發方式

中斷服務函式:

void

int0

() interrupt 0 using 1

注意:interrupt 0, ==interrupt ==後必須為中斷號,詳見中斷源。

using 1可以省略。

51微控制器 外部中斷

int0是外部中斷0 0 int1是外部中斷1 2 t0和t1是定時器中斷 1,3 rx和tx是串列埠中斷 it0和it1確定工作方式 暫存器tcon中配置 ie0和ie1是中斷標誌位,為1的時候,向cpu傳送請求中斷 tf0和tf1是溢位中斷請求位 定時器溢位便置1,傳送請求中斷 ri和ti是序列...

51微控制器與C51

微控制器又稱單片微控制器,是在一塊晶元中整合了cpu 處理器 ram 資料儲存器 rom 程式儲存器 定時器 計數器和多種功能的i o 輸入 輸出 介面等一台計算機所需要的基本功能部件,從而可以完成複雜的運算 邏輯控制 通訊等功能。51微控制器是對所有相容intel 8031指令系統的微控制器的統稱...

51微控制器C51程式

學習c51程式之前需要對c語言有一定的了解和學習 這裡只介紹與c語言有區別的地方 具體的不同如下 1 c51中增加了幾種針對msc 51微控制器的特有資料型別 a sfr和sfr16 用於定義特殊功能暫存器,如 sfr psw 0xd0 一般情況下這些特殊功能暫存器不需要使用者自定義,通常包含在標頭...