導航:首頁 > 操作系統 > 觸發51單片機中斷

觸發51單片機中斷

發布時間:2023-04-15 03:38:49

A. 51單片機 中斷 如何觸發

這個是屬於單片機的外部中斷,可以通過相關寄存器的配置,相應的引腳如果出現高電平或者低電平(有些單片機可以配置成四種觸發形式:高電平,低電平,上升沿,下降沿)就觸發一次外部中斷,至於如何檢測到這個就不重要了,對於單片機的開發來說這並不重要

B. 51單片機串口中斷是怎麼觸發的

比如51單片機:
根據你設置的串口工作方式,當接收或者發送夠相應位的時候,,自動把TI和RI置1,就會進入串列中斷,並且TI和RI需要軟體清零。
當然,需要你總中斷和串口中斷打開的情況下。

C. 51單片機中斷方式

51單片機有兩種中斷觸發方式:低電平觸發和下降沿觸發;
低電平觸發:當檢測到外部引腳為低電平觸發中斷的低電平觸發;
下降沿觸發:當檢測到外部引腳由高電平變以低電平的瞬間時觸發中斷的為下降觸發的.
選擇低電平觸發中斷後,要撤去低電平信號,不然單片機不斷檢測引腳為低電平就會不斷發生中斷.而下降沿就不會。

D. 51單片機中斷/定時器/計數器

89C51/52的中斷系統有5個中斷源 ,2個優先順序,可實現二級中斷嵌套 。

1、(P3.2)可由IT0(TCON.0)選擇其為低電平有效還是下降沿有效。當CPU檢測到P3.2引腳上出現有效的中斷信號時,中斷標志IE0(TCON.1)置1,向CPU申請中斷。

2、(P3.3)可由IT1(TCON.2)選擇其為低電平有效還是下降沿有效。當CPU檢測到P3.3引腳上出現有效的中斷信號時,中斷標志IE1(TCON.3)置1,向CPU申請中斷。

3、TF0(TCON.5),片內定時/計數器T0溢出中斷請求標志。當定時/計數器T0發生溢出時,置位TF0,並向CPU申請中斷。

4、TF1(TCON.7),片內定時/計數器T1溢出中斷請求標志。當定時/計數器T1發生溢出時,置位TF1,並向CPU申請中斷。

5、RI(SCON.0)或TI(SCON.1),串列口中斷請求標志。當串列口接收完一幀串列數據時置位RI或當串列口發送完一幀串列數據時置位TI,向CPU申請中斷。

IE寄存器:
中斷允許控制寄存器分為兩層結構,第一級結構為中斷允許總控制EA,只有當EA處於中斷允許狀態,中斷源中斷請求才能夠得到允許;當EA處於不允許狀態時,無論IE寄存器中其他位處於什麼狀態,中斷源中斷請求都不會得到允許。第二級結構為5個中斷允許控制位,分別對應5個中斷源的中斷請求,當對應中斷允許控制位為1時,中斷源中斷請求得到允許。

EX0:外部中斷0允許位。EX0=1,允許外部中斷0中斷;EX0=0,禁止外部中斷0中斷。當EX0=1( SETB EX0 )時,同時單片機P3.2引腳上出現中斷信號時,單片機中斷主程序的執行而「飛」往中斷服務子程序,執行完後通過中斷返回指令RET 動返回主程序。當EX0=0( CLR EX0)時,即使單片機P3.2引腳上出現中斷信程序也不會從主程序「飛」 出去執行,因為此時單片機的CPU相當於被「堵上了耳朵」,根本接收不到P3.2引腳上的中斷信號,但是這並不表示這個信號不存在。如果單片機的CPU有空查一下TCON中的IE0位,若為1就說明有中斷信號出現過。
ET0:T0溢出中斷允許位。ET0=1,允許T0中斷;ET0=0,禁止T0中斷。
EX1:外部中斷1允許位。EX1=1,允許外部中斷1中斷;EX1=0,禁止外部中斷1中斷。當EX1=1( SETB EX1)時,並且外部P3.3引腳上出現中斷信號時,單片機CPU會中斷主程序而去執行相應的中斷服務子程序;當EX1=0( CLR EX1)時使外部P3.3引腳上即使出現中斷信號,單片機的CPU也不能中斷主程序轉而去行中斷服務子程序。 [3] 因此,可以這樣認為,EX0和EX1是決定CPU能否感覺到外部引腳P3.2P3.3上的中斷信號的控制位。
ET1:T1溢出中斷允許位。ET1=1,允許T1中斷;ET1=0,禁止T1中斷。
ES:串列中斷允許位。ES=1,允許串列口中斷;ES=0,禁止串列口中斷。
EA:中斷總允許位。EA=1,CPU開放中斷;EA=0,CPU禁止所有的中斷請求。總允許EA好比一個總開關。EA就相當於每家水管的總閘,如果總閘不開,各個龍頭即使開了也不會有水;反過來,如果總閘開了而各個分閘沒開也不會有水,所當我們想讓P3.2和P3.3引腳上的信號能夠中斷主程序則必須將EA位設置為0(CLR EA)。

TCON寄存器:

各位的標識如下:
TF1:定時器1溢出標志位。當定時器1計滿溢出時,由硬體使TF1置1,並且申請中斷,進入中斷服務程序,有硬體自動清0 ,在查詢方式下用軟體清0.
TR1:定時器運行控制位,TR1置1是開啟定時器1,TR1置0時關閉定時器1.
TF0:定時器0溢出標志位。當定時器0計滿溢出時,由硬體使TF0置1,並且申請中斷,進入中斷服務程序,有硬體自動清0 ,在查詢方式下用軟體清0.
TR0:定時器運行控制位,TR0置1是開啟定時器0,TR0置0時關閉定時器0.
IE1:外部中斷1請求標志位。
IT1:外部中斷1觸發方式選擇位。當IT1置0時,為低電平觸發;當IT1置1時,為下降沿觸發。
IE0:外部中斷0請求標志位。
IT0:外部中斷0觸發方式選擇位。當IT0置0時,為低電平觸發;當IT0置1時,為下降沿觸發。

51單片機外部中斷響應條件:
1、中斷源有中斷請求;
2、中斷源的中斷允許位為1(設置IE寄存器相關位);
3、CPU開中斷(設置IE寄存器開中斷,即EA=1)

CPU時序的有關知識:
振盪周期:為單片機提供定時信號的振盪源的周期(晶振周期或外加振盪周期)
狀態周期:2個振盪周期為1個狀態周期,用S表示。
機器周期:1個機器周期含6個狀態周期,12個振盪周期。
指令周期:完成1條指令所佔用的全部時間,它以機器周期為單位。

定時器的其他知識點:
1、51單片機有兩組定時器/計數器,因為既可以定時,又可以計數,故稱之為定時器/計數器。
2、定時器/計數器和單片機的CPU是相互獨立的。定時器/計數器工作的過程是自動完成的,不需要CPU的參與。
3、51單片機中的定時器/計數器是根據機器內部的時鍾或者是外部的脈沖信號對寄存器中的數據加1。
4、有了定時器/計數器之後,可以增加單片機的效率,一些簡單的重復加1的工作可以交給定時器/計數器處理。CPU轉而處理一些復雜的事情。同時可以實現精確定時作用。

與定時器/計數器有關的寄存器:
1、TMOD寄存器
2、TCON寄存器
3、IE寄存器
4、THx/TL寄存器

工作方式寄存器TMOD:
工作方式寄存器TMOD用於設置定時/計數器的工作方式,低四位用於T0,高四位用於T1。其格式如下:

M1M0:工作方式設置位。定時/計數器有四種工作方式。一般我們廳方式1和方式2:

控制寄存器TCON:
TCON的低4位用於控制外部中斷,已在前面介紹。TCON的高4位用於控制定時/計數器的啟動和中斷申請。其格式如下:

TF1(TCON.7):T1溢出中斷請求標志位。T1計數溢出時由硬體自動置TF1為1。CPU響應中斷後TF1由硬體自動清0。T1工作時,CPU可隨時查詢TF1的狀態。所以,TF1可用作查詢測試的標志。TF1也可以用軟體置1或清0,同硬體置1或清0的效果一樣。
TR1(TCON.6):T1運行控制位。TR1置1時,T1開始工作;TR1置0時,T1停止工作。TR1由軟體置1或清0。所以,用軟體可控制定時/計數器的啟動與停止。
TF0(TCON.5):T0溢出中斷請求標志位,其功能與TF1類同。
TR0(TCON.4):T0運行控制位,其功能與TR1類同。

IE中斷開關寄存器:
用於開啟cpu中斷和對應的中斷位。

THx和TL定時/計數存儲寄存器:
THx存儲高8位數據,TLx存儲低8位數據。

定時器/計算器初值計數公式:
計數個數與計數初值的關系為:X=2^n-N
N是需要計數的值;n與設置定時器/計數器的工作方式有關(可能為8、13、16);X是需要設置在THx和TLx的初值。

使用定時器/計算器的初始化流程:
1、對TMOD賦值,以確定T0和T1的工作方式。
2、計算初值,並將其寫入TH0、TL0或TH1、TL1。
3、中斷方式選擇,則對EA賦值,開放定時器中斷。
4、使TR0或TR1置位,啟動定時/計數器定時或計數。

E. 51單片機串口接收中斷怎麼觸發

如果你都已經配置好了,那麼下降沿+有效起始位就能觸發串口接收中斷。

F. 51單片機外部中斷的觸發方式

51單片機的外部中斷有兩種觸發方式可選:電平觸發和邊沿觸發。選擇電平觸發時,單片機在每個機器周期檢查中斷源口線,檢測到低電平,即置位中斷請求標志,向CPU請求中斷。選擇邊沿觸發方式時,單片機在上一個機器周期檢測到中斷源口線為高電平,下一個機器周期檢測到低電平,即置位中斷標志,請求中斷。

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

1) 電平觸發方式時,中斷標志寄存器不鎖存中斷請求信號。也就是說,單片機把每個機器周期的S5P2采樣到的外部中斷源口線的電平邏輯直接賦值到中斷標志寄存器。標志寄存器對於請求信號來說是透明的。這樣當中斷請求被阻塞而沒有得到及時響應時,將被丟失。換句話說,要使電平觸發的中斷被CPU響應並執行,必須保證外部中斷源口線的低電平維持到中斷被執行為止。因此當CPU正在執行同級中斷或更高級中斷期間,產生的外部中斷源(產生低電平)如果在該中斷執行完畢之前撤銷(變為高電平)了,那麼將得不到響應,就如同沒發生一樣。同樣,當CPU在執行不可被中斷的指令(如RETI)時,產生的電平觸發中斷如果時間太短,也得不到執行。

2) 邊沿觸發方式時,中斷標志寄存器鎖存了中斷請求。中斷口線上一個從高到低的跳變將記錄在標志寄存器中,直到CPU響應並轉向該中斷服務程序時,由硬體自動清除。因此當CPU正在執行同級中斷(甚至是外部中斷本身)或高級中斷時,產生的外部中斷(負跳變)同樣將被記錄在中斷標志寄存器中。在該中斷退出後,將被響應執行。如果你不希望這樣,必須在中斷退出之前,手工清除外部中斷標志。

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

4) 選擇電平觸發還是邊沿觸發方式,TCON 控制寄存器
設置。應從系統使用外部中斷的目的上去考慮,而不是如許多資料上說的根據中斷源信號的特性來取捨。比如,有的書上說(《Keil C51使用技巧及實戰》),就有類似的觀點。

G. 51單片機中斷的觸發方式問題。

電平觸發一般是指單片機中斷引腳當檢查到有個低電平(0V)或高電平(5v)就會產生中斷,從而進入中斷函數中處理這些中斷程序,直到中斷引腳電平改變。同理,邊沿觸發一般是指當中斷引腳由低電平突然變為高電平時(出現了上升沿)或高電平突然變為低電平(出現了下降沿)就會產生中斷,也就產生了中斷標志,當EA=1(打開總中斷)時,程序就會暫停main{}當初處理的數據,從而跑入到中斷之程序中去,直到中斷函數處理完畢,才恢復堆棧數據,返回到main{}繼續工作。呵呵 基本原理就是這樣。

H. 51單片機的外部中斷有哪兩種觸發方式

有兩種觸發方式,一是低電平觸發,二是下降沿觸發,由於低電平觸發易引起中斷重入問題,所以常用下降沿觸發。

I. 51單片機外部中斷觸發方式

外部中斷觸發方式有2種,低電平觸發方式和下降沿觸發方式和低電平觸發方式一般單片機能識別的低電平是0.8V,只要低於這個電壓就能觸發中斷。

閱讀全文

與觸發51單片機中斷相關的資料

熱點內容
linux用戶密碼忘記 瀏覽:240
gb壓縮天然氣 瀏覽:633
圖片拼接不壓縮app 瀏覽:668
我的世界如何編程 瀏覽:84
vue反編譯代碼有問題 瀏覽:948
linuxshell字元串連接字元串 瀏覽:51
androidviewpager刷新 瀏覽:438
python編程計算平均分 瀏覽:678
加密數字貨幣市值查詢 瀏覽:692
時尚商圈app怎麼樣 瀏覽:584
stacklesspython教程 瀏覽:138
用命令行禁用135埠 瀏覽:212
linux防火牆編程 瀏覽:627
pdf閱讀器刪除 瀏覽:979
考研人如何緩解壓力 瀏覽:822
買電暖壺哪個app便宜 瀏覽:505
洛克王國忘記伺服器了怎麼辦 瀏覽:782
為什麼cf登錄伺服器沒反應 瀏覽:695
伺服器如何獲取文件列表 瀏覽:674
creo五軸編程光碟 瀏覽:14