微機(jī)原理微型計算機(jī)中斷系統(tǒng)_第1頁
微機(jī)原理微型計算機(jī)中斷系統(tǒng)_第2頁
微機(jī)原理微型計算機(jī)中斷系統(tǒng)_第3頁
微機(jī)原理微型計算機(jī)中斷系統(tǒng)_第4頁
微機(jī)原理微型計算機(jī)中斷系統(tǒng)_第5頁
已閱讀5頁,還剩68頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、1第九章 第九章 微型計算機(jī)中斷系統(tǒng)9-1 概述9-2 可屏蔽中斷處理過程9-3 中斷優(yōu)先級和中斷嵌套9-4 可編程中斷控制器8259A教材第七章內(nèi)容2第九章9-1 概述 一、中斷概念1、中斷思想的提出uCPU與外設(shè)數(shù)據(jù)傳送時的矛盾:高速CPU與慢速外設(shè);u數(shù)據(jù)傳送方式:無條件方式、查詢方式 缺點: 外設(shè)有限制或處理器運行時間極大浪費,工作效率低。 解決辦法: 一方面設(shè)法提高外設(shè)的工作速度; 另一方面提出設(shè)想: 外設(shè)主動提出請求,CPU響應(yīng)處理中斷思想3第九章2、使用中斷的好處u提高效率 CPU在啟動外設(shè)后與外設(shè)同時工作。當(dāng)外設(shè)的數(shù)據(jù)準(zhǔn)備好向CPU發(fā)中斷請求,CPU響應(yīng)處理。CPU可讓多個外設(shè)

2、同時工作,這將加快數(shù)據(jù)傳送速度、提高CPU的效率。u實現(xiàn)實時處理 實時控制時,現(xiàn)場各種信息可隨時發(fā)出中斷請求u故障自行處理 將計算機(jī)在運行的過程中常遇到的意外情況,如:電源突跳,存儲器出錯,運算溢出等設(shè)計成中斷,計算機(jī)可利用中斷系統(tǒng)自行處理或告警。4第九章3、中斷的定義uCPU正常運行程序時,由于CPU的內(nèi)部事件或外設(shè)請求,引起CPU暫時中斷正在運行的程序,轉(zhuǎn)去執(zhí)行相應(yīng)的外設(shè)(或內(nèi)部事件)的服務(wù)程序,程序執(zhí)行完后又返回到原先的程序繼續(xù)執(zhí)行,這一過程稱為中斷。u中斷流程如下頁圖所示5第九章6第九章4、與中斷相關(guān)的基本概念u中斷源u中斷類型號u中斷請求u中斷響應(yīng)u中斷服務(wù)程序u中斷返回u中斷向量u

3、中斷向量表u中斷優(yōu)先級u中斷嵌套u(yù)中斷屏蔽7第九章5、中斷系統(tǒng)的基本功能(1)中斷響應(yīng),中斷服務(wù),中斷返回,中斷屏蔽;(2)中斷優(yōu)先級排隊;(3)中斷嵌套。注意:u 這些功能是由軟件與硬件共同構(gòu)成的系統(tǒng)完成的。u 本章討論與8086/8088CPU相配合的中斷系統(tǒng)8第九章 二、中斷的分類(中斷源的分類)u8086/8088可以處理256種不同的中斷。u兩類:內(nèi)部中斷和外部中斷。u中斷源示意圖如下圖:8259A可屏蔽可屏蔽中斷請求中斷請求中斷邏輯中斷邏輯INTO指令指令I(lǐng)NT n指令指令除法除法出錯出錯單步單步(TF=1)非屏蔽中斷請求非屏蔽中斷請求8086/8088CPUNMIINTR內(nèi)部中斷

4、內(nèi)部中斷外部中斷外部中斷可屏蔽中斷可屏蔽中斷非屏蔽中斷非屏蔽中斷9第九章1、外部中斷(硬件中斷)u不可屏蔽中斷NMI 不能用軟件屏蔽,CPU必須響應(yīng); 上升沿觸發(fā); 中斷的類型號為2。u可屏蔽中斷INTR IF=1,CPU響應(yīng)中斷;IF=0,CPU不響應(yīng); 高電平觸發(fā),高電平維持到CPU響應(yīng)中斷時結(jié)束; 中斷類型號由中斷控制器8259A或硬件電路提供。10第九章2、內(nèi)部中斷(軟件中斷) 由三種情況引起:u由軟中斷指令I(lǐng)NT n引起 INT n指令,類型號n(0-255)。u由CPU運算錯誤引起 除法出錯中斷:類型號0 溢出中斷:類型號4,由INTO指令引起的中斷;11第九章2、內(nèi)部中斷(軟件中

5、斷)(續(xù))u由調(diào)試程序debug設(shè)置的中斷單步中斷: 類型號1,TF=1時產(chǎn)生(當(dāng)前指令需執(zhí)行完); Debug狀態(tài)下的T命令執(zhí)行時產(chǎn)生;斷點中斷: 類型號3,INT 3指令引起的中斷,屬于軟件中斷 Debug狀態(tài)下由G命令設(shè)置,相當(dāng)于是在程序的某個位置設(shè)置了一條INT 3 。12第九章u引腳 INTR、INTA#、NMIu指令 INT n、INTO、IRET三、與中斷有關(guān)的引腳和指令13第九章 不同類型的中斷處理過程略有不同,本節(jié)所介紹的內(nèi)容主要針對可屏蔽中斷的處理過程。 可屏蔽中斷處理過程步驟:u中斷請求u中斷響應(yīng)u保護(hù)現(xiàn)場u轉(zhuǎn)入執(zhí)行中斷服務(wù)子程序u恢復(fù)現(xiàn)場u中斷返回9-2 可屏蔽中斷處理

6、過程14第九章1、CPU響應(yīng)可屏蔽中斷的條件(1)外設(shè)提出中斷申請;(2)本中斷未被中斷控制器屏蔽;(3)本中斷優(yōu)先級最高;(4)CPU允許中斷;一、CPU響應(yīng)可屏蔽中斷過程15第九章2、CPU響應(yīng)可屏蔽中斷的過程uCPU在每條指令的最后一個T周期,檢測INTR,若為高電平,且IF=1,則CPU響應(yīng)中斷。u響應(yīng)過程中自動依次完成以下工作:CPU向外設(shè)發(fā)兩個/INTA ,外設(shè)收到第2個/INTA 后,立即往數(shù)據(jù)線上給CPU送中斷類型號。CPU從數(shù)據(jù)線上讀取中斷類型號;將PSW入棧; 保護(hù)現(xiàn)行程序運行結(jié)果產(chǎn)生的狀態(tài)和控制標(biāo)志。CPU響應(yīng)中斷的過程16第九章關(guān)中斷(清IF和TF) 為了防止在進(jìn)入中斷

7、處理,但并未執(zhí)行中斷程序這段時間內(nèi)又響應(yīng)新的中斷。保護(hù)斷點 將當(dāng)前指令的下一條指令的CS和IP壓入堆棧,使中斷處理完成后能正確的回到原程序繼續(xù)執(zhí)行。轉(zhuǎn)入相應(yīng)的中斷服務(wù)子程序;中斷返回 從堆棧中彈出斷點的地址和PSW的內(nèi)容,返回主程序的斷點處,繼續(xù)執(zhí)行主程序。CPU響應(yīng)中斷的過程17第九章u確定中斷源的方法:查詢中斷和矢量中斷。查詢中斷:一種軟件查詢法,中斷響應(yīng)后,啟動中斷查詢程序,依次查詢哪個外設(shè)申請了中斷,檢測以后,轉(zhuǎn)到此設(shè)備預(yù)先設(shè)置的中斷服務(wù)程序處執(zhí)行。這種中斷處理過程稱為查詢中斷。 特點:速度慢,且后檢測的設(shè)備服務(wù)機(jī)會少。矢量中斷:中斷響應(yīng)后,外設(shè)中斷接口電路將中斷類型號送給CPU,CP

8、U根據(jù)中斷類型號找到對應(yīng)的中斷服務(wù)程序的入口地址送入CS或IP,然后轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序處執(zhí)行。這種中斷處理過程稱為矢量中斷,也叫向量中斷。 特點:速度快。二、中斷向量表18第九章u中斷類型號n與中斷向量的地址關(guān)系:n4中斷向量地址u(4n 和4n+1)IP (4n+2和4n+3)CS1、中斷向量表(又稱:中斷服務(wù)程序的入口地址表)19第九章【例】某中斷的類型號為68H,中斷的操作過程如下: 步驟分析:取中斷類型號68H;計算中斷向量地址68H*4=1A0H;取中斷入口地址的偏移地址送入IP,段地址送入CS;轉(zhuǎn)向中斷服務(wù)程序;中斷返回到INT 68H指令的下一條指令。20第九章類型類型69H

9、中斷向量中斷向量A0002050類型類型67H中斷向量中斷向量中斷處理程序中斷處理程序STIPUSH DS.IRET2050INT 68HMOV AX,00:19C0:1A00:1A20:1A4A000IPCSA000:2050向量地址向量地址=68H4=1A0H中斷操作過程圖示21第九章2、中斷向量(中斷入口地址)的設(shè)置 IBM PC對256種中斷類型已經(jīng)進(jìn)行地址分配,附錄D中給出中斷向量表。u概念:將中斷服務(wù)程序的入口地址置入中斷類型號所對應(yīng)的中斷向量表中。u兩種方法:用指令設(shè)置;用DOS功能調(diào)用設(shè)置。22第九章用指令設(shè)置中斷服務(wù)程序的入口地址表MOV AX,0MOV ES,AXMOV B

10、X,N*4MOV AX,OFFSET INTRADMOV ES:BX,AXMOV AX,SEG INTRADMOV ES:BX+2,AX STI .INTRAD:PUSH AX . IRETPUSH DSMOV AX,0MOV DS,AXMOV BX,N*4MOV AX,OFFSET INTRADMOV BX,AXMOV AX,SEG INTRADMOV BX+2,AXPOP DS STI .INTRAD:PUSH AX . IRET23第九章 利用DOS功能調(diào)用設(shè)置中斷服務(wù)程序的入口地址表 24第九章 PUSH DS MOV AX,SEG INTRAD; MOV DS,AX MOV DX,O

11、FFSET INTRAD MOV AL,N MOV AH,25H INT 21H POP DS 利用DOS功能調(diào)用設(shè)置中斷服務(wù)程序的入口地址表 25第九章3、中斷類型號的獲取 矢量中斷中,中斷入口地址依賴中斷類型號,中斷型號獲取方法:u對于專用中斷:除法出錯、單步中斷、不可屏蔽中斷、斷點中斷和溢出中斷,由CPU分別提供中斷類型號04;u對于用戶自己確定的軟件中斷INT n,類型號由n決定;u對于INTR引腳上的中斷:由硬件電路設(shè)計產(chǎn)生中斷類型號。可用8259A獲取中斷類型號。26第九章三、中斷服務(wù)子程序1、中斷服務(wù)子程序特點為”遠(yuǎn)”過程(類型為FAR) 要用IRET指令返回2、中斷服務(wù)子程序一

12、般結(jié)構(gòu)形式保護(hù)現(xiàn)場(PUSH regs) 開中斷(STI) 進(jìn)行中斷處理 關(guān)中斷(CLI) 恢復(fù)現(xiàn)場(POP regs) 中斷返回(IRET) 27第九章【總結(jié)】中斷處理過程中軟件及硬件各自完成的功能歸納1.主程序中的初始化 (1)設(shè)置中斷向量; (2)設(shè)置8259的中斷屏蔽寄存器的中斷屏蔽位; (3)設(shè)置CPU中斷允許標(biāo)志位IF(開中斷STI);2.中斷服務(wù)子程序28第九章 3.硬件(外設(shè)接口)和CPU自動完成 (1)外設(shè)向CPU INTR端發(fā)出請求; (2)CPU發(fā)兩個/INTA給外設(shè); (3)CPU取中斷類型號 n; (4)CPU自動將PSW,CS,IP內(nèi)容壓入堆棧; (5)清除IF,T

13、F,禁止外部中斷和單步中斷; (6)從中斷向量表中取(4n)地址中內(nèi)容IP, 取(4n+2)地址中內(nèi)容CS; (7)轉(zhuǎn)向中斷服務(wù)子程序。29第九章設(shè)計一個能接收一個中斷源的中斷系統(tǒng),用8088CPU?!纠?0第九章 主程序初始化將中斷服務(wù)程序的入口地址裝入中斷向量表 PUSH DSMOV DX,OFFSET INTER1 MOV AX,SEG INTER1 MOV DS,AXMOV AL,80HMOV AH,25HINT 21HPOP DSSTI可屏蔽中斷處理程序INTER1 PROC FARPUSH AX ;保護(hù)現(xiàn)場STI ;開中斷以便允許 ;多重中斷 . . ;中斷處理CLI ;關(guān)中斷P

14、OP AX ;恢復(fù)現(xiàn)場 IRET ;返回主程序INTER1 ENDP 31第九章 實際系統(tǒng)還有兩個問題需要解決:u多個中斷源同時向CPU請求中斷,CPU應(yīng)該響應(yīng)哪個中斷源的請求呢?u當(dāng)CPU正在處理某個中斷,且IF1,這時若有新的中斷請求產(chǎn)生,CPU要不要響應(yīng)呢?以什么原則去響應(yīng)?9-3 中斷優(yōu)先級和中斷嵌套32第九章1、不同級別中斷優(yōu)先級順序IBM PC機(jī)中,優(yōu)先級從高到低的順序如下:(1)內(nèi)部中斷(除法錯,INTO,INT n)(2)NMI(3)INTR(4)單步中斷一、中斷優(yōu)先級 一般原則: 級別不同的中斷同時發(fā)生時,由高到低依次處理。 級別相同的中斷同時發(fā)生時,按事先設(shè)定的次序處理33

15、第九章2、可屏蔽中斷的優(yōu)先級設(shè)定方法u軟件查詢中斷優(yōu)先級 查詢程序的次序,決定了外設(shè)優(yōu)先級別的高低,先測試的中斷源優(yōu)先級別最高,依次下降。u硬件查詢優(yōu)先方式菊花鏈法 u矢量中斷優(yōu)先級 一般是采用中斷優(yōu)先級控制器(如8259A)。 34第九章可屏蔽中斷的優(yōu)先級設(shè)定軟件查詢中斷優(yōu)先級中斷請求寄存器PORTINTR0INTR1INTR2INTR3INTR4INTR5INTR6INTR7CPUINTR緩沖器.D7D0譯碼135第九章軟件查詢中斷優(yōu)先級 0號申請中斷 1號申請中斷保護(hù)現(xiàn)場中斷處理程序.恢復(fù)現(xiàn)場中斷返回0號外設(shè)服務(wù)程序1號外設(shè)服務(wù)程序YYNN中斷服務(wù)子程序處理流程36第九章u移位法 IN

16、AL,PORT RCR AL,1 JC INTR0 RCR AL,1 JC INTR1 INTR0: INTR1:軟件查詢中斷優(yōu)先級中斷服務(wù)子程序片斷u測試法 IN AL,PORT TEST AL,01H JNZ INTR0 TEST AL,02H JNZ INTR1 INTR0: INTR1:37第九章可屏蔽中斷的優(yōu)先級設(shè)定硬件查詢優(yōu)先方式(菊花鏈法)38第九章矢量中斷優(yōu)先權(quán)控制器的原理圖可屏蔽中斷的優(yōu)先級設(shè)定矢量中斷優(yōu)先級中斷服務(wù)寄存器 中斷類型寄存器優(yōu)先級管理邏輯 中斷請求寄存器 中斷屏蔽寄存器 由中斷請求決定IR0IR1IR2IR739第九章u中斷嵌套:當(dāng)CPU正在處理中斷時,有更高優(yōu)

17、先級別的中斷請求,并且IF1,CPU能響應(yīng)更高級別的中斷請求,而屏蔽掉低級的中斷請求u以8259A為例介紹,8259A在完全嵌套優(yōu)先級工作方式下,中斷優(yōu)先級的順序為:IR0、IR1IR7。 二、中斷嵌套40第九章下面是一個中斷嵌套的例子41第九章【說明】u主程序必須有開中斷指令,使IF1,才能響應(yīng)中斷。進(jìn)入中斷處理程序時,系統(tǒng)自動關(guān)中斷,在中斷服務(wù)程序中必須有STI開中斷指令,這樣才可以允許其它中斷進(jìn)入實現(xiàn)中斷嵌套。u中斷結(jié)束返回前要有EOI中斷結(jié)束命令,用來清除中斷服務(wù)寄存器中的對應(yīng)位,允許低級中斷進(jìn)入。最后有中斷返回指令I(lǐng)RET,使程序返回到被中斷的程序的斷點處。42第九章u中斷處理程序中

18、如果沒有STI指令,中斷處理中不會受其它中斷影響,在執(zhí)行IRET指令后,因為自動返回中斷斷點及中斷標(biāo)志寄存器PSW的內(nèi)容,當(dāng)IF的值為1,系統(tǒng)便能開放中斷。u一個正在執(zhí)行的中斷處理程序,中斷服務(wù)寄存器相應(yīng)位置“1”,在開中斷(IF1)的情況下,能夠被優(yōu)先級高于它的中斷源中斷。但如果中斷處理中提前發(fā)出了EOI命令,則清除了正在執(zhí)行的中斷服務(wù),中斷服務(wù)寄存器置“1”位被清0,允許響應(yīng)同級或低級的中斷申請。但這種情況要盡量避免,防止重復(fù)嵌套,使優(yōu)先級高的中斷不能及時服務(wù),因此一般EOI結(jié)束命令放在中斷返回指令I(lǐng)RET前面。43第九章 設(shè)系統(tǒng)有兩個外部中斷源,類型號分別是40H、41H。試用鏈?zhǔn)浇Y(jié)構(gòu)實

19、現(xiàn)8088中斷系統(tǒng)的擴(kuò)展。要求: a.畫出實際電路。 b.編寫程序,實現(xiàn)不同的中斷能轉(zhuǎn)入相應(yīng)的服務(wù)程序入口處?!纠?4第九章解:a.畫出實際電路45第九章. MOV DX,0FFSET INTER1 MOV AX,SEG INTER1 MOV DS,AX MOV AL,40H MOV AH,25H INT 21H.b.主程序 MOV DX,0FFSET INTER2 MOV AX,SEG INTER2 MOV DS,AX MOV AL,41H MOV AH,25H INT 21H 46第九章中斷服務(wù)程序INTER1 PROC FAR PUSH AX ;保護(hù)現(xiàn)場 STI ;開中斷,以實現(xiàn)多重中

20、斷 . POP AX ;恢復(fù)現(xiàn)場 IRETINTER1 ENDPINTER2 PROC FAR PUSH AX ;保護(hù)現(xiàn)場 STI ;開中斷,以實現(xiàn)多重中斷 . POP AX ;恢復(fù)現(xiàn)場 IRETINTER2 ENDP47第九章主要內(nèi)容: 引腳和功能 內(nèi)部結(jié)構(gòu) 8259A的中斷管理方式 8259A的編程方式 8259A的中斷級聯(lián)及舉例9-4 可編程中斷控制器8259A48第九章1、引腳一、引腳和功能49第九章(2)每一級中斷可由程序單獨屏蔽或允許;(3)可提供中斷類型號傳送給CPU;(4)可以通過編程選擇多種不同工作方式。2、主要功能(1)具有8級優(yōu)先級控制,通過級聯(lián)可以擴(kuò)展到64級優(yōu)先級控制

21、;50第九章二、內(nèi)部結(jié)構(gòu)級聯(lián)級聯(lián)緩沖器緩沖器/比較器比較器 控制電路控制電路數(shù)據(jù)總線數(shù)據(jù)總線緩沖器緩沖器 讀讀/寫寫控制電路控制電路 中斷服務(wù)中斷服務(wù)寄存器寄存器(ISR) 優(yōu)先級優(yōu)先級管理邏輯管理邏輯(PR) 中斷請求中斷請求寄存器寄存器(IRR) 中斷屏蔽寄存器中斷屏蔽寄存器(IMR) IR0IR1IR7RDINTWRSP/ENCSA0D7D0CAS0CAS1CAS2INTA51第九章8259A的讀寫功能52第九章1、中斷嵌套方式、中斷嵌套方式普通全嵌套方式普通全嵌套方式特殊全嵌套方式特殊全嵌套方式固定優(yōu)先級方式固定優(yōu)先級方式自動循環(huán)優(yōu)先級方式自動循環(huán)優(yōu)先級方式特殊循環(huán)優(yōu)先級方式特殊循環(huán)優(yōu)

22、先級方式2、中斷優(yōu)先級循環(huán)方式、中斷優(yōu)先級循環(huán)方式3、中斷屏蔽方式、中斷屏蔽方式普通屏蔽方式普通屏蔽方式特殊屏蔽方式特殊屏蔽方式自動自動EOIEOI方式方式普通普通EOIEOI方式方式特殊特殊EOIEOI方式方式4、中斷結(jié)束方式、中斷結(jié)束方式邊沿觸發(fā)方式邊沿觸發(fā)方式電平觸發(fā)方式電平觸發(fā)方式中斷查詢方式中斷查詢方式5、中斷請求的引入方式、中斷請求的引入方式6、連接系統(tǒng)總線方式、連接系統(tǒng)總線方式緩沖方式緩沖方式非緩沖方式非緩沖方式三、8259A的中斷管理方式53第九章1、中斷嵌套方式、中斷嵌套方式2、中斷優(yōu)先級循環(huán)方式、中斷優(yōu)先級循環(huán)方式3、中斷屏蔽方式、中斷屏蔽方式4、中斷結(jié)束方式、中斷結(jié)束方式

23、5、中斷請求的引入方式、中斷請求的引入方式6、連接系統(tǒng)總線方式、連接系統(tǒng)總線方式7、級聯(lián)方式、級聯(lián)方式CAS2 CAS1 CAS0CAS2 CAS1 CAS0INTINTD7D7D0D0RDRDWRWRINTAINTAA0A0CSCS8259A8259A( (主片主片) )VCC SP/EN GNDVCC SP/EN GND+5V+5VCAS2 CAS1 CAS0CAS2 CAS1 CAS0INTINTD7D7D0D0RDRDWRWRINTAINTAA0A0CSCS8259A8259A( (從片從片) )VCC SP/EN GNDVCC SP/EN GND+5V+5VINTRINTRDBDBI

24、ORIORIOWIOWINTAINTAA0A080868086譯碼電譯碼電路輸出路輸出譯碼電譯碼電路輸出路輸出IR0IR0IR1IR1IR2IR2IR3IR3IR4IR4IR5IR5IR6IR6IR7IR7IR0IR0IR1IR1IR2IR2IR3IR3IR4IR4IR5IR5IR6IR6IR7IR7三、8259A的中斷管理方式54第九章四、8259A的編程 分為兩步:u初始化編程: 即設(shè)定初始化命令字ICW1ICW4。在8259A開始正常工作前寫入,只能設(shè)定1次。u操作命令編程: 即設(shè)定操作命令字OCW1OCW3。在8259A初始化后系統(tǒng)運行過程中,根據(jù)中斷處理的需要,在程序的任何地方多次寫

25、入。55第九章1、初始化命令字(1)ICW1 芯片控制初始化命令字IC4SNGL0LTIM1A5A6A70D0D1D2D3D4D5D6D7A0ICW1的地址的地址 1:需要:需要ICW4 0:不設(shè):不設(shè)ICW4 1: 8259A單片方式單片方式 0: 8259A級聯(lián)方式級聯(lián)方式ICW1 的標(biāo)志位的標(biāo)志位8080/8085用用觸發(fā)方式觸發(fā)方式 1:高電平觸發(fā):高電平觸發(fā) 0:上跳沿觸發(fā):上跳沿觸發(fā)56第九章(2)ICW2設(shè)置中斷類型號初始化命令字 中斷類型號基值,即IR0的類型號。其中低3位初始時為0,高5位由用戶設(shè)定。工作過程中,低3位值由IR0IR7中響應(yīng)哪級中斷(對應(yīng)000111)來確定。

26、000T3T4T5T6T71D0D1D2D3D4D5D6D7A0中斷類型的高中斷類型的高5位位57第九章(3)ICW3標(biāo)識主片/從片初始化命令字 8259A主片格式:S0S1S2S3S4S5S6S71D0D1D2D3D4D5D6D7A00:表示:表示IRi端上未接端上未接8259A從片從片1:表示:表示IRi端上接有端上接有8259A從片從片Si=ID0ID1ID2000001D0D1D2D3D4D5D6D7A08259A從片格式:從片格式:從片從片8259A的識別地址的識別地址58第九章8259ACPU00-從片CPU8259A1EN輸出1-主片1從片0主片1SP輸入0SP/ENM/SBUF

27、1:8086/8088方式方式0: 8080/8085方式方式1:中斷自動結(jié)束:中斷自動結(jié)束0:非自動結(jié)束:非自動結(jié)束1 :特殊全嵌套方式:特殊全嵌套方式0:完全嵌套方式:完全嵌套方式 PMAEOIM/SBUFSFNM0001D0D1D2D3D4D5D6D7A0非緩沖方式非緩沖方式 0 緩沖方式緩沖方式/從片從片 1 0緩沖方式緩沖方式/主片主片 1 1(4) ICW4方式控制初始化命令字59第九章ICW設(shè)置的順序:寫寫ICW1寫寫ICW2SNGL=1?寫寫ICW3IC4=1?寫寫ICW4YNNY地址地址A0=0A0=1A0=1A0=1ICW功能:u設(shè)定觸發(fā)形式:電平、上升沿;u設(shè)定工作方式:

28、單片、級聯(lián);u設(shè)定中斷類型號基值;u設(shè)定優(yōu)先級方式;u設(shè)定中斷結(jié)束方式。60第九章【例】某系統(tǒng)要求使用一片8259A,中斷請求為邊沿觸發(fā),其8個中斷源的中斷類型號為8087H,其端口地址為0920H、0921H分析:ICW1 00010011B 13H ICW2 10000000B 80H ICW4 00000001B 01H 編程:MOVAL,13HMOVDX,0920HOUTDX,ALMOVAL,80HMOVDX,0921HOUTDX,ALMOVAL,01HOUTDX,AL 初始化編程舉例61第九章2、8259A的操作命令字及編程(1)OCW1中斷屏蔽操作命令字M0M1M2M3M4M5M6

29、M71D0D1D2D3D4D5D6D7A01:屏蔽由:屏蔽由IRi引入的中斷請求引入的中斷請求0:允許:允許IRi端中斷請求引入端中斷請求引入Mi=【例】設(shè)某中斷系統(tǒng)要求屏蔽IR3,IR5,8259A端口地址為20H、21H,編程指令為: MOV AL,00101000B OUT 21H,AL62第九章R SL EOI操 作 功 能001一般EOI結(jié)束命令 011特殊EOI結(jié)束命令101自動循環(huán)優(yōu)先級的一般結(jié)束命令 100設(shè)置優(yōu)先級自動循環(huán)方式命令 000結(jié)束優(yōu)先級自動循環(huán)方式的命令 111設(shè)置特殊優(yōu)先級循環(huán)的EOI結(jié)束命令110設(shè)置特殊優(yōu)先級循環(huán)方式命令 010無效 優(yōu)先級固定優(yōu)先級固定0優(yōu)

30、先級循環(huán)優(yōu)先級循環(huán)1不發(fā)結(jié)束命令不發(fā)結(jié)束命令0發(fā)結(jié)束命令發(fā)結(jié)束命令1L2L1L0無效無效0L2L1L0有效有效1L1L0L200EOISLRA0 0標(biāo)志位標(biāo)志位 111IR7110IR6101IR5100IR4011IR3010IR2001IR1000IR0L2 L1 L0最低最低優(yōu)先級優(yōu)先級編碼編碼(2)OCW2 設(shè)置8259A的優(yōu)先權(quán)循環(huán)方式和中斷結(jié)束方式。63第九章(3)OCW3特殊屏蔽方式和查詢方式命令字 設(shè)定特殊屏蔽方式和中斷查詢的工作方式; 設(shè)置讀取8259A的IRR和ISR寄存器的內(nèi)容。64第九章3、編程小結(jié)uICW在程序初始化時寫入,要按順序且只能設(shè)定1次uOCW在初始化命令字

31、之后,可根據(jù)需要在程序的任何位置去設(shè)置,可設(shè)置多次。uICW1、OCW2、OCW3寫入8259A偶地址端口,用D4D3位區(qū)分;uICW2、ICW3、ICW4和OCW1寫入8259A奇地址端口,用順序區(qū)分。65第九章五、8259A的中斷級聯(lián)及舉例 一片8259A管理8級中斷,當(dāng)申請中斷的外設(shè)多于8級時,可以將8259A級聯(lián)使用,圖7-14給出了兩級級聯(lián)的例子,第一級為8259A主片,第二級為8259A從片,主片可接18片從片,這樣最多可以管理64級中斷源。(工作過程見教材295頁)66第九章外部中斷請求外部中斷請求+5VCAS2CAS0CAS1A0RDSP/NEIR7IR6IR5IR4IR3IR

32、2IR1IR0 INTWRINTAD0D7CS從從8259ACAS2CAS0CAS1A0RDSP/NE IR7IR6IR5IR4IR3IR2IR1IR0 INTWRINTA D0D7CS主主8259A外部中斷請求外部中斷請求【例例】 某系統(tǒng)中兩片某系統(tǒng)中兩片8259A采用中斷級聯(lián)方式組成中斷系統(tǒng),采用中斷級聯(lián)方式組成中斷系統(tǒng),從片的從片的INT端連主片的端連主片的IR3端,若當(dāng)前主片從端,若當(dāng)前主片從IR1,IR5端引入端引入兩個中斷請求,中斷類型號為兩個中斷請求,中斷類型號為31H,35H。中斷服務(wù)程序的。中斷服務(wù)程序的段基址為段基址為1000H,偏移地址分別為,偏移地址分別為2000H及及

33、3000H。從片。從片IR4,IR5端引入中斷請求,類型號為端引入中斷請求,類型號為44H和和45H。中斷服務(wù)程序基。中斷服務(wù)程序基址址2000H,偏移地址為,偏移地址為3600H和和4500H。8259A級聯(lián)編程舉例67第九章(1)設(shè)置中斷向量)設(shè)置中斷向量 將將4個中斷源的入口地址寫入中斷向量表個中斷源的入口地址寫入中斷向量表 MOV AX,1000H;送段地址;送段地址 MOV DS,AX MOV DX,2000H;送偏移地址;送偏移地址 MOV AL,31H;中斷類型號;中斷類型號 MOV AH,25H INT 21H MOV DX,3000H ;送偏移地址;送偏移地址 MOV AL,

34、35H ;中斷類型號;中斷類型號 INT 21H68第九章 MOV AX,2000H;送段地址;送段地址 MOV DS,AX MOV DX,3600H;送偏移地址;送偏移地址 MOV AL,44H;中斷類型號;中斷類型號 MOV AH,25H INT 21H MOV DX,4500H;送偏移地址;送偏移地址 MOV AL,45H;中斷類型號;中斷類型號 INT 21H69第九章(2 2)主片主片8259A初始化編程初始化編程 8259A主片端口地址為主片端口地址為FFC8H和和FFC9H MOV AL,11H ;定義;定義ICW1,主片級聯(lián)使用,邊沿觸發(fā),主片級聯(lián)使用,邊沿觸發(fā) ;要設(shè)要設(shè)ICW4 MOV DX,0FFC8H OUT DX,AL MOV AL,30H

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論