關於51微控制器中斷

2021-08-21 17:50:00 字數 1115 閱讀 6373

眾所周知,51微控制器共有5個中斷源,從高到低依次為p3.2引腳觸發的外部中斷0

定時器0觸發的中斷1

p3.3引腳出發的外部中斷1

定時器1觸發的中斷1

串列埠資料緩衝器tx/rx中斷

下面附上中斷系統的組成原理圖

仔細觀察圖,我們發現,從最左邊的5個中斷源到完成一次中斷到最右邊需要經歷的有以下幾個步驟

tcon暫存器,ie暫存器,ip暫存器,所以只需弄懂這三個步驟就能輕鬆搞定51微控制器裡面的中斷了。

首先來了解tcon暫存器

tcon為定時/計數器控制暫存器,8位分別為tf1 tr1 tf0 tr0 ie1 it1 ie0 it0

如果我們使用定時器0中斷,那麼當中斷觸發時,tf0將會從0置1,所以也稱tf0,tf1為中斷溢位標誌位,這裡tcon了解下8位分別代表什麼就可以,**中一般不需要用到這8位

其次是ie暫存器,從圖中我們可以看到,5個中斷源分別對應5個ie暫存器中的請求位,所以如果使用哪個中斷源時,將圖中與其對應的位置1就可以開啟了。

例如我們要開啟中斷時,第一步做的是令ea=1開啟總中斷,無論開啟哪個中斷都需要這一步!

其次,如果開啟定時器0中斷,就將et0=1就可以

開啟定時器1中斷,將et1=1就可以

最後,關於ip暫存器,是中斷優先順序暫存器,了解下就可以,**中不需要用到

下面我們附上**注釋

#include 

unsigned

char i=0;

unsigned

char flag=0;

unsigned

char led=;//51微控制器數碼管0~9

void main()

}}//下面配置中斷函式

//注意,中斷函式沒有引數與返回值

void trz(void)interrupt 1

ea=1;

}

通過以上**我相信大家對中斷的使用有了一些簡便的方法,不會疑惑該如何配置了。大家可以對定時/計數器自己去深入了解下,配合中斷可以寫出很多有趣的東西。

51微控制器 中斷

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

51微控制器 中斷

中斷,是微控制器的一種執行機制。標準的51微控制器有兩個控制中斷的暫存器。乙個是中斷使能暫存器,另乙個是中斷優先順序暫存器。ie 中斷使能暫存器的位分配 位址0xa8,可位定址 位7 6543 210符號 ea et2es et1ex1 et0ex0 復位值000 0000 0ie 中斷使能暫存器的...

51微控制器中斷學習

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