中斷: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個中斷源 中斷號...