cpu正在處理某件事情時,微控制器的內部或外部發生的某一事件請求cpu迅速去處理,於是cpu暫時中止當前的工作去處理所發生的事件。處理的過程是由中斷服務處理程式來負責的,它處理完後又回到原來被中止的地方,繼續原來的工作,這就是中斷。
一、中斷請求
51(mcs-51系統簡稱,以下均使用51)中斷系統有五個中斷請求源,分別是:
外部中斷請求源2個:int0 和 int1*,中斷請求標誌分別為 ie0 和 ie1
定時器/計數器 t0 、t1 溢位中斷請求,中斷請求標誌分別為 tf0 和 tf1
序列口中斷請求,中斷請求標誌位 ti(傳送中斷請求) 或 ri(接收中斷請求)
這些中斷請求源的中斷請求標誌位分別由特殊功能暫存器tcon和scon的相應位鎖存,下面介紹這兩種暫存器。
(一)tcon
tcon是定時器/計數器的控制暫存器,位元組位址為88h,可以進行位定址。
tcon
d7d6
d5d4
d3d2
d1d0
標誌位tf1
tr1tf0
tr0ie1
it1ie0
it0位位址
8fh8dh
8bh8ah
89h88h
tf1 、tf0 : 51片內定時器/計數器t1的溢位中斷請求標誌位,當計數器計數溢位時,置「1」,
tr1、tr0 :定時器/計數器技術控制位,為「1」,啟動定時器/計數器工作;為「0」,停止定時器/計數器工作。
ie1、ie0 : 外部中斷請求1和0的中斷請求標誌位。
it1、it0 : 外部中斷請求1和0為跳沿觸發方式還是電平觸發方式,為「0」,表示為電平觸發方式,加到int1或int0上的外部中斷請求訊號為低電平有效;「1」表示跳沿觸發方式,加到int1和int0上的外部中斷請求輸入訊號為從高電平到負電平的負跳變有效(按按鈕實現)。
(二)scon
scon為序列口控制暫存器,位元組位址為98h,可位定址。
scon
d7d6
d5d4
d3d2
d1d0
標誌位ti
ri位位址
99h98h
ti/ri : 序列口的傳送中斷請求標誌位和接收中斷請求標誌。cpu相應序列口的傳送和接收中斷時,並不清「0」t1和r1,必須在中斷服務程式中用軟體對其進行清「0」。
二、中斷控制
(一)中斷允許暫存器ie
cpu對中斷的開放或遮蔽,是由片內的中斷允許暫存器ie控制的。ie位元組位址為a8h,可位定址。
ied7
d6d5
d4d3
d2d1
d0標誌位
eaes
et1ex1
et0ex0
位位址ach
abhaah
a9ha8h
ea :中斷允許總控制位,為「0」,cpu遮蔽所有中斷請求(關中斷);為「1」,cpu開放中斷請求(但是否相應具體中斷還要看該終端型別對應的中斷允許位)
es : 序列口中斷允許位
et1/et0 : 定時器/計數器t1/t0溢位中斷允許標誌位
ex1/ex0 : 外部中斷1/0允許標誌位
以上標誌位均為「0」時表示禁止對應中斷,為「1」時表示允許對應中斷。
51復位後,ie被清0,所有中斷請求被禁止。若想允許某一中斷源中斷,不僅要置「1」對應中斷控制位,還要開啟中斷總開關ea(ea置「1」)。改變ie暫存器的指令時可以用位操作(steb bit 或 clr bit)實現也可用位元組操作指令(mov/anl/orl ie,#data/a)實現。
(二)中斷優先順序暫存器ip
51有兩級優先順序,中斷關係為:低優先順序可被高優先順序中斷,反之不能;任何中斷得到響應後都不能被其同級中斷所中斷。當前中斷為高階還是低階可由中斷優先順序暫存器ip設定,其位元組位址為b8h,可位定址:
ipd7
d6d5
d4d3
d2d1
d0標誌位
pspt1
px1pt0
px0位位址
bchbbh
bahb9h
b8hps : 序列口中斷優先順序控制位
pt1/pt0 : 定時器1/0中斷優先順序控制位
px1/px0 : 外部中斷1/0中斷優先順序控制位
以上控制位置「1」表示該中斷定義為高優先順序中斷,「0」則表示低優先順序中斷
除此之外,51微控制器還有乙個預設輔助優先順序序列,由高到低依次是:
外部中斷0
t0溢位中斷
外部中斷1
t1溢位中斷
序列口中斷
三、響應中斷請求的條件
四個條件:
1、cpu開中斷,即ea=1
2、該中斷源對應的中斷請求標誌位為「1」
3、該中斷源的中斷允許位=1,即該終端沒有被遮蔽
4、無同級或最高端中斷正在被服務
C51微控制器學習(二) 中斷系統和定時器
cpu在處理某一事件a時,發生了另一事件b請求cpu迅速去處理 中斷發生 cpu暫時中斷當前的工作,轉去處理事件b 中斷響應和中斷服務 待cpu將事件b處理完畢後,再回到原來事件a被中斷的地方繼續處理事件a 中斷返回 這一過程稱為中斷 其中一些說明 1 p3.2 可由it0 tcon.0 選擇其為低...
Chapter6 中斷系統 《微控制器》筆記
中斷 cpu暫停正在執行的程式而轉去為外設服務 或處理緊急事件 處理完畢再回到原程式繼續執行的過程。中斷源 引起中斷的原因,中斷申請的 中斷源可以是i o裝置 故障 時鐘等。中斷優先順序 當有多個中斷源時,cpu優先響應最需緊急處理 優先級別高 的中斷請求。中斷的巢狀 在中斷系統中,高優先順序的中斷...
微控制器學習 2 中斷操作
1 按鈕s0接在51微控制器的 p3.3 int1 引腳上,p1口接了8個發光二極體,程式設計實現 初始狀態時,led0燈亮,其它燈滅,利用s0按鈕控制p1口的燈 中斷方式 要求每按一下就點亮一盞燈 前面點亮的保持點亮的狀態 include include define uchar unsigned...