關於微控制器中斷

2022-03-16 06:20:35 字數 2103 閱讀 1053

中斷:cpu停止當前任務,去處理中斷內容,處理完後自動恢復以前任務。

微控制器有5個中斷源,2個中斷優先順序,中斷受兩級控制:

1、cpu開總中斷;

2、中斷源開中斷。

中斷源:引起中斷事件的型別。

5個中斷源:

1、外部中斷請求0,由int0(p3.2)輸入;

2、外部中斷請求1,由int1(p3.3)輸入;

3、片內定時器/計數器0溢位中斷請求;

4、片內定時器/計數器1溢位中斷請求;

5、片內序列口傳送/接收中斷請求。//很重要,微控制器應用中用了很多

定時器/計數器控制暫存器(timer/counter control register):用來檢視是否產生了外部中斷

it0,it1(interrupt type):外部中斷0、1觸發方式選擇位,由軟體設定。

0-->下降沿觸發方式,int0/int1引腳上從高到低的復跳變可引起中斷;

1-->電平觸發方式,int0/int1引腳上低電平可引起中斷。

ie0,ie1(interrupt edge):外部中斷0、1請求標誌位。

當外部中斷0、1依據觸發方式滿足條件產生中斷請求時,由硬體置位(ie0/ie1=1);

當cpu響應中斷時,由硬體清楚(ie0/ie1=0).

tf0,tf1(timer overflow):定時器/計數器0、1(t/c0、t/c1)溢位中斷請求標誌。

當t/c0、1計數溢位時,由硬體置位(tf0/tf1);

當cpu相應中斷時,由硬體清除(tf0/tf1=0)。

序列口控制暫存器scon(serial port control register):用來檢視是否產生了串列埠中斷

ri:序列口接收中斷請求標誌位。

當序列口接收完一幀資料後請求中斷時,由硬體置位(ri=1).

ri必須由軟體置0.

ti:序列口傳送中斷請求標誌位。

當串列埠傳送完一幀資料後請求中斷時,由硬體置位(ti=1).

ti必須由軟體置0。

中斷的控制:由中斷允許暫存器ie和中斷優先暫存器ip控制

中斷允許暫存器ie(interrput enable register):實現中斷的開關管理。

ex0,ex1:外部中斷0、1的中斷允許位。

1-->外部中斷0、1開中斷。

0-->外部中斷0、1關中斷。

et0,et1:定時器/計數器0、1(t/c0,t/c1)溢位中斷允許位。

1-->開中斷

0-->關中斷

es:序列口中斷允許位

1-->序列口開中斷

0-->序列口關中斷

et2:定時器/計數器2(t/c2)溢位中斷允許位

1-->t/c2開中斷

0-->t/c2關中斷

ea:cpu開關中斷暫存器

1-->cpu開中斷

0-->cpu關中斷

中斷優先順序暫存器ip(interrput priority register):設定中斷源優先順序

不做介紹了,書上有

中斷響應:

void function() interrupt 4

0:外部中斷0;

1:定時器/計數器0;

2:外部中斷1;

3:定時器/計數器1;

4:序列口中斷。

關於微控制器的中斷問題

中斷,顧名思義就是停止當前正在做的一切事物。微控制器中的中斷系統包括中斷發生,中斷響應和中斷服務,以及中斷返回。是指cpu在接受到訊號以後暫停當前任務轉而去迅速完成另乙個任務,完成任務後在返回至之前的任務的過程。而當下列三個條件全部能滿足時cpu才有可能相應中斷 中斷源有中斷請求 此中斷源的中斷允許...

關於微控制器串列埠原理

c語言中 ea 1 允許總中斷 es 1 允許串列埠中斷 彙編中可用 setb ea 允許總中斷 setb es 允許串列埠中斷 當微控制器接收到一幀資料後,ri會置1,向cpu申請中斷,若之前有中斷允許,則產生了中斷,進入中斷服務程式。當然,微控制器傳送完一幀資料,ti也會置1,同樣會產生中斷!一...

51微控制器 中斷

一 中斷的概念 cpu在處理某一事件a時,發生了另一事件b請求cpu迅速去處理 中斷發生 cpu暫時中斷當前的工作,轉去處理事件b 中斷響應和中斷服務 待cpu將事件b處理完畢後,再回到原來事件a被中斷的地方繼續處理事件a 中斷返回 這一過程稱為中斷 二 中斷源 在51微控制器中有5個中斷源 中斷號...