Ⅰ 51單片機怎麼設置外部中斷啊
一、設置 EX0(IE.0)為1 INT0 中斷允許位
二、設置 PX0(IP.0)為1 INT0 的優先權層次
三、設置 IT0(TCON.0) INT0 類型控制位. 為 1 時為上升沿觸發, 為 0 時為低電平觸發
四、IE0(TCON.1) INT0 中斷標志位. 運行中斷服務程序時, 硬體自動清除
五、0003H INT0 中斷入口地址
Ⅱ 8051單片機外部中斷
要保證電路圖沒錯
P2.5開關對你的中斷程序有影響么?
可以通過設置中斷的優先順序試試!
Ⅲ 51單片機中的外部中斷有什麼作用
可以打個比方,每天上班你都隨時需要知道你同事的工作進度情況,你是希望你不停地打個電話去問「你做完了嗎」,還是希望他做完了主動打個電話給你講「我做完了,我們談談吧」。這就是中斷的意義,在不需要的時候不影響處理 器做其它的事情,提高效率,增強程序的實時性。
Ⅳ 51單片機外部中斷的觸發方式
51單片機的外部中斷有兩種觸發方式可選:電平觸發和邊沿觸發。選擇電平觸發時,單片機在每個機器周期檢查中斷源口線,檢測到低電平,即置位中斷請求標志,向CPU請求中斷。選擇邊沿觸發方式時,單片機在上一個機器周期檢測到中斷源口線為高電平,下一個機器周期檢測到低電平,即置位中斷標志,請求中斷。
這個原理很好理解。但應用時需要特別注意的幾點:
1) 電平觸發方式時,中斷標志寄存器不鎖存中斷請求信號。也就是說,單片機把每個機器周期的S5P2采樣到的外部中斷源口線的電平邏輯直接賦值到中斷標志寄存器。標志寄存器對於請求信號來說是透明的。這樣當中斷請求被阻塞而沒有得到及時響應時,將被丟失。換句話說,要使電平觸發的中斷被CPU響應並執行,必須保證外部中斷源口線的低電平維持到中斷被執行為止。因此當CPU正在執行同級中斷或更高級中斷期間,產生的外部中斷源(產生低電平)如果在該中斷執行完畢之前撤銷(變為高電平)了,那麼將得不到響應,就如同沒發生一樣。同樣,當CPU在執行不可被中斷的指令(如RETI)時,產生的電平觸發中斷如果時間太短,也得不到執行。
2) 邊沿觸發方式時,中斷標志寄存器鎖存了中斷請求。中斷口線上一個從高到低的跳變將記錄在標志寄存器中,直到CPU響應並轉向該中斷服務程序時,由硬體自動清除。因此當CPU正在執行同級中斷(甚至是外部中斷本身)或高級中斷時,產生的外部中斷(負跳變)同樣將被記錄在中斷標志寄存器中。在該中斷退出後,將被響應執行。如果你不希望這樣,必須在中斷退出之前,手工清除外部中斷標志。
3) 中斷標志可以手工清除。一個中斷如果在沒有得到響應之前就已經被手工清除,則該中斷將被CPU忽略。就如同沒有發生一樣。
4) 選擇電平觸發還是邊沿觸發方式,TCON 控制寄存器
設置。應從系統使用外部中斷的目的上去考慮,而不是如許多資料上說的根據中斷源信號的特性來取捨。比如,有的書上說(《Keil C51使用技巧及實戰》),就有類似的觀點。
Ⅳ 單片機外部中斷
定時百器中斷是設定定時時間,到了該時間,就進行處理一次。
可以處理按度鍵掃描,動態顯示,時鍾累加等問。
外部中斷,是與外答接接觸,當中斷引腳為低電平時,進入中斷。
如果你的單片機沒內有專門的鍵盤中斷,可以使用外部中容斷來做鍵盤中斷。定時百器中斷是設定定時時間,到了該時間,就進行處理一次。
可以處理按度鍵掃描,動態顯示,時鍾累加等問。
外部中斷,是與外答接接觸,當中斷引腳為低電平時,進入中斷。
如果你的單片機沒內有專門的鍵盤中斷,可以使用外部中容斷來做鍵盤中斷。定時百器中斷是設定定時時間,到了該時間,就進行處理一次。
可以處理按度鍵掃描,動態顯示,時鍾累加等問。
外部中斷,是與外答接接觸,當中斷引腳為低電平時,進入中斷。
如果你的單片機沒內有專門的鍵盤中斷,可以使用外部中容斷來做鍵盤中斷。
Ⅵ 51單片機外部中斷
一。外部中斷0下降沿方式。如果在中斷過程中,又繼續來了幾個下降沿,那麼這些中斷是被忽略了還是排隊等待執行?
答案:會被忽略,只有在中斷返回時,硬體才會清除中斷標志,此時之後有下降沿來臨才會被觸發申請中斷。
二。外部中斷0低電平方式。如果在中斷過程中,一直都是低電平,那麼這些中斷是被忽略了還是排隊等待執行?
答案:如果中斷返回時還是低電平,那麼會排隊等待執行。
Ⅶ 單片機外部中斷
實現功能可以不用外部中斷。
方法為
1 寫一個按鍵掃描程序
2 定義一個動作控制標志位,可以是bit型或者位元組型
3 每次檢測到按鍵之後,將標志位改變
4 根據標志為的狀態,編寫相應的動作控製程序
Ⅷ 51單片機的外部中斷怎麼用
首先設置開中斷和中斷優先順序以及觸發方式;當設置為低電平觸發時每檢測到低電平進入中斷;設置為邊沿觸發時每出現一個下降沿進入,自己看書吧,這個這樣是說不清的!
Ⅸ 單片機外部中斷引腳是哪一個
答:
先看看你的中斷程序:
void
exter0()
interrupt
0
{
d1=0;
}
也就是叫d1置零而已。執行完這句就跳出中斷了,繼續執行主函數。
那麼你叫中斷一直低電平,是不是就一直觸發中斷呀?是的。
你認為只要一直觸發中斷,是不是就應該永遠執行中斷函數,而不幹別的了?
當程序從中斷函數跳出時如果又來了中斷,單片機會在跳出中斷後執行一條指令才進入中斷的!
也就是執行RETI這句匯編指令後,接著又執行一條語句,才進入中斷函數。跳出後又執行一條語句....依此類推
所以你的程序就是這樣的情況。你看到的就是跳動的頻率變滿了。
Ⅹ 單片機外部中斷0的入口地址
中斷響應過程包括保護斷點和將程序轉向中斷服務程序的入口地址。首先,中斷系統通過硬體自動生成長調用指令(LACLL),該指令將自動把斷點地址壓入堆棧保護(不保護累加器A、狀態寄存器PSW和其它寄存器的內容),然後,將對應的中斷入口地址裝入程序計數器PC(由硬體自動執行),使程序轉向該中斷入口地址,執行中斷服務程序。MCS-51系列單片機各中斷源的入口地址由硬體事先設定,分配如下:
中斷源 入口地址
外部中斷0 0003H
定時器T0中斷 000BH
外部中斷1 0013H
定時器T1中斷 001BH
串列口中斷 0023H
使用時,通常在這些中斷入口地址處存放一條絕對跳轉指令,使程序跳轉到用戶安排的中斷服務程序的起始地址上去。