




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
80C51單片機中斷系統(tǒng)及其應(yīng)用第三章第三節(jié)§3.3.180C51單片機的中斷系統(tǒng)§3.3.280C51單片機的中斷系統(tǒng)應(yīng)用舉例目錄§3.3.180C51單片機的中斷系統(tǒng)
80C51單片機有5個中斷源,2個中斷優(yōu)先級,它的中斷處理程序可實現(xiàn)兩級嵌套,有較強的中斷處理能力。單片機對中斷系統(tǒng)的管理是通過相關(guān)的專用寄存器來實現(xiàn)的。概述§3.3.180C51單片機的中斷系統(tǒng)一、中斷源及相關(guān)的專用寄存器二、單片機對中斷請求的控制三、單片機對中斷的響應(yīng)概述§3.3.180C51單片機的中斷系統(tǒng)一、中斷源及相關(guān)的專用寄存器1、80C51單片機的中斷源80C511、80C51單片機的中斷源一、中斷源及相關(guān)的專用寄存器0:INT0無中斷請求2、定時器控制寄存器TCON定時器控制寄存器TCON的結(jié)構(gòu)如下圖所示TCONTF1TR1TF0TR0IE1IT1IE0IT0位地址8F8E8D8C8B8A8988復(fù)位/未溢出:0T1溢出中斷:1T1中斷標(biāo)志位停T1
計數(shù):0啟T1計數(shù):1T1啟停位復(fù)位/未溢出:0T0溢出中斷:1停T0計數(shù):0啟T0計數(shù):1T0中斷標(biāo)志位T0
啟停位0:INT0為電平觸發(fā)1:INT0為邊沿觸發(fā)1:INT0上有中斷請求0:INT1為電平觸發(fā)1:INT1為邊沿觸發(fā)0:INT1無中斷請求1:INT1上有中斷請求一、中斷源及相關(guān)的專用寄存器2、定時器控制寄存器TCON當(dāng)定時器T0或T1定時到或計數(shù)滿時(即由全“1”變?yōu)槿?”),溢出標(biāo)志TF0或TF1被硬件置位,若中斷是開放的,即可向CPU發(fā)出中斷請求。
CPU響應(yīng)此中斷時由內(nèi)部硬件自動將標(biāo)志TF0或TF1清“0”,控制轉(zhuǎn)到相應(yīng)中斷入口。注意:TF0或TF1可由軟件讀寫,軟件寫入與硬件置位、復(fù)位效果相同。定時器T0、T1中斷一、中斷源及相關(guān)的專用寄存器2、定時器控制寄存器TCON外部中斷INT0、INT1外部中斷有兩種觸發(fā)方式:在邊沿觸發(fā)方式下,有專門的中斷請求標(biāo)志IE0、IE1,當(dāng)CPU響應(yīng)時,內(nèi)部硬件自動將IE0或IE1清“0”,控制轉(zhuǎn)到相應(yīng)的中斷入口。沿一、中斷源及相關(guān)的專用寄存器3、串行口控制寄存器SCON
SCON的結(jié)構(gòu)如下圖所示,其中RI/TI是串行口接收/發(fā)送中斷標(biāo)志SCONSM0SM1SM2RENTB8RB8TIRI位地址9F9E9D9C9B9A9998
0:無接收中斷1:有接收中斷0:無發(fā)送中斷1:有發(fā)送中斷在串行口一節(jié)中介紹一、中斷源及相關(guān)的專用寄存器3、串行口控制寄存器SCON
RI接收中斷標(biāo)志。當(dāng)串行口接收完一幀數(shù)據(jù),該標(biāo)志置“1”,CPU響應(yīng)串行口中斷后內(nèi)部硬件不清除,必須通過軟件清“0”。
一、中斷源及相關(guān)的專用寄存器3、串行口控制寄存器SCON
TI
發(fā)送中斷標(biāo)志。當(dāng)串行口發(fā)送完一幀數(shù)據(jù),該標(biāo)志置“1”,CPU響應(yīng)串行口中斷后內(nèi)部硬件不清除,必須通過軟件清“0”。
一、中斷源及相關(guān)的專用寄存器3、串行口控制寄存器SCON注意:RI、TI的中斷入口都是0023H,所以CPU響應(yīng)后轉(zhuǎn)入0023H開始執(zhí)行服務(wù)程序,首先必須判斷是RI中斷還是TI中斷,然后進行相應(yīng)服務(wù)。在返回主程序之前必須用軟件將RI或TI清除,否則會出現(xiàn)一次請求多次響應(yīng)的錯誤。一、中斷源及相關(guān)的專用寄存器4、關(guān)于外部中斷觸發(fā)方式的說明
電平觸發(fā)方式
CPU在每個機器周期的S5P2采樣INT0和INT1的輸入電平,在電平觸發(fā)方式下,單片機中沒有專門的中斷請求標(biāo)志,外部中斷申請觸發(fā)器的狀態(tài)隨著CPU在每個機器周期采樣到的外部中斷輸入線的電平變化而變化,同時單片機響應(yīng)中斷后,也不能自動清除請求信號。一、中斷源及相關(guān)的專用寄存器4、關(guān)于外部中斷觸發(fā)方式的說明對觸發(fā)信號的要求:觸發(fā)信號低電平必須保持足夠長的時間,直到CPU響應(yīng)為止,但持續(xù)時間亦不能太長,在中斷返回之前必須撤去。
電平觸發(fā)方式一、中斷源及相關(guān)的專用寄存器4、關(guān)于外部中斷觸發(fā)方式的說明
電平觸發(fā)方式解決這個問題的方法有兩種:一是用具有相應(yīng)功能的接口芯片,如8255工作在選通輸入方式時,當(dāng)外部的數(shù)據(jù)選通到8255的數(shù)據(jù)輸入寄存器時,INTR變高(如下圖所示),8255向80C51單片機發(fā)中斷請求,當(dāng)單片機讀取8255輸入數(shù)據(jù)寄存器中的內(nèi)容后,INTR自動變低,INTX變高,撤消中斷請求。一、中斷源及相關(guān)的專用寄存器80C514、關(guān)于外部中斷觸發(fā)方式的說明另一種方法是在單片機之外增設(shè)一個請求標(biāo)志(使用觸發(fā)器),如下圖所示,再配合相應(yīng)程序即可。
電平觸發(fā)方式一、中斷源及相關(guān)的專用寄存器80C514、關(guān)于外部中斷觸發(fā)方式的說明
電平觸發(fā)方式
外部設(shè)置標(biāo)志的程序如下:
MAIN:SETBP3.0CLRIT0SETBEX0SETBEAHERE:AJMPHERE
一、中斷源及相關(guān)的專用寄存器
電平觸發(fā)方式4、關(guān)于外部中斷觸發(fā)方式的說明WBINT:CLRP3.0MOVA,#0FFHMOVP1,AMOVA,P1SWAPAMOVP1,ASETBP3.0
RETI
一、中斷源及相關(guān)的專用寄存器4、關(guān)于外部中斷觸發(fā)方式的說明
邊沿觸發(fā)方式
CPU在每個機器周期的S5P2采樣INT0和INT1的輸入電平,如果前一個周期采樣到為高電平,接著的下一個周期采樣到為低電平,則置位中斷請求標(biāo)志IE0或IE1(在TCON中),表示外部中斷源正在向CPU申請中斷,直到該中斷被響應(yīng)后,標(biāo)志IE1或IE0才被硬件清“0”。一、中斷源及相關(guān)的專用寄存器二、80C51單片機對中斷請求的控制1、中斷使能控制通過中斷允許寄存器IE進行兩級控制:總控位EA和各中斷源允許位。IE各位安排如下圖IEEAET2ESET1EX1ET0EX0位地址AFADACABAAA9A80:關(guān)INT0中斷
1:開INT0中斷0:關(guān)T0中斷1:開T0中斷0:關(guān)INT1中斷1:開INT1中斷0:關(guān)T1中斷1:開T1中斷0:關(guān)串行口中斷1:開串行口中斷0:關(guān)T2中斷1:開T2中斷0:關(guān)CPU中斷1:開CPU中斷2、中斷優(yōu)先級控制80C51單片機對中斷優(yōu)先級的控制也分為兩級:第一級由軟件控制,即由中斷優(yōu)先級寄存器IP的某一位狀態(tài)為1或0決定相應(yīng)的中斷源為高優(yōu)先級或低優(yōu)先級。第二級由硬件控制,即由硬件查詢電路決定。二、80C51單片機對中斷請求的控制2、中斷優(yōu)先級控制IP各位的定義如下圖所示二、80C51單片機對中斷請求的控制2、中斷優(yōu)先級控制對于同一優(yōu)先級的各中斷源的優(yōu)先順序,內(nèi)部硬件查詢電路規(guī)定為:INT0T0INT1T1串行口中斷RI/TIT2二、80C51單片機對中斷請求的控制3、中斷系統(tǒng)結(jié)構(gòu)示意圖圖5.7低級中斷請求二、80C51單片機對中斷請求的控制三、80C51單片機對中斷的響應(yīng)1、中斷響應(yīng)的條件單片機在每個機器周期對所有的中斷源進行順序檢測,當(dāng)發(fā)現(xiàn)有中斷源請求,便根據(jù)下列條件決定是否響應(yīng)。
80C51單片機中斷響應(yīng)條件是:中斷源有請求,中斷允許寄存器IE相應(yīng)位置“1”,CPU開中斷(EA=1)且:1、中斷響應(yīng)的條件(1)CPU不在處理同級的或更高優(yōu)先級的中斷;(2)現(xiàn)行的機器周期是所執(zhí)行指令的最后一個機器周期;(3)CPU正在執(zhí)行的指令不是RETI或任何訪問IE/IP的指令。
同時滿足上述三個條件的情況下,80C51單片機才可響應(yīng)中斷源的請求。三、80C51單片機對中斷的響應(yīng)2、中斷響應(yīng)的過程當(dāng)單片機判明有中斷請求,并滿足響應(yīng)條件時,便在下一個機器周期的S1狀態(tài)開始響應(yīng)最高優(yōu)先級的中斷源的請求。在響應(yīng)中斷的過程中,80C51單片機必須做以下三件事:三、80C51單片機對中斷的響應(yīng)2、中斷響應(yīng)的過程(1)
將相應(yīng)的優(yōu)先級狀態(tài)觸發(fā)器置位(指明CPU開始處理的中斷優(yōu)先級別)。(2)清中斷標(biāo)志(TI和RI除外)。(3)
執(zhí)行一個硬件子程序:把中斷的斷點地址,也就是當(dāng)前程序計數(shù)器PC中的內(nèi)容壓入堆棧,將相應(yīng)的中斷服務(wù)程序的入口送給PC。三、80C51單片機對中斷的響應(yīng)3、外部中斷的響應(yīng)時間
80C51單片機在每個機器的S5P2期間對INT0和INT1進行檢測,如果發(fā)現(xiàn)有中斷請求,又能滿足響應(yīng)的條件,便在下一個機器周期的S1狀態(tài)開始應(yīng)答,單片機首先執(zhí)行一個內(nèi)部硬件子程序,這個子程序本身占用兩個機器周期,因此從外部發(fā)出中斷請求信號到執(zhí)行中斷服務(wù)程序的第一條指令至少需要三個完整的機器周期。三、80C51單片機對中斷的響應(yīng)3、外部中斷的響應(yīng)時間討論:(1)
如果現(xiàn)行的機器周期是本指令的最后一個周期,又無前述的其他響應(yīng)條件所阻止,CPU馬上響應(yīng),需要三個機器周期。三、80C51單片機對中斷的響應(yīng)(2)
如果現(xiàn)行的機器周期不是本指令的最后一個機器周期,則可能會增加1~3個周期,因為80C51單片機指令最長執(zhí)行時間為4個機器周期,這樣響應(yīng)時間為4~6個機器周期。3、外部中斷的響應(yīng)時間討論:三、80C51單片機對中斷的響應(yīng)3、外部中斷的響應(yīng)時間(3)
如果CPU正在執(zhí)行的是RETI或是訪問IE、IP寄存器的指令,則單片機需要再執(zhí)行一條其他指令才會響應(yīng)中斷。當(dāng)然這條指令可以是1~4個機器周期,所以這種情況下,可能會增加5個機器周期。討論:三、80C51單片機對中斷的響應(yīng)
所以,一個單級外部中斷,單片機響應(yīng)時間為3~8個機器周期,如果fosc=6MHz,則響應(yīng)時間為6~16us。3、外部中斷的響應(yīng)時間三、80C51單片機對中斷的響應(yīng)§3.3.280C51單片機的中斷系統(tǒng)應(yīng)用舉例例1利用80C51單片機的外部中斷實現(xiàn)系統(tǒng)的單步操作。解:一般單片機的開發(fā)系統(tǒng)都有單步運行用戶程序的功能。在調(diào)試程序時,每按一次單步執(zhí)行鍵,CPU就執(zhí)行一條用戶程序的指令,之后進入暫停等待狀態(tài),必要時還顯示累加器中的內(nèi)容和下條指令的地址。這是利用單片機的外部中斷,配上簡單硬件(如下圖),再經(jīng)適當(dāng)編程實現(xiàn)的。例1下圖中,INT0設(shè)為電平觸發(fā)方式,INT0引腳平時為低電平,單片機處于中斷服務(wù)中。用戶一次按鍵出現(xiàn)一個正脈沖。CPU在中斷服務(wù)程序中檢測到一個正脈沖便返回主程序執(zhí)行一條用戶程序指令,又得響應(yīng)中斷,等待用戶按鍵,實現(xiàn)了單步操作。利用80C51單片機的外部中斷實現(xiàn)系統(tǒng)的單步操作。例1圖5-8利用80C51單片機的外部中斷實現(xiàn)系統(tǒng)的單步操作。80C51例1初始化程序為:
SETB
EA
;CPU開中斷SETB
PX0
;置為高中斷優(yōu)先級CLR
IT0
;設(shè)INT0為電平觸發(fā)SETB
EX0
;允許INT0中斷利用80C51單片機的外部中斷實現(xiàn)系統(tǒng)的單步操作。例1中斷服務(wù)程序
:┋;HIGH:JNBP3.2,HIGH;等待引腳為高電平LOW:JB
P3.2,LOW;再等待引腳為低電平RETI
;中斷返回顯示必要的數(shù)據(jù)利用80C51單片機的外部中斷實現(xiàn)系統(tǒng)的單步操作。例2利用80C51將開關(guān)所設(shè)置的數(shù)據(jù)讀入后驅(qū)動發(fā)光二極管。如下圖所示,將P1口的P1.7~P1.4設(shè)置成輸入,P1.3~P1.0設(shè)置成輸出?,F(xiàn)要求利用80C51將開關(guān)所設(shè)置的數(shù)據(jù)讀入后分別通過P1.3~P1.0輸出,驅(qū)動發(fā)光二極管,以檢查P1.7~P1.4輸入電平的情況。要求采用外中斷方式,每邊沿觸發(fā)一次,完成一次讀、寫任務(wù)。例2圖5-9利用80C51將開關(guān)所設(shè)置的數(shù)據(jù)讀入后驅(qū)動發(fā)光二極管。80C51例2解:由圖可見,中斷請求從INT0輸入,并采用了去抖動電路。當(dāng)P1.3~P1.0的任何一位輸出為1時,就會使相應(yīng)的發(fā)光二極管發(fā)光。程序清單如下:
ORG0000HAJMPGAFN
;轉(zhuǎn)向主程序
ORG0003H
;外部中斷0入口地址AJMPPAUSEO
;轉(zhuǎn)向中斷服務(wù)程序利用80C51將開關(guān)所設(shè)置的數(shù)據(jù)讀入后驅(qū)動發(fā)光二極管。例2主程序:
ORG1100HGAFN:SETBEA
;允許中斷SETBIT0
;選擇邊沿觸發(fā)方式SETBEX0
;允許外部中斷0中斷DEFG:AJMPDEFG
;等待中斷利用80C51將開關(guān)所設(shè)置的數(shù)據(jù)讀入后驅(qū)動發(fā)光二極管。例2中斷服務(wù)程序:
ORG1200HPAUSEO:MOVA,#0FFH
;設(shè)P1為輸入狀態(tài)MOVP1,A
MOVA,P1
;讀開關(guān)數(shù)據(jù)SWAPA
;(A)的高4位與低4位內(nèi)容交換MOVP1,A
;驅(qū)動LED發(fā)光RETI利用80C51將開關(guān)所設(shè)置的數(shù)據(jù)讀入后驅(qū)動發(fā)光二極管。例3利用查詢法擴展外部中斷源。如果80C51單片機應(yīng)用系統(tǒng)需要的外部中斷源較多時,可以采用查詢法來擴展外部中斷源。下圖為支持電路。80C51例3利用查詢法擴展外部中斷源解:XI1~XI4經(jīng)由4個OC門電路組成“線或”電路,“線或”后接到INT1端。這就是說,如果在4個外中斷源XI1~XI4中有1個或幾個出現(xiàn)高電平,則“線或”輸出為低電平,從而引起INT1中斷。由于XI1~XI4還分別與P1.0~P1.3相連,因此通過查詢P1.0~P1.3便可識別中斷源。
例3利用查詢法擴展外部中斷源EXINT:PUSHPSWPUSHACC下面給出INT1的中斷服務(wù)程序:JBP1.0,SAV1JBP1.1,SAV2JBP1.2,SAV3JBP1.3,SAV4DISUB:POPACCPOPPSWRETI例3利用查詢法擴展外部中斷源SAV1:…AJMPDISUBSAV2:…AJMPDISUBSAV3:…AJMPDISUBSAV4:…AJMPDISUB例4利用中斷實現(xiàn)多個故障顯示的電路。下圖為利用中斷實現(xiàn)多個故障顯示的電路。當(dāng)系統(tǒng)無故障時,4個故障源輸入端全為低電平,指示燈全熄滅,只有當(dāng)某部分出現(xiàn)故障,其相應(yīng)的輸入線才由低電平變?yōu)楦唠娖?,從而引?0C51中斷。中斷服務(wù)的任務(wù)就是判定故障源,并使相應(yīng)的LED顯示。例4利用中斷實現(xiàn)多個故障顯示的電路。圖5-1180C51例4利用中斷實現(xiàn)多個故障顯示的電路。解:程序清單如下:ORG0000HAJMP
GAFN
;轉(zhuǎn)向主程序ORG
0003HAJMP
PAUSEO
;轉(zhuǎn)中斷服務(wù)程序例4GAFN:ANL
P1,#55H
;全部指示燈滅,并為SETB
IT0
;選擇為邊沿方式SETB
EA
;CPU開中斷讀入故障信號作準(zhǔn)備SETB
EX0
;允許INT0中斷利用中斷實現(xiàn)多個故障顯示的電路。例4LOOP1:MOV
A,P1ANL
A,#55H
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 南通智能裝備制造基地建設(shè)合作合同
- 報警器安裝施工合同
- 個人居間合同
- 借款合同抵押與擔(dān)保
- 民間借貸抵押合同年
- 冬季水果供應(yīng)鏈管理服務(wù)合同
- 森林資源培育與利用合作合同
- 沈陽科技學(xué)院《推銷理論與實務(wù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 廣州城市理工學(xué)院《科研實訓(xùn)》2023-2024學(xué)年第二學(xué)期期末試卷
- 雙手向后拋實心球的練習(xí) 教學(xué)設(shè)計-2023-2024學(xué)年高一上學(xué)期體育與健康人教版必修第一冊
- (完整文本版)日文履歷書(文本テンプレート)
- 110kV變電站專項電氣試驗及調(diào)試方案
- 2023三年級語文下冊 第八單元 語文園地配套教案 新人教版
- 全國川教版信息技術(shù)八年級下冊第一單元第1節(jié) 《設(shè)計創(chuàng)意掛件》教學(xué)設(shè)計
- 2024時事政治必考試題庫(預(yù)熱題)
- 品質(zhì)部組織架構(gòu)圖構(gòu)
- 《幼兒園性教育》
- (高清版)TDT 1040-2013 土地整治項目制圖規(guī)范
- 《漏》公開課一等獎創(chuàng)新教案設(shè)計
- 暖氣維修常識知識培訓(xùn)課件
- 兒童合理用藥知識培訓(xùn)課件
評論
0/150
提交評論