微控制器中斷(51 52)

2021-09-26 19:40:58 字數 1459 閱讀 6554

先來了解中斷的概念,我們拿生活中舉個例子,就比如你原本在洗衣服,洗著洗著水開了,這時候你跑過去把關火,把水灌入水瓶後,在回來洗衣服,那麼這個過程實際上就是發生一次中斷。

對微控制器來講,中斷是指cpu在處理某一事件a時,發生了另一事件b,請求cpu迅速處理(中斷發生);cpu暫時停止當前工作(中斷響應),轉去處理事件b(中斷服務);待cpu將事件b處理完畢後,再回到原來事件a被中斷的地方繼續處理事件a(中斷返回),這一過程稱之為中斷

1.1.中斷優先順序

涉及中斷——優先順序。微控制器在執行程式試同一時刻發生兩個中斷。微控制器該先執行哪個?這時候我們就要設定中斷優先順序暫存器,來告訴微控制器先執行哪個。

對於51/52微控制器來講,若沒設定中斷優先順序,它內部自己有一套優先順序,如下

int0-----外部中斷0                 最高                    0                               0003h

t0-----定時器/計數0 中斷        第二                    1                               000bh

int1-----外部中斷1                 第三                    2                               0013h

t1-----定時器/計數1 中斷        第四                    3                               001bh

ti/ri-----序列口中斷                第五                    4                               0023h

t2-----定時器/計數2 中斷        最低                     5                              002bh

注:定時器2是52微控制器特有的。

1.2中斷允許暫存器

ea = 1;開啟全域性中斷控制

ea = 0;關閉全部中斷

et0 = 1;開啟定時器0中斷

et0 = 0;關閉定時器0中斷

et1 = 1;開啟定時器1中斷

et1 = 0;關閉定時器1中斷

et2 = 1;開啟定時器2中斷

et2 = 0;關閉定時器2中斷

es = 0;關閉中斷允許位

es = 1p;開啟中斷允許位

ex1 = 1;開啟外部中斷允許位1

ex1 = 0;關閉外部中斷允許位

ex0 = 1;開啟外部中斷允許位0

ex0 = 0;關閉外部中斷允許位

51微控制器 中斷

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

微控制器中斷原理

微控制器在自主執行的時候一般是在執行乙個死迴圈程式,在沒有外界干擾 輸入訊號 的時候它基本處於乙個封閉狀態。比如乙個電子時鐘,它會按時 分 秒的規律來自主執行並通過輸出裝置 如液晶顯示屏 把時間顯示出來。在不需要對它進行調校的時候它不需要外部干預,自主封閉地執行。如果這個時鐘足夠準確而又不掉電的話,...

微控制器之中斷

11月14日學習總結 時隔兩周了吧,整理了一下課上記得筆記,發現沒有當即上過課就整理筆記的後果就是老師說的很多細節都想不起來了,不過憑著我這魚的記憶還是能想起來多少就寫多少吧。首先來回顧一下基礎知識,各類資料基本型別的變數範圍,這些一定要記住,我在寫程式時有時就是因為定義的變數超出了範圍達不到想表達...