微控制器學習筆記(二) 中斷系統

2021-09-28 23:28:03 字數 2451 閱讀 7641

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...