外部中斷請求源:即外部中斷0 和1,經由外部引腳引入,在微控制器上有兩個引腳,外稱為int0、int1,也就是p3.2、p3.3這兩個引腳
>_<:mcs51>
微控制器內部的中斷模組在每個cpu週期都查詢各個中斷源的狀態,當其發生預期的中斷事件時,通知cpu將程式跳轉到中斷服務程式所在的程式儲存器(rom)位址。該位址稱為中斷向量。
中斷的實質仍然是查詢,只是不需要使用者程式查詢,不占用cpu執行時間而已。
51系列只有5個中斷向量,5x系列還增加乙個定時器2的中斷向量
——————————————————————————————
位址 | 中斷入口 | 中斷編號
——————————————————————————————
0x0000 | 復位 |
0x0003 | 外部中斷0 | 0
0x000b | 定時器0 | 1
0x0013 | 外部中斷1 | 2
0x001b | 定時器1 | 3
0x0023 | 串列埠 | 4
0x002b | 定時器2(5x系列新增的)| 5
——————————————————————————————
>_<:mcs51>
以int0為例:中斷模組在每個cpu時鐘週期都查詢p3.2的狀態,當輸入的電平由高電平變為低電平時,cpu的程式執行會立即跳轉的到位址0x03。處理int0中斷的**放在位址為0x03開始的rom區域。c語言中採用一類特殊的函式來實現此**定位的功能,叫做 中斷服務函式,格式如下:
void 函式名()interrupt n
函式名可以任意,但一般要用乙個有意義的函式名,n代表中斷向量編號。
>_<:>
mcs51中斷系統中,中斷的允許或禁止是由片內可以進行位定址的8位中斷允許暫存器ie來控制的。
ex0 :外中斷0中斷允許
et0 :定時器0中斷允許
ex1 :外中斷1中斷允許
et1 :定時器1中斷允許
es :序列口中斷允許
et2 :定時器2中斷允許
ea :是總開關,若為0,則所有中斷都不允許。
>_<: tcon>
it0 :int0觸發方式控制位,邊沿/電平觸發模式
ie0 :int0中斷請標誌,
it1 :同上
ie1 :同上
tf0 :定時器/計數器0的溢位中斷標誌
tf1 :定時器/計數器1的溢位中斷標誌
>_<:>
觸發模式由it0和it1控制。
1)邊沿觸發:it0(it1)=1,int0(int1)為邊沿觸發方式。如果乙個週期中取樣到高電平,下個週期中取樣到低電平,則硬體使ie0(ie1)置1,向cpu請求中斷。
2)電平觸發:it0(it1)=0,int0(int1)為電平觸發方式。此時外部中斷是通過檢測p3.2(p3.3)腳的輸入電平(低電平)來觸發的。採用電平觸發時,輸入腳的外部中斷源必須保持低電平有效,直到該中斷被響應。同時在中斷返回前必須使用電平變高,否則將會再次產生中斷。
一般採用邊沿觸發方式,因為此模式抗干擾能力較強,極少採用電平觸發模式。
[>_<:>:
[>_<:>
謝謝分享總結這麼好的知識
]
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微控制器系列知識6 中斷系統(1)
中斷系統 一 幾個概念 中斷 教材p51 中斷源 產生中斷的請求源 中斷級 根據中斷源 所發出的時時事件 的輕重緩急,規定的優先級別 中斷巢狀 cpu在處理乙個中斷源請求時候,響應了更高一級中斷的請求,待處理完後,再繼續執行原來的低階中斷處理程式,這樣的過程稱為中斷巢狀。中斷系統 實現中斷功能的部件...