眾所周知,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個中斷源 中斷號...