新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 嵌入式學習筆記9——51單片機之中斷外部中斷

嵌入式學習筆記9——51單片機之中斷外部中斷

作者: 時間:2016-11-20 來源:網(wǎng)絡 收藏
1. 中斷的原理:

CPU暫時中斷當前的工作(這叫中斷響應),轉(zhuǎn)去處理事件B(這叫中斷服務)。

本文引用地址:http://m.butianyuan.cn/article/201611/318672.htm

2. 89C51的中斷系統(tǒng)有5個中斷源(按優(yōu)先級高低排序為:外部中斷0、計時器中斷0、外部中斷1、計時器中斷1、串口中斷),2個優(yōu)先級,可實現(xiàn)二級中斷嵌套(中斷處理過程又有優(yōu)先級更高的中斷發(fā)生)。高級單片機中可能有更多的中斷源和更多的優(yōu)先級等。



3. 89C51單片機的中斷優(yōu)先級有三個原則:

(1)CPU同時接收到幾個中斷時,首先響應優(yōu)先級別最高的中斷請求。 (2)正在進行的中斷過程不能被新的同級或低優(yōu)先級的中斷請求所中斷。 (3)正在進行的低優(yōu)先級中斷服務,能被高優(yōu)先級中斷請求所中斷。(為實現(xiàn)后兩個原則,系統(tǒng)設有兩個不能尋址的優(yōu)先級觸發(fā)器。其中一個置1,表示正在響應高優(yōu)先級的中斷,將阻斷后來所有的中斷請求;另一個置1,表示正在響應低優(yōu)先級中斷,將阻斷后來所有低優(yōu)先級中斷請求。)

4. CPU對中斷系統(tǒng)所有中斷以及某個中斷源的開發(fā)和屏蔽是由中斷允許寄存器IE控制的。


5. 中斷響應條件:

(1)中斷源有中斷請求;(2)此中斷源的中斷允許位為1;(3)CPU開中斷(即EA=1)。

6. 程序員使用中斷需要做什么?

(1)使用哪個中斷(外部中斷,計時器中斷,串口中斷等),便確定了響應的中斷號;(2)希望觸發(fā)中斷的條件是什么,比如下降沿觸發(fā)還是低電平觸發(fā);(3)中斷之后要干什么(中斷服務程序要盡量簡短)。

舉例:a.設置IE中響應的值——EA置1(允許CPU中斷)、打開要使用的中斷;b.設置TCON中相應中斷的觸發(fā)方式(如下圖所示TCON寄存器);c.寫中斷服務程序(void 函數(shù)名() interrupt 中斷號 using 0~3中的任意值 { 函數(shù)體 },其中0~3中的值表示選擇片內(nèi)四組寄存器中的一組來保存中斷前的現(xiàn)場,通常建議初學者不寫“using 0~3中的任意值”,因為你不清楚內(nèi)部寄存器的使用情況,不寫的情況下,Keil會自動幫你指定的。)


7. 外部中斷:

IT0(TCON.0)決定外部中斷0是低電平有效還是下降沿有效(從高電平變到低電平)。同樣地,IT1(TCON.2)對應外部中斷1。



關(guān)鍵詞: 嵌入式51單片機外部中

評論


技術(shù)專區(qū)

關(guān)閉