51微控制器外部中斷的觸發方式,51微控制器怎麼設定外部中斷?

時間 2021-08-30 09:56:08

1樓:捲毛

51微控制器的外部中斷有兩種觸發方式可選:電平觸發和邊沿觸發。選擇電平觸發時,微控制器在每個機器週期檢查中斷源口線,檢測到低電平,即置位中斷請求標誌,向cpu請求中斷。

選擇邊沿觸發方式時,微控制器在上一個機器週期檢測到中斷源口線為高電平,下一個機器週期檢測到低電平,即置位中斷標誌,請求中斷。

這個原理很好理解。但應用時需要特別注意的幾點:

1) 電平觸發方式時,中斷標誌暫存器不鎖存中斷請求訊號。也就是說,微控制器把每個機器週期的s5p2取樣到的外部中斷源口線的電平邏輯直接賦值到中斷標誌暫存器。標誌暫存器對於請求訊號來說是透明的。

這樣當中斷請求被阻塞而沒有得到及時響應時,將被丟失。換句話說,要使電平觸發的中斷被cpu響應並執行,必須保證外部中斷源口線的低電平維持到中斷被執行為止。因此當cpu正在執行同級中斷或更高階中斷期間,產生的外部中斷源(產生低電平)如果在該中斷執行完畢之前撤銷(變為高電平)了,那麼將得不到響應,就如同沒發生一樣。

同樣,當cpu在執行不可被中斷的指令(如reti)時,產生的電平觸發中斷如果時間太短,也得不到執行。

2) 邊沿觸發方式時,中斷標誌暫存器鎖存了中斷請求。中斷口線上一個從高到低的跳變將記錄在標誌暫存器中,直到cpu響應並轉向該中斷服務程式時,由硬體自動清除。因此當cpu正在執行同級中斷(甚至是外部中斷本身)或高階中斷時,產生的外部中斷(負跳變)同樣將被記錄在中斷標誌暫存器中。

在該中斷退出後,將被響應執行。如果你不希望這樣,必須在中斷退出之前,手工清除外部中斷標誌。

3) 中斷標誌可以手工清除。一箇中斷如果在沒有得到響應之前就已經被手工清除,則該中斷將被cpu忽略。就如同沒有發生一樣。

4) 選擇電平觸發還是邊沿觸發方式,tcon 控制暫存器

設定。應從系統使用外部中斷的目的上去考慮,而不是如許多資料上說的根據中斷源訊號的特性來取捨。比如,有的書上說(《keil c51使用技巧及實戰》),就有類似的觀點。

2樓:感性的楚漢歌

關於51微控制器外部中斷0觸發方式,邊沿觸發方式和電平觸發方式不同,邊沿觸發方式只在觸發訊號下降沿(現在有微控制器也可以設定上升沿觸發)觸發一次。所以在設定好相關外部中斷以後,等待觸發就可以了,不需要額外處理。

it0=1;//邊沿觸發方式,還要置位外部中斷0允許位及總中斷位進入外部中斷0程式的方式是由外部中斷觸發訊號控制的。//if(達到某條件)//不需要判斷,否則就失去中斷的意義了外部中斷請求有兩種方式:電平觸發方式和脈衝下降沿觸發方式。

在電平觸發方式下,cpu在每個機器週期的s5p2時刻都要取樣int0\(p3.2)/int1\(p3.3)管腳的輸入電平,若取樣到低電平,則認為是有中斷請求,也即低電平有效。

在脈衝下降沿觸發方式下,cpu也在每個機器週期的s5p2時刻取樣int0\(p3.2)/int1\(p3.3)管腳的輸入電平,若在相繼的兩次取樣中,前一個機器週期取樣訊號為高電平,後一個機器週期取樣到低電平,也即取樣到一個下降沿,則認為是有效的中斷請求訊號。

外部中斷請求訊號方式的選擇有其控制位(it0\it1)決定,在使用的時候要先設定。

3樓:沙香茅泰鴻

有一種方法可以一試,當gate=1時,只有當trn=1和intn=1時才開始計數,利用這點就可以間接檢測到intn高電平的來臨,只是略微滯後一點點,就是你判斷計數器的那些時間。

4樓:匿名使用者

有兩種觸發方式:低電平觸發和下降沿觸發。

低電平觸發:當檢測到外部引腳為低電平觸發中斷的為低電平觸發。

下降沿觸發:當檢測到外部引腳由高電平變以低電平的瞬間時觸發中斷的為下降沿觸發。

注意:選擇低電平觸發中斷後,要撤去低電平訊號,否則微控制器不斷檢測引腳為低電平就會不斷髮生中斷。而下降沿則不會。

51微控制器怎麼設定外部中斷?

5樓:匿名使用者

1.中斷允許暫存器--ie

ie在特殊功能暫存器中,位元組地址為a8h,位地址(由低位到高位)分別是a8h-afh。

ea:全域性中斷允許位。ea=0,關閉全部中斷;ea=1,開啟全域性中斷控制,在此條件下,由各個中斷控制位確定相應中斷的開啟或關閉。

×:無效位。

es:序列i/o中斷允許位。es=1,開啟序列i/o中斷;es=0,關閉序列i/o中斷。

etl;定時器/計數器1中斷允許位。etl=1,開啟t1中斷;etl=o,關閉t1中斷。

exl:外部中斷l中斷允許位。exl=1,開啟int1;exl=0,關閉int1。

et0:定時器/計數器0中斷允許位。et0=1,開啟t0中斷;et0=0,關閉to中斷。

exo:外部中斷0中斷允許位。ex0=1,開啟int0;ex0=0,關閉int0.

2,。tcon定時器/計數器控制暫存器

tcon在特殊功能暫存器中,位元組地址為88h,位地址(由低位到高位)為88h一8fh,由於有位地址,十分便於進行位操作。

tcon的作用是控制定時器的啟、停,標誌定時器溢位和中斷情況。

各位定義如下:

tf1:定時器1溢位標誌位。當字時器1計滿溢位時,由硬體使tf1置「1」,並且申請中斷。進入中斷服務程式後,由硬體自動清「0」,在查詢方式下用軟體清「0」。

tr1:定時器1執行控制位。由軟體清「0」關閉定時器1。當gate=1,且int1為高電平時,tr1置「1」啟動定時器1;當gate=0,tr1置「1」啟動定時器1。

tf0:定時器0溢位標誌。其功能及操作情況同tf1。

tr0:定時器0執行控制位。其功能及操作情況同tr1。

ie1:外部中斷1請求標誌。

it1:外部中斷1觸發方式選擇位。

ie0:外部中斷0請求標誌。

it0:外部中斷0觸發方式選擇位。

51微控制器外部中斷實驗程式,51微控制器外部中斷實驗程式

做51微控制器外部中斷實驗,應該有主程式 中斷服務程式。樓主所說這些的亮滅,那些的主程式的?那些是中斷程式的?請問你這個觸發中斷是一個按鍵?你觸發的方式是長時間按下還是瞬間按下?我覺得你應該是長時間按下的。回到正題,你這個中斷服務函式裡只有一句 那麼中斷服務函式執行的速度會很快的,所以如果你只按了一...

51微控制器中斷的觸發方式問題,89c51微控制器外中斷兩種觸發方式的區別,各適用於何種情況

電平觸發一般是指微控制器中斷引腳當檢查到有個低電平 0v 或高電平 5v 就會產生中斷,從而進入中斷函式中處理這些中斷程式,直到中斷引腳電平改變。同理,邊沿觸發一般是指當中斷引腳由低電平突然變為高電平時 出現了上升沿 或高電平突然變為低電平 出現了下降沿 就會產生中斷,也就產生了中斷標誌,當ea 1...

關於51微控制器的中斷,關於51微控制器的中斷。

廣東人讀書好 中斷的概念 cpu在處理某一事件a時,發生了另一事件b請求cpu迅速去處理 中斷髮生 cpu暫時中斷當前的工作,轉去處理事件b 中斷響應和中斷服務 待cpu將事件b處理完畢後,再回到原來事件a被中斷的地方繼續處理事件a 中斷返回 這一過程稱為中斷 二 中斷源 在51微控制器中有5箇中斷...