第 中斷技術(shù)PPT課件_第1頁
第 中斷技術(shù)PPT課件_第2頁
第 中斷技術(shù)PPT課件_第3頁
第 中斷技術(shù)PPT課件_第4頁
第 中斷技術(shù)PPT課件_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 1.中斷請(qǐng)求 外設(shè)先(通過接口)發(fā)送“中斷請(qǐng)求”信號(hào) 給CPU。 CPU檢查“中斷請(qǐng)求”輸入線。 CPU有權(quán)決定是否響應(yīng)中斷(中斷允許中斷允許):若允許請(qǐng)求,、則中斷允許觸發(fā)器IF置“1”, (使用STI指令開中斷)。 第1頁/共66頁 不允許中斷請(qǐng)求的情況: 如:在實(shí)時(shí)控制時(shí),需采集一段連續(xù)數(shù)據(jù)為防上數(shù)據(jù) 丟失,不允許其他中斷請(qǐng)求; 又:執(zhí)行管理程序中某些重要程序,CLI指令進(jìn)行屏蔽。 若不允許申請(qǐng),(用CLI指令)關(guān)中,觸發(fā)器IF=0。 沒有獲得允許向CPU發(fā)出中斷請(qǐng)求,則稱為 中斷被屏蔽(中斷屏蔽)。第2頁/共66頁 CPU在當(dāng)前指令執(zhí)行結(jié)束時(shí),響應(yīng)中斷,進(jìn)入中斷的響應(yīng)周期; 發(fā)出二個(gè)

2、中斷回答信號(hào)INTA完成一個(gè)中斷響應(yīng)周期 進(jìn)行斷點(diǎn)及標(biāo)志保存 如:段地址(CS),偏移地址(IP)標(biāo)志FR以及壓入堆棧。 讀取中斷類型號(hào),找到中斷源; 裝入中斷服務(wù)程序的入口地址(CS,IP)第3頁/共66頁 3.中斷服務(wù) 轉(zhuǎn)入中斷服務(wù)程序后,其服務(wù)程序的內(nèi)容有: a.與CPU交換數(shù)據(jù),進(jìn)行I/O操作; b.外部期望CPU給以控制,進(jìn)行參數(shù)修改。 在程序開頭,將可能使用的寄存器內(nèi)容進(jìn)棧,即保護(hù)現(xiàn)場(chǎng)。 在服務(wù)程序的未尾,將入棧的寄存器內(nèi)容彈出,即恢復(fù)現(xiàn)場(chǎng)。第4頁/共66頁 4.中斷返回 中斷服務(wù)程序結(jié)束,執(zhí)行中斷返回。 自動(dòng)將保存在堆棧中的標(biāo)志PSW,斷點(diǎn)(IP,CS)依次彈出并裝入。 返回到中

3、斷前的地址(斷點(diǎn)地址)開始繼續(xù)執(zhí)行主程序。第5頁/共66頁v三、中斷源、中斷識(shí)別、優(yōu)先級(jí) 中斷源:發(fā)出中斷請(qǐng)求的外設(shè)或引起中斷的內(nèi)部原因稱為中斷源。 中斷識(shí)別:CPU響應(yīng)中斷后,只知道有中斷請(qǐng)求但不知道是哪一個(gè)中斷源,尋找中斷源的操作過程稱為中斷識(shí)別。 中斷識(shí)別的目的:形成該中斷服務(wù)程序的入口地址。第6頁/共66頁v CPUCPU識(shí)別中斷的方法:識(shí)別中斷的方法:v 二種: 向量中斷v 程序查詢中斷v 向量中斷:在CPU響應(yīng)中斷后,由中斷控v 制器將服務(wù)程序入口地址送到CPU。v 查詢中斷:采用軟件查詢技術(shù)來確定發(fā)出v 中斷請(qǐng)求。第7頁/共66頁四、多重中斷(中斷嵌套)響應(yīng)1響應(yīng)2服務(wù) 器返回返

4、回主程序第8頁/共66頁五、中斷處理的隱操作及堆棧技術(shù)的使用 CPU執(zhí)行中斷服務(wù)程序前后,其狀態(tài)標(biāo)志和程序斷點(diǎn)的進(jìn)棧和出棧,都是硬件自動(dòng)完成,這些操作稱隱操作。 堆棧的使用1.建棧操作 MOV AX,1050H MOV SS,AX ;將當(dāng)前堆?;匪腿隨S MOV SP,0008H ;將堆棧段偏移地址送入SP 此時(shí),棧頂指向1058H處。第9頁/共66頁 2.進(jìn)棧操作(堆棧的深度:最大64KB空間) PUSH AX (SS:堆棧寄存器 SP:棧 偏移地址) 3.退棧操作 POP AX ;先送AX, POP BX ;后送BX第10頁/共66頁v上圖中操作的指令序列如下:v MOV AX,1050

5、H ;建棧v MOV SS,AX v MOV SP,0008Hv PUSH BX ;進(jìn)棧v PUSH AXv POP AX ;退棧v POP BX第11頁/共66頁TOS(1)建棧(2)進(jìn)棧(3)退棧EFCDAB8967451234BBAA998877665544332211005010501010621060105E105C105A1058105610541052105010621060105E105C105A10581056105410521050EFCDAB8967452301BBAA9988776655443322110008005010存在的堆棧3412EFCDAB896745123

6、4BBAA998877665544332211005010501010621060105E105C105A105810561054105210503412AABB不是存入棧中的隨機(jī)數(shù)TOSTOSSS圖5.1 8088/8086堆棧操作示意圖(a)(b)(c)第12頁/共66頁5。2 80X86的中斷系統(tǒng)的中斷系統(tǒng)一一. 80X86的中斷分類(的中斷分類(256級(jí))級(jí))分類第13頁/共66頁 1. 1.中斷服務(wù)程序的入口地址-中斷向量 CPU響應(yīng)中斷后,中斷源提供地址信息,由此地址信息對(duì)程序的執(zhí)行進(jìn)行導(dǎo)向,引導(dǎo)到中斷服務(wù)程序中去,故把這個(gè)地址信息稱為中斷向量。 中斷向量包括中斷服務(wù)程序的段基址C

7、S,偏址IP共4個(gè)字節(jié)。 中斷向量表:所有的中斷向量集中存放到存儲(chǔ)器的某一區(qū)域,這一區(qū)域稱之為中斷向量表。二二.80X86的中斷類型碼及的中斷類型碼及中斷向量表中斷向量表第14頁/共66頁中斷向量表0BA90125000003FF1024個(gè)單元000003FF共1024個(gè)字節(jié)存放256個(gè)向量第15頁/共66頁2.中斷向量,中斷向量指針與中斷類型號(hào) 中斷向量:中斷服務(wù)程序入口地址 中斷向量指針: 指出中斷向量存放在中斷矢量表中的位置(或地址)。 在在PCPC系列中中斷向量指針由中斷類型號(hào)提供系列中中斷向量指針由中斷類型號(hào)提供的,即的,即 向量地址向量地址=0000=0000:類型號(hào):類型號(hào)4 4

8、第16頁/共66頁如:硬盤“1NT13H”它的向量地址=0000:13H4 =0000:004CHn004CH開始連續(xù)4個(gè)單元中用來存放“INT 13H”的中斷向量:中斷向量寄存器中斷向量指針00700FC9CSHCSLIPHIPL004FH004EH004DH004CH圖5.2 中斷向量指針示意圖中斷號(hào)向量地址中斷向量硬盤13H13H4=4CH0070:0FC9第17頁/共66頁5。2 80X86的中斷系統(tǒng)的中斷系統(tǒng)一一. 80X86的中斷分類的中斷分類分類第18頁/共66頁二、硬中斷(見下表)1.不可屏蔽中斷NMI-通常用于處理緊急/災(zāi)難性事件 RAM奇偶校驗(yàn)錯(cuò)PCK I/O通道校驗(yàn)錯(cuò)I/

9、O CHCK 協(xié)處理器8087運(yùn)算錯(cuò)INT 響應(yīng)時(shí)間響應(yīng)時(shí)間:在當(dāng)前機(jī)器周期之后立即響應(yīng)。在當(dāng)前機(jī)器周期之后立即響應(yīng)。 第19頁/共66頁INTRINTR中斷可以被中斷可以被CPUCPU用指令用指令CLICLI來禁止,來禁止,由由STISTI允許允許。中斷響應(yīng)條件:I F=1 INTR=1中斷響應(yīng)時(shí)間:當(dāng)前指令執(zhí)行完以后,所以,INTR高電平信號(hào)需要一定的保持時(shí)間高電平信號(hào)需要一定的保持時(shí)間。INTR中斷響應(yīng)過程如下:2.2.可屏蔽中斷可屏蔽中斷INTRINTR第20頁/共66頁M80X86I PCSPSWINTR 1 INTA 2 類型碼N 3 中斷矢量表零頁地址空間4個(gè)字節(jié)TYPE 0TY

10、PE 1IPCS6 N*4SS9PA(20位.入口)中斷服務(wù)程序STI CLI 10.IRET 11IF .TF清零57斷點(diǎn).現(xiàn)場(chǎng)恢復(fù)12 4 斷點(diǎn).現(xiàn)場(chǎng)進(jìn)堆棧8中斷響應(yīng)過程INTR第21頁/共66頁三.80X86的中斷響應(yīng)總線周期:當(dāng): CPU收到INTR中斷請(qǐng)求 當(dāng)前一條指令執(zhí)行完,且中斷允許標(biāo)志位IF=1 那么:CPU進(jìn)入中斷響應(yīng)周期,它通過總線控制器發(fā)出 二個(gè)連續(xù)中斷應(yīng)答信號(hào)完成一個(gè)中斷響應(yīng)周期INTA周期周期第22頁/共66頁 在中斷響應(yīng)周期的兩個(gè)工作: 1.第一個(gè)INTA脈沖時(shí),通知中斷源,其中斷請(qǐng)求已被響應(yīng),準(zhǔn)備發(fā)送類型碼。此時(shí),CPU產(chǎn)生LOCK信號(hào),使總線處于封鎖狀態(tài),防止D

11、MA占用總線。 2.在第二個(gè)INTA,CPU通過數(shù)據(jù)總線低8位讀取類型碼。同時(shí),LOCK信號(hào)撤除,總線解封 。第23頁/共66頁 中斷響應(yīng)總線周期時(shí)序波形圖T1T2T3T4T1T2T3T4中斷號(hào)CLK(時(shí)鐘)ALE(地址允許)LOCK(總線鎖存)INTA(中斷應(yīng)答)D0D7(數(shù)據(jù))圖5.8 中斷響應(yīng)周期返回返回幻燈片幻燈片 25第24頁/共66頁3. 8259A3. 8259A可編程中斷控制器可編程中斷控制器一、一、8259A8259A中斷控制器的功能。(中斷控制器的功能。(82598259是一個(gè)可編程的中斷是一個(gè)可編程的中斷控制器芯片)控制器芯片) 1.一片8259芯片可響應(yīng)8級(jí)INTR中斷

12、請(qǐng)求,通過級(jí)連INTR可擴(kuò)展至64級(jí)。 2.可對(duì)各級(jí)INTR請(qǐng)求進(jìn)行優(yōu)先權(quán)管理,8259具有完全嵌套,循環(huán)優(yōu)先級(jí),特定屏蔽等多種優(yōu)先權(quán)管理方式。 3.對(duì)每一級(jí)中斷請(qǐng)求進(jìn)行均可依需要給予屏蔽或開放。 4.當(dāng)CPU響應(yīng)INTR中斷請(qǐng)求后,8259可提供相應(yīng)的中斷類型碼,從而使CPU迅速轉(zhuǎn)入中斷服務(wù)程序入口。 5.可通過編程手段,設(shè)置8259的8種不同工作方式。第25頁/共66頁INT數(shù)據(jù)總線緩沖器讀/寫邏輯級(jí)聯(lián)緩沖/比較器控制邏輯正在服務(wù)寄存器ISR優(yōu)先級(jí)分析器PR中斷屏蔽寄存器 IMR中斷請(qǐng)求寄存器IRRIR0IR1IR2IR3IR4IR5IR6IR7D0D7A0CAS0CAS1CAS2SP/E

13、NCSWRRD圖5.6 8259A內(nèi)部邏輯框圖INTA二、二、8259A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)第26頁/共66頁 CPU數(shù)據(jù)總線緩沖器讀/寫控制邏輯內(nèi)部控制邏輯DB8位CSWRRDA0所有與CPU交換信息通過它進(jìn)出CPU8259中斷控制器由8個(gè)主要部分組成,根據(jù)8259是一專用接口芯片,可將它的8個(gè)部分按下面三個(gè)部分劃分: 1。與。與CPU接口部分:接口部分: CPU通過它實(shí)現(xiàn) 8259 的讀/寫操作控制以及對(duì) 8259進(jìn)行初始化操作 對(duì)8259芯片內(nèi)部實(shí)現(xiàn)控制操作,使8259按初始化編程操作作第27頁/共66頁 2。與外部硬件(中斷源)連接部分:。與外部硬件(中斷源)連接部分: 中斷請(qǐng)求寄存器

14、(IRR)一片8259有8條INTR中斷請(qǐng)求線 IR0IR7,每一條請(qǐng)求線有一個(gè)對(duì)應(yīng)的觸發(fā)器來存放 中斷請(qǐng)求信號(hào)。 中斷請(qǐng)求寄存器IRRIR0IR1IR2IR3IR4IR5IR6IR7第28頁/共66頁 (3)中斷屏蔽寄存器IMR的每一位可對(duì)IRR中相應(yīng)的中斷源進(jìn)行屏蔽,如果禁止某IR提出中斷請(qǐng)求,就將其中在IMR中的相應(yīng)位量“1”。 IMR對(duì)于較高優(yōu)先權(quán)的IR實(shí)行屏蔽并不影響較低優(yōu)先權(quán)的IR的輸入 3。內(nèi)部工作寄存器:。內(nèi)部工作寄存器: (1)正在服務(wù)寄存器ISR,用于記錄已被獲準(zhǔn)的中斷請(qǐng)求(即將與IR對(duì)應(yīng)的IS位置位) (注意:注意:ISR除存放正在被服務(wù)的中斷源外,還包括尚未除存放正在被

15、服務(wù)的中斷源外,還包括尚未服務(wù)完而中途被別的中斷源暫時(shí)中止的中斷)服務(wù)完而中途被別的中斷源暫時(shí)中止的中斷) ( 2)優(yōu)先權(quán)分析器 對(duì)保存在IRR的各個(gè)中斷請(qǐng)求經(jīng)過判斷 確定其中一個(gè)為最高優(yōu)先權(quán),然后在中斷響應(yīng)周期時(shí)間將它選通到中斷服務(wù)寄存器 中。分析器分析器第29頁/共66頁中斷屏蔽寄存器IMRD0D1D2D3D4D5D6D7中斷請(qǐng)求寄存器IRR & & 中斷請(qǐng)求優(yōu)先級(jí)編碼器1ISR編碼器 AB比較器B0B1B2A0A1A2 &INTIR0IR1IR2IR3IR4IR5IR6IR7圖5.7 中斷優(yōu)先級(jí)分析器的工作原理返回第30頁/共66頁 CAS0 CAS1 CAS2

16、SP/EN8259AWRRDCSINTINTAIR0IR1IR2IR7外部中斷源。WRRD。地址譯碼A71A0。INTRINTAVCCC GNDCPU三、8259的引腳及其功能 ( 見書P87,表58 ) 8259有28個(gè)引腳,具體如下:第31頁/共66頁 8259的中斷響應(yīng)過程:的中斷響應(yīng)過程: 1。當(dāng)有一條或多條中斷請(qǐng)求引腳信號(hào)有效時(shí)(即IR70相應(yīng)引腳為“1”)。 中斷請(qǐng)求寄存器IRR的相應(yīng)位被置為“1”。 2。若中斷請(qǐng)求IR1線中至少有一個(gè)中斷請(qǐng)求被允許,則8259通過INT引腳向CPU的INTR送出中斷請(qǐng)求信號(hào)。 3。若CPU處于開中狀態(tài)(IF=1),則在當(dāng)前指令執(zhí)行完后,向8259

17、發(fā)回INTA信號(hào),表示中斷請(qǐng)求已被CPU響應(yīng)。 4。8259接收到CPU發(fā)出的INTA信號(hào)后。將中斷請(qǐng)求源(對(duì)應(yīng)于各IRi) 中 優(yōu)先權(quán)最高的對(duì)應(yīng)的ISR位置位,然后將IRR中相應(yīng)的IRi位復(fù)位。第32頁/共66頁 5。8086CPU繼續(xù)啟動(dòng)另一個(gè)中斷響應(yīng)周期,發(fā)送第二個(gè)INTA信號(hào),此時(shí) 8259向數(shù)據(jù)總線DB70送出8位的中斷類型碼。 返回Type碼N用戶在對(duì)8259初始 化編程時(shí)設(shè)定由中斷請(qǐng)求線IRi的進(jìn)制編碼決定,由8259自動(dòng)插入填寫D7D3D2D1D0 該中斷類型碼的生成:該中斷類型碼的生成:第33頁/共66頁 非自動(dòng)結(jié)束方式非自動(dòng)結(jié)束方式:在中斷服務(wù)程序結(jié)束處寫一中斷結(jié)束命 令(

18、置EIO為“1”),相應(yīng)IS位 才會(huì)被復(fù)位。至此,至此,8259的一次中斷響應(yīng)過程完成。的一次中斷響應(yīng)過程完成。6、CPU讀取中斷類型碼N后,用N*4查中斷矢量表,獲取服務(wù)程序入口地址有關(guān)信息(IP和CS值),轉(zhuǎn)入服務(wù)程序入口執(zhí)行程序。7、中斷響應(yīng)周期完成后,8259中斷工作結(jié)束,被量位的ISR中的相應(yīng)位復(fù)位,其中斷方式有兩種: 當(dāng)8259工作于AEOI模式(自動(dòng)結(jié)束方式自動(dòng)結(jié)束方式):當(dāng)CPU送出的INTA脈沖結(jié)束時(shí),其后沿使在“4”中被量位的IS位復(fù)位(清零)。第34頁/共66頁v 從8259各I/O端口讀狀態(tài)字,中斷類型碼及查詢字v 對(duì)8259各I/O端口寫入初始化命令字,工作方式命令字

19、 操作是由RD、WR控制信號(hào)進(jìn)行控制,而對(duì)各端口的尋址則是由CS和A0確定的。v 具體I/O端口尋址及操作情況如下: (一片8259只占兩個(gè)端口地址,也就是說8259只有兩個(gè)I/O端口-奇數(shù)口和偶數(shù)口 )四四 對(duì)對(duì)8259的端口尋址及其操作(讀的端口尋址及其操作(讀/寫基本操作)寫基本操作)第35頁/共66頁P(yáng)IC1PIC2CS A0 WR RD TP86A輸入操作(RD)20H 21H0A0H0A1H0 0 1 00 1 1 0 0FFDCH0FFDEHIRR ISR 查詢字(OCW3)IMR(OCW1) CPU輸出操作(WR)20H21H0A0H0A1H0 0 0 0 0 10 0 0 1

20、 0 10 0 1 X 0 10 1 X X 0 1 0FFDH0FFDH OCW2CPU寫 OCW3 ICW1 寫(IMR).OCW1.ICW2.3.4對(duì)對(duì)8259的端口尋址及其基本操作(讀的端口尋址及其基本操作(讀/寫基本操作)寫基本操作)注意注意:8259只有兩個(gè)端口,由A0一位確定: 1:奇數(shù)口 0:偶數(shù)口 由奇/偶數(shù)端口及控制字中的某些特定 位來確定命令字往那個(gè)R中送。DB7-0DB7-0第36頁/共66頁B07TA078286OEB07TA078286OEB07TA078286OED07CAS02從片ASP/ENINTAINTD07CAS02從片BSP/ENTITAINTD07CA

21、S02主片SP/ENINTAIR5 IR6+5V1k+5V1k+5V1k數(shù)據(jù)總線數(shù)據(jù)總線局部數(shù)據(jù)總線DENDT/RINTRINT INTA圖5.9 緩沖方式級(jí)聯(lián)系統(tǒng)數(shù)據(jù)總線返回第37頁/共66頁 必須在8259始工作前設(shè)量 可在啟動(dòng)8259之后的 任何地方設(shè)置 五、對(duì)五、對(duì)8259的編程:的編程: (初始化編程)(初始化編程) 啟動(dòng)8259開始工作:向8259送入24個(gè)字節(jié)的初始化命令字 (ICW14)對(duì)8259工作方式進(jìn)行設(shè)量:向8259送出3個(gè)字節(jié)的操作命令字 (OCW13) Initialigation CommandWordOperation Command Word第38頁/共66頁

22、 即向8259相應(yīng)端口送入24個(gè)字節(jié)的初始化命令字。 初始化命令字輸出順序如下: (一(一 ).對(duì)對(duì)8259的初始化編程順序:的初始化編程順序:第39頁/共66頁ICW1ICW2單片?單片?ICW3N (SNGL=0)Y需要需要ICW4設(shè)定中斷請(qǐng)求觸發(fā)方式設(shè)定中斷請(qǐng)求觸發(fā)方式中斷類型號(hào)的設(shè)定中斷類型號(hào)的設(shè)定Y(ICW4=1)ICW4準(zhǔn)備好進(jìn)行中 斷服務(wù)設(shè)定特定完全設(shè)定特定完全嵌套方式嵌套方式設(shè)定級(jí)聯(lián)合方式第40頁/共66頁1 SNGL為“1”/“0”: 由ICW1中的D1位說明 ICW4 需 要 否: 由ICW1中的D0位決定2 4個(gè)命令字中, ICW1 ICW2是必須的, 而ICW3 ,IC

23、W4是由工作方式來確定是否需要。說明:說明:第41頁/共66頁 1LTIM XSNGLICW4D7D6D5D4D3D2D1D0只用于8位機(jī)一定為1(ICW1的特征位1 電平觸發(fā)0 邊沿觸發(fā)只用8位機(jī)1 單片0 級(jí)聯(lián)1 需要ICW40 不需要ICW4(二)、各初始化命令字的格式及其含義(二)、各初始化命令字的格式及其含義 1. ICW1:中斷請(qǐng)求觸發(fā)方式的設(shè)定中斷請(qǐng)求觸發(fā)方式的設(shè)定 格式如下:第42頁/共66頁 當(dāng)某IRI中斷請(qǐng)求被CPU響應(yīng)后,在系統(tǒng)的第二個(gè)INTA周期8259須向CPU提供8位的TYPE碼(其高5位由ICW2的D7D3位提供,其低3位由 IRI的二進(jìn)制編碼決定,在CPU讀取T

24、YPE碼前,由8259自動(dòng)填入到DB7 0的D2 D1 D0三位數(shù)據(jù)總線上)vINTR中斷源的TYPE碼=(ICW2的)高5位+低3位(IRI的編碼) 2. ICW2 : 用于中斷類型碼的提供用于中斷類型碼的提供TYPE碼碼 第43頁/共66頁v 編程舉例:在PC機(jī)中,硬盤中斷源的類型碼的高5位由用戶 或系統(tǒng)在ICW2中設(shè)定,ICW2內(nèi)容為08H,其中斷請(qǐng)求線與8259的IR5相連,類型 碼的形成過程如下: TYPE碼高5位已獲得:D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 0 1 用戶初始化編程: MOV AL, 08H; AL ICW2內(nèi)容 OUT 21H, AL; AL

25、ICW2對(duì)應(yīng)端口 (A0=1)第44頁/共66頁 CPU響應(yīng)硬盤中斷請(qǐng)求后,8259在INTA2送低3位至ICW2對(duì)應(yīng)端口中,將IR5 對(duì)應(yīng)101連同ICW2的高5位一齊送到DB70上:00001101IR5得到硬盤中斷TYPE碼為0DH第45頁/共66頁在PC/XT和PC/AT中,IRI的二進(jìn)制編碼也就是在系統(tǒng)中斷優(yōu)先級(jí)的編碼。. PC/XT、PC/AT中斷類型碼的生成表見書P98第46頁/共66頁 3 . ICW3(中斷級(jí)聯(lián)方式的設(shè)定): ICW3初始化命令字用于8259的級(jí)聯(lián),若系統(tǒng)中只有一片8259A,則不需要設(shè)置命令字ICW3,若有多片若有多片8259級(jí)聯(lián),則主、從級(jí)聯(lián),則主、從82

26、59片都必須設(shè)置片都必須設(shè)置ICW3命令字,且主、從片的ICW3格式有所區(qū)別,具體如下:第47頁/共66頁主片ICW31S7S6S5S4S3S2S1S0A0D7D6D5D4D3D2D1D0(2)ICW3的格式: a.主片ICW3S 7-0:1-8259主片的IRi引腳上連接有8259從片0-無從片連接第48頁/共66頁說明:說明:當(dāng)由多片8259A構(gòu)成級(jí)聯(lián)中斷控制器機(jī)構(gòu)時(shí),與中斷請(qǐng)求線IRI相連的8259A叫做從8259,與CPU的INTR引腳相連的那一片8259A叫做主8259A,級(jí)聯(lián)將中斷源由8擴(kuò)至64級(jí)。 編程舉例:若主8259的IR3和IR5兩 輸入端分別連接了從 8259A片,則有主

27、主82598259的的ICW3ICW3的值為的值為00101000B=28H00101000B=28H。 MOV AL, 28H; 主ICW3 AL OUT 21H, AL; AL 主ICW3對(duì)應(yīng) 端口A0=1第49頁/共66頁從片ICW3A0D7D6D5D4D3D2D1D01ID2 ID1 ID0 b.從片ICW3D7D3ID2 D2ID1 D1 ID0 D0 未用未用0 0 0 IR00 0 1 IR10 1 0 IR20 1 1 IR31 O O IR4 標(biāo)明從標(biāo)明從8259的的INT引腳引腳1 0 1 IR5 具體與主具體與主8259的哪一個(gè)的哪一個(gè)1 1 0 IR6 IRI引腳相連引

28、腳相連1 1 1 IR7第50頁/共66頁 .從從8259的從的從ICW3的設(shè)定過程與主的設(shè)定過程與主ICW3相同相同 例如 :有主8259的IR6和IR1分別連接了從片8259, 則 有: 從片A的ICW3=00000001B=01H-與主片IR1相連 從片B的ICW3=00000110B=06H-與主片IR6相連 編程如下: MOV AL, 01H; OUT 21H, AL; MOV AL, 06H; OUT 21H, AL; 第51頁/共66頁 級(jí)聯(lián)方式下級(jí)聯(lián)方式下CPU對(duì)從片中斷請(qǐng)求的響應(yīng):對(duì)從片中斷請(qǐng)求的響應(yīng): 1 . 從IRI 經(jīng)判優(yōu),最終到達(dá)CPU的INTR引腳。 2 .CPU響

29、應(yīng)INTR請(qǐng)求,發(fā)出INTA,給所有8259(主及從) 3 . 主8259通過級(jí)聯(lián)線CAS20向所有從片送出優(yōu)先權(quán)最高的 中斷源所在的從8259的標(biāo)識(shí)碼符 4 . 各從片將CAS20上來的ID2-0碼與自己的ID2-0碼核對(duì),進(jìn)行 比較以后,相符的從8259就在INTA2周期送出中斷類型碼。 5 . 在CPU發(fā)出INTA2時(shí),從DB70上讀取TYPE碼第52頁/共66頁CPU INTR INTA WR RD DB8 CS A0SP/EN IR0 8259從INT INTA IR7WRRD CAS20 CS A0SP/ENN IR0 8259從INTINTA IR7WRRD CAS20 8259

30、中斷級(jí)聯(lián)方式的連線中斷級(jí)聯(lián)方式的連線 CS A0SP/EN IR0 8259主 INT IR7INTAWRRD CAS20 返回返回49第53頁/共66頁 4.ICW 4.ICW4 4格式:格式: (嵌套和中斷結(jié)束方式)1 16位CPU0 8位CPUD7 D6 D5 D4 D3 D2 D1 D00 0 0 SFNM BUF M/S AEOI MPM 1 特定的完全嵌套方式0 正常的完全嵌套方式 0 1 0 1 1 非緩沖方式緩沖方式/從緩沖方式/主主結(jié)束中斷的方式, 1 自動(dòng)EDI 由OCW2具體規(guī)定 0 非自動(dòng)EDI 注:注:非緩沖方式(BUF=0時(shí)),則M/S無意義,此時(shí)主/從 由SP端決

31、定。主片:SP=+5V,從片:SP接地第54頁/共66頁 編程舉例: 在TP-86單片機(jī)中,CPU8086為16位機(jī),采用非自動(dòng)結(jié)束中斷方式, 使用1片8259,正常完全方式,8259與系統(tǒng)總線間采用緩沖器連接, 其對(duì)應(yīng)其對(duì)應(yīng)ICW4為為00001101B=0DH MOV DX, 0FFDEH; ICW4對(duì)應(yīng)端口地址 DX MOV AL, 0DH; 設(shè)置ICW4 送 AL OUT DX, AL; ICW4送8259奇數(shù)口(A0=1) 第55頁/共66頁(三)(三).設(shè)置設(shè)置8259的工作方式的工作方式通過設(shè)置OCW1-OCW3實(shí)現(xiàn)第56頁/共66頁 .特定完全嵌套方式的設(shè)定(ICW4) 問題的

32、提出: 在級(jí)聯(lián)方式中,當(dāng)從控接收到比“正在服務(wù)”中的那一個(gè)優(yōu)先等級(jí)更高的中斷申請(qǐng)時(shí),就不會(huì)被主控識(shí)別,就是說,從控的較高優(yōu)先級(jí)的中斷就不能被及時(shí)服務(wù)。 為了解決這個(gè)問題,8259提供了一種特定的完全嵌套方式。 如果在主控中采用這種方式,那么當(dāng)從控收到一個(gè)更高的中斷請(qǐng)求時(shí),它是會(huì)被主控識(shí)別的。這種完全嵌套方式是在初始化時(shí)由ICW4指定的。返回第57頁/共66頁 8259的工作方式有:的工作方式有: 1 中斷屏蔽方式: 正常 OCW1 IMR 特定 OCW3(D6 D5=1)設(shè)定 2 中斷嵌套方式 : 完全固定,依IR0IRR7排優(yōu) 特定的完全嵌套 ICW4(D4 SFNM)=1 (CPU可以響應(yīng)所有與正在被響應(yīng)的ISRI同 級(jí)以及更高優(yōu)先權(quán)的中斷請(qǐng)求) 3 中斷優(yōu)先權(quán)排隊(duì)方式 :優(yōu)先權(quán)固定 優(yōu)先權(quán)輪轉(zhuǎn),由OCW2具體操作 4 中斷結(jié)束方式 : 自動(dòng)結(jié)束,在INTA2自動(dòng)使ISRI置0, ICW4的D1=1 非自動(dòng)結(jié)束,通過ICW4的D1=0 以及 OCW2 指定/不指定,輪轉(zhuǎn)/不輪轉(zhuǎn)第58頁/共66頁 5 級(jí)聯(lián) 6 緩沖 7 讀8259的狀態(tài) ,即 讀IRR, ISR 。先設(shè)量OCW3(D1 D0) 再使用IN命令 讀;對(duì)IMR進(jìn)行讀,可以直接通過IN指令對(duì) 奇數(shù)端口進(jìn)行讀操作即可。 8 讀查詢字

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論