關於微控制器的中斷問題

2021-08-22 11:53:16 字數 779 閱讀 2185

中斷,顧名思義就是停止當前正在做的一切事物。微控制器中的中斷系統包括中斷發生,中斷響應和中斷服務,以及中斷返回。是指cpu在接受到訊號以後暫停當前任務轉而去迅速完成另乙個任務,完成任務後在返回至之前的任務的過程。

而當下列三個條件全部能滿足時cpu才有可能相應中斷:

中斷源有中斷請求;此中斷源的中斷允許位為1;cpu開中斷(即ea=1);

由上述三個條件我們可知如果要在程式中使用中斷主程式必須要新增如下**:

ea=1;

ex0=1;

it0=0/1;

ea為開啟總中斷開關,ex0為開啟外部中斷0開關,it0=0/1為設定外部中斷觸發方式,=0的話是電平觸發,=1的話是下降沿觸發。插入中斷服務函式即可實現中斷觸發後程式接下來要執行的事件,中斷服務函式格式為:

void   int0   ()  interrupt   0    

注意interrupt一定不能寫錯,後面的0為中斷號(見附錄)代表外部中斷0,如果改換為其他數字將不會進入中斷。

附錄

如圖,中斷號對應各種中斷方式,如果要實行外部中斷1的話,中斷號為2。外部中斷0,對應中斷號為0,依此類推改換interrupt後的中斷號來進行不同種的中斷。

關於微控制器中斷

中斷 cpu停止當前任務,去處理中斷內容,處理完後自動恢復以前任務。微控制器有5個中斷源,2個中斷優先順序,中斷受兩級控制 1 cpu開總中斷 2 中斷源開中斷。中斷源 引起中斷事件的型別。5個中斷源 1 外部中斷請求0,由int0 p3.2 輸入 2 外部中斷請求1,由int1 p3.3 輸入 3...

關於微控制器串列埠原理

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

51微控制器的中斷問題

作 者 武力戡亂 修改日期 2017 08 22 備 注 1 總備註資訊 2 內 容 1 51微控制器中斷源 觸發中斷的條件。外部中斷 0 定時器中斷0 外部中斷1 定時器中斷1 序列口中斷 定時器中斷2 52或者一些公升級的51微控制器才有 外部中斷 io引發的。51有兩種外部中斷型別 低電平觸發...