版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第五章中斷系統(tǒng)§5.1微機的輸入/輸出方式§5.2中斷的概念§5.389C51中斷系統(tǒng)結(jié)構(gòu)及中斷控制§5.4中斷處理過程§5.5外部中斷擴展方法§5.6中斷程序舉例§5.7思考題與習題返回2/5/2023§5.1微機的輸入/輸出方式§5.1.1無條件傳送方式一方永遠“準備好”,另一方隨時傳送。外部電子硬盤、GPRS模塊等?!?.1.2查詢傳送方式通過查詢外設(shè)的狀態(tài)信息,確信外設(shè)已處于“準備好”,計算機才發(fā)出訪問外設(shè)的指令,實現(xiàn)數(shù)據(jù)的傳送。通用性好,可靠,速度慢。儀表用打印機?!?.1.3直接存儲器存?。―MA)方式CPU讓出數(shù)據(jù)總線(懸浮狀態(tài)),使外設(shè)和存儲器之間直接傳送(不通過CPU)數(shù)據(jù)的方式。適用于外設(shè)和存儲器之間有大量的數(shù)據(jù)需要傳送及外設(shè)工作速度很快的情況。硬盤。返回2/5/2023外設(shè)有緊急事件要求被服務(wù)。CPU決定是否為其服務(wù)。如為其服務(wù),服務(wù)結(jié)束后返回到被中止的地方繼續(xù)原來的工作。§5.1.4中斷傳送方式返回主程序響應(yīng)中斷請求中斷服務(wù)程序返回主程序繼續(xù)執(zhí)行主程序斷點中斷請求2/5/2023§5.2中斷的概念一、中斷系統(tǒng):實現(xiàn)中斷功能的部件稱為中斷系統(tǒng),又稱中斷機構(gòu)。二、中斷源:產(chǎn)生中斷的請求源稱為中斷源。三、中斷請求:中斷源向CPU提出的處理請求,稱為中斷請求或中斷申請。四、中斷響應(yīng)過程:CPU暫時中止自身的事物,轉(zhuǎn)去處理事件的過程,稱為CPU的中斷響應(yīng)過程。五、中斷服務(wù):對事件的整個處理過程,稱為中斷服務(wù)(或中斷處理)。六、中斷返回:中斷處理完畢,返回到原來被中止的地方,稱為中斷返回。七、中斷方式的特點1、消除了CPU在查詢方式中的等待現(xiàn)象,大大提高了CPU的工作效率。2、將從現(xiàn)場采集的數(shù)據(jù)通過中斷方式及時傳送給CPU,經(jīng)過處理后可立即作出反應(yīng),實現(xiàn)現(xiàn)場控制。采用查詢方式很難做到及時采集,實時控制。返回2/5/2023§5.389C51中斷系統(tǒng)結(jié)構(gòu)及中斷控制§5.3.189C51中斷系統(tǒng)結(jié)構(gòu)
一、中斷系統(tǒng)結(jié)構(gòu)返回P.1152/5/2023二、中斷技術(shù)實現(xiàn)的功能1、分時操作CPU可以使多個外設(shè)同時工作,并分時為各外設(shè)提供服務(wù),從而提高了CPU的利用率和輸入和輸出的速度。2、實時處理當計算機用于實時控制時,請求CPU提供服務(wù)是隨機發(fā)生的。有了中斷系統(tǒng),CPU就可以立即響應(yīng)并加以處理。3、故障處理計算機在運行時往往會出現(xiàn)一些故障,如斷電、存儲器奇偶校驗出錯、運算溢出等。返回2/5/2023§5.3.289C51中斷源返回1、INT0:外部中斷0請求,低電平有效。通過P3.2引腳輸入。2、INT1:外部中斷1請求,低電平有效。通過P3.3引腳輸入。3、T0:定時/計數(shù)器0溢出中斷請求。計數(shù)功能通過P3.4引腳輸入。4、T1:定時/計數(shù)器1溢出中斷請求。計數(shù)功能通過P3.5引腳輸入。5、TX/RX:串行口中斷請求。當串行口完成一幀數(shù)據(jù)的發(fā)送完或接收到時,請求中斷。串行接收通過P3.0引腳輸入,串行發(fā)送通過P3.1引腳輸出。89C51中斷系統(tǒng)的五個中斷源2/5/2023§5.3.3中斷控制一、中斷請求標志1、定時器控制寄存器TCON中的中斷標志位返回1、TF1:定時器/計數(shù)器T1溢出中斷請求標志位。
89C51單片機定時器采用加計數(shù),當T1計到0時,計數(shù)器最高位產(chǎn)生溢出,由硬件使TF1置1,并向CPU發(fā)出中斷請求。當CPU響應(yīng)中斷時,硬件自動對TF1清0。2、TF0:定時器/計數(shù)器T0溢出中斷請求標志位。含義與TF1類同。3、IE1:外部中斷INT1的中斷請求標志。當檢測到INT1引腳上存在有效的中斷請求信號時,由硬件使IE1置1,并向CPU發(fā)出中斷請求。當CPU響應(yīng)中斷時,硬件自動對IE1清0。4、IE0:外部中斷INT0的中斷請求標志。其含義與IE1類同。TF1TF0IE1IT1IE0IT0TCON(88H)8FH8EH8DH8CH8BH8AH89H88HTR1TR02/5/20232、串行口控制寄存器SCON中的中斷標志位TIRI
SCON(98H)9FH9EH9DH9CH9BH9AH99H98H1、TI:串行口發(fā)送中斷請求標志。
CPU將一個數(shù)據(jù)寫入發(fā)送緩沖器SBUF時,就啟動發(fā)送。每發(fā)送完一幀串行數(shù)據(jù)后,硬件置位TI。但CPU響應(yīng)中斷時,并不清除TI,必須在中斷服務(wù)程序中由軟件對TI清0。2、RI:串行口接收中斷請求標志。在串行口允許接收時,每接收到一個串行幀,硬件置位RI。同樣,CPU響應(yīng)中斷時不會清除RI,必須在中斷服務(wù)程序中由軟件對RI清0。2/5/2023二、中斷允許控制
1、中斷允許寄存器IE的格式。返回EAESET1EX1ET0EX0
IE(A8H)AFHAEHADHACHABHAAHA9HA8H①EA—中斷允許總控制位。
EA=0,屏蔽所有的中斷請求;
EA=1,CPU開放中斷。對各中斷源的中斷請求是否允許,還要取決于各中斷源的中斷允許控制位的狀態(tài)。這就是所謂的兩級控制。②ES—串行口中斷允許位。
ES=0,禁止串行口中斷;ES=1,允許串行口中斷。③ET1—定時器/計數(shù)器T1的溢出中斷允許位。
ET1=0,禁止T1中斷;ET1=1,允許T1中斷。④EX1—外部中斷1的溢出中斷允許位。
EX1=0,禁止外部中斷1中斷;EX1=1,允許外部中斷1中斷。⑤ET0—定時器/計數(shù)器T0的溢出中斷允許位。
ET0=0,禁止T0中斷;
ET0=1,允許T0中斷。⑥EX0—外部中斷0的溢出中斷允許位。
EX0=0,禁止外部中斷0中斷;
EX0=1,允許外部中斷0中斷。2/5/2023例5-1:假設(shè)允許片內(nèi)定時器/計數(shù)器中斷,禁止其他中斷。試根據(jù)假設(shè)條件設(shè)置IE的相應(yīng)值。解:(IE)=10001010B=8AH(a)用字節(jié)操作指令MOVIE,#8AH;或MOVA8H,#8AH;(b)用位操作指令SETBET0;定時器/計數(shù)器0允許中斷SETBET1;定時器/計數(shù)器1允許中斷SETBEA;CPU開中斷此時,沒有禁止其他中斷!返回2/5/2023三、中斷優(yōu)先級控制1、89C51的中斷優(yōu)先級89C51有高、低兩個中斷優(yōu)先級。每個中斷請求源均可編程為優(yōu)先級中斷。中斷系統(tǒng)中有兩個不可尋址的“優(yōu)先級生效”觸發(fā)器,分別指出CPU正在執(zhí)行的高、低優(yōu)先級的中斷服務(wù)程序。當其為1時則分別屏蔽所有的同級和低級中斷請求。返回PSPT1PX1PT0PX0IP(B8H)
BCHBBHBAHB9HB8HPS—串行口中斷優(yōu)先級控制位。PT1—T1中斷優(yōu)先級控制位。PT0—T0中斷優(yōu)先級控制位。PX1—INT1中斷優(yōu)先級控制位。PX0—INT0中斷優(yōu)先級控制位。若某控制位為1,則相應(yīng)的中斷源規(guī)定為高級中斷;反之,為0,則相應(yīng)的中斷源規(guī)定為低級中斷。2/5/20232、中斷優(yōu)先級排列順序當同時接收到幾個同一優(yōu)先級的中斷請求時,響應(yīng)哪個中斷源則取決于內(nèi)部硬件查詢順序。其優(yōu)先級順序排列如圖所示。就是IP從右到左的順序。返回中斷源 同級內(nèi)的中斷優(yōu)先級外部中斷0中斷
高級定時器/計數(shù)器T0溢出中斷外部中斷1定時器/計數(shù)器T1溢出中斷串行口中斷
低級2/5/20233、中斷優(yōu)先級控制實現(xiàn)的功能(1)按內(nèi)部查詢順序排隊當數(shù)個中斷源同時向CPU發(fā)出中斷請求時,CPU根據(jù)設(shè)計者事先確定的中斷源順序號的次序,依次響應(yīng)其中斷請求。(2)實現(xiàn)中斷嵌套當CPU正在處理一個中斷請求時,又出現(xiàn)了另一個優(yōu)先級比它高的中斷請求,這時,CPU就暫時中止執(zhí)行對原來優(yōu)先級較低的中斷源的服務(wù)程序,保護當前斷點,轉(zhuǎn)去響應(yīng)優(yōu)先級更高的中斷請求。待服務(wù)結(jié)束,再繼續(xù)執(zhí)行原來較低級的中斷服務(wù)程序。該過程稱為中斷嵌套。該中斷系統(tǒng)稱為多級中斷系統(tǒng)。返回執(zhí)行主程序低級中斷請求響應(yīng)低級中斷請求執(zhí)行低級中斷服務(wù)程序高級中斷請求響應(yīng)高級中斷請求執(zhí)行高級中斷服務(wù)程序返回低級中斷程序返回主程序2/5/2023例5-2:設(shè)8031的片外中斷為高優(yōu)先級,片內(nèi)中斷為低優(yōu)先級。設(shè)置IP相應(yīng)值。解:(IP)=00000101B=05H(a)用字節(jié)操作指令
MOVIP,#05H;或MOV0B8H,#05H;(b)用為操作指令
SETBPX0SETBPX1CLRPSCLRPT0CLRPT1返回2/5/2023§5.4中斷處理過程
§5.4.1中斷處理過程的三個階段中斷處理過程分為:中斷響應(yīng)中斷處理中斷返回
保護現(xiàn)場為外設(shè)服務(wù)恢復(fù)現(xiàn)場主程序響應(yīng)中斷NKN+mK+1中斷返回中斷處理返回2/5/2023§5.4.2中斷響應(yīng)一、中斷響應(yīng)條件(同時滿足)①有中斷源發(fā)出中斷請求。②中斷總允許位EA=1,即CPU中斷。③申請中斷的中斷源的中斷允許位為1,即中斷沒有被屏蔽。④無同級或更高級中斷正在被服務(wù)。⑤當前的指令周期已經(jīng)結(jié)束。⑥若現(xiàn)行指令為RETI或是訪問IE或IP指令時,該指令以及緊接著的另一條指令已執(zhí)行完。二、中斷響應(yīng)時間CPU不是在任何情況下都對中斷請求予以響應(yīng),而不同的情況下對中斷響應(yīng)的時間是不同的。最短的響應(yīng)時間為3個機器周期。若中斷系統(tǒng)只有一個中斷源,則響應(yīng)時間為3~8個機器周期之間。如在乘除法指令之后進入中斷。
RETI(2T)+MULAB(4T)+進入中斷的LJMP(2T)=8T對于受阻的中斷響應(yīng),則響應(yīng)時間會更長一些,如正在執(zhí)行高級或同級中斷。返回2/5/2023二、中斷響應(yīng)操作過程1、中斷響應(yīng)操作過程⑴把當前PC值壓入堆棧,保護斷點。⑵將相應(yīng)的中斷服務(wù)程序的入口地址送入PC。⑶對有些中斷源,CPU會自動清除中斷標志。⑷執(zhí)行中斷服務(wù)程序。⑸執(zhí)行到返回指令RETI,中斷服務(wù)程序結(jié)束,將堆棧內(nèi)容彈出到PC,返回到原來斷點繼續(xù)執(zhí)行。2、各中斷源及其對應(yīng)的矢量地址返回2/5/2023§5.4.3中斷處理二、中斷處理包括的內(nèi)容保護現(xiàn)場:如在中斷服務(wù)程序中要用到PSW、工作寄存器和SFR等寄存器時,則在進入中斷服務(wù)之前應(yīng)將它們的內(nèi)容保護起來,在中斷結(jié)束、執(zhí)行RETI指令前應(yīng)恢復(fù)現(xiàn)場。為中斷源服務(wù):針對中斷源的具體要求進行相應(yīng)的處理。三、編寫中斷服務(wù)程序時的注意問題在中斷矢量地址單元處放一條無條件轉(zhuǎn)移指令,使中斷服務(wù)程序可靈活地安排在64KBROM的任何空間。在中斷服務(wù)程序中,應(yīng)注意用軟件保護現(xiàn)場,以免中斷返回后丟失原來寄存器、累加器中的信息。若要在執(zhí)行當前中斷程序時禁止更高優(yōu)先級中斷,可以先用軟件關(guān)閉CPU中斷或禁止某中斷源中斷,在中斷返回前再開放中斷。返回2/5/2023§5.4.4中斷返回在中斷服務(wù)程序中,最后一條指令必須為中斷返回指令RETI。CPU執(zhí)行該指令時,一方面清除中斷響應(yīng)時所置位的“優(yōu)先級生效”觸發(fā)器,另一方面從當前棧頂彈出斷點地址送入程序計數(shù)器PC,從而返回主程序。注意在中斷服務(wù)程序中,PUSH和POP指令必須成對使用,否則,不能正確返回斷點。返回2/5/2023§5.5外部中斷擴展方法
§5.5.1利用定時器擴展外部中斷源89C51單片機有兩個定時器,具有兩個內(nèi)部中斷標志和外部計數(shù)輸入引腳。當定時器設(shè)置為計數(shù)方式,計數(shù)初值設(shè)置為滿量程FFH時,一旦外部信號從計數(shù)器引腳輸入一個負跳變信號,計數(shù)器加1產(chǎn)生溢出中斷,從而轉(zhuǎn)去處理該外部中斷源的請求。將外部中斷源信號接至T0或T1引腳;該定時器的溢出中斷標志及中斷服務(wù)程序作為擴充外部中斷源的標志和中斷服務(wù)程序。返回2/5/2023§5.5.2中斷加查詢擴展外部中斷源返回INT1INT0P1.3P1.2P1.1P1.089C51裝置1裝置2裝置3裝置4+5V
ORG0003HLJMPINTRPORG 1000HINTRP:PUSHPSW
PUSH AJB P1.0,DV1JB P1.1,DV2JB P1.2,DV3JB P1.3,DV4EXIT:POP A
POPPSWRETIDV1:裝置1的中斷服務(wù)程序
AJMPEXITDV2:
裝置2的中斷服務(wù)程序
AJMPEXITDV3:裝置3的中斷服務(wù)程序
AJMPEXITDV4:裝置4的中斷服務(wù)程序
AJMPEXIT2/5/2023§5.6中斷程序舉例§5.6.1主程序
ORG0000H LJMPMAIN ORG0003H LJMPINT0 ORG000BH LJMPINT0 ORG0013H LJMPT0 ORG001BH LJMPINT1 ORG0023H LJMPTXRX ORG0030HMAIN: MOVSP,#60H LCALLINIT
:返回;中斷初始化,初始IE、IP
=0。設(shè)8031的片外中斷為高優(yōu)先級,片內(nèi)中斷為低優(yōu)先級。設(shè)置IP相應(yīng)值。SETBPX0 ;INT0為高優(yōu)先級SETBPX1 ;INT1為高優(yōu)先級SETBEX0 ;允許INT0中斷SETBEX1 ;允許INT1中斷SETBET0 ;允許T0中斷SETBET1 ;允許T0中斷SETBEA ;允許總中斷{中斷初始化完整的主程序開頭中斷服務(wù)程序起始地址2/5/2023中斷服務(wù)程序編制中的注意事項視需要確定是否保護現(xiàn)場,一般必須。PSW、ACC一般必須保護。用SETRS0換寄存器工作組的方法保護R0~R7。②及時清除那些不能被硬件自動清除的中斷請求標志(RI、TI),以免產(chǎn)生錯誤的中斷。③中斷服務(wù)程序中的壓棧與彈棧指令必須成對使用,以確保中斷服務(wù)程序的正確返回。④應(yīng)盡可能短。返回2/5/2023 如圖所示,將P1口的P1.4~P1.7作為輸入位,P1.0~P1.3作為輸出位。撥動開關(guān)將P1.4~P1.7所設(shè)的數(shù)據(jù)依次通過P1.0~P1.3輸出,驅(qū)動發(fā)光二極管(若輸入為高電平則相應(yīng)的LED亮)。現(xiàn)要求采用中斷邊沿觸發(fā)方式,每中斷一次,完成一次讀/寫操作。返回§5.6.2中斷服務(wù)程序舉例8031
+5V+5V+5V+5V+5V&&12S1P1.7INT0P1.6P1.5P1.4P1.3P1.2P1.1P1.02/5/2023解:如圖所示,采用外部中斷0,中斷申請從INT0輸入,并采用了去抖動電路。當P1.0~P1.3的任何一位輸出為1時,相應(yīng)的發(fā)光二極管就會發(fā)光。當開關(guān)S1閉合時,發(fā)出中斷請求。中斷服務(wù)程序的矢量地址為0003H。源程序如下。取消非門,如何修改程序?源程序如下:
ORG0000H LJMPMAIN;上電,轉(zhuǎn)向主程序 ORG0003H;外部中斷0入口地址 LJMPINT0;轉(zhuǎn)向中斷服務(wù)程序
ORG0030H
;主程序MAIN:SETBEX0
;允許外部中斷0中斷
SETBIT0
;選擇邊沿觸發(fā)方式
SETBEA
;CPU開中斷HERE:SJMPHERE
;等待中斷
ORG0200H
;中斷服務(wù)程序(刪)INT0: MOVA,#0F0H
MOVP1,A
;設(shè)P1.4~P1.7為輸入
MOVA,P1
;取開關(guān)數(shù)
SWAPA
;A的高、低四位互換
MOVP1,A;輸出驅(qū)動LED發(fā)光
RETI
;中斷返回
END
返回2/5/2023§5.7思考題與習題1、什么是中斷和中斷系統(tǒng)?其主要功能是什么?2、試編寫一段對中斷系統(tǒng)初始化的程序,使之允許INT0,INT1,TO,串行口中斷,且使T0中斷為高
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024商標注冊申請代理合同(示范)
- 手外一般護理常規(guī)
- 青少年心理健康與成長培訓
- 電除顫儀護理操作培訓
- 軟癱期的康復(fù)治療
- 《低碳城市蘇湘鄂》課件
- 昆蟲記讀書分享會
- 《體機產(chǎn)品介紹》課件
- 2024貨物出口合同范本
- 制定員工創(chuàng)業(yè)精神激發(fā)的培訓考核試卷
- 立德樹人在初中道德與法治教學中的實踐研究
- 全國導(dǎo)游資格考證(導(dǎo)游業(yè)務(wù)講義)導(dǎo)游實務(wù)篇
- 氟化氫物性數(shù)據(jù)
- 荔枝圖序 馬秀婷課件
- 高一上學期英語期中考試總結(jié)發(fā)言稿整理
- 胃癌病人的護理ppt
- 臨床護理實習帶教思路技巧ppt
- 發(fā)生爐培訓講義
- 廣東開放大學風險投資(本2022春)-形成性考核2答案
- JJG 124-2005 電流表、電壓表、功率表及電阻表檢定規(guī)程-(高清現(xiàn)行)
- 示范區(qū)標識及精神堡壘、文化墻施工方案
評論
0/150
提交評論