版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第7章 中斷系統(tǒng),7.1 中斷的概念 7.1.1 為什么要用中斷? 7.1.2 中斷源 7.1.3 中斷系統(tǒng)的功能 7.1.4 中斷優(yōu)先權(quán) 7.2 中斷處理 7.2.1 CPU響應(yīng)可屏蔽中斷的條件 7.2.2 CPU響應(yīng)中斷要自動完成的任務(wù) 7.2.3 中斷處理過程 7.3 中斷服務(wù)程序設(shè)計舉例 7.3.1 中斷服務(wù)程序設(shè)計步驟 7.3.2中斷向量表的裝入與修改,7.4 可編程中斷控制器8259A 7.5.1 8259A的芯片內(nèi)部結(jié)構(gòu) 7.5.2 8259A的工作方式 7.5.3 8259A的級聯(lián)使用 7.5.4 8259A 的控制字和工作方式 7.5 8259A在微機系統(tǒng)中的使用 7.6.1
2、 8259編程命令 7.6.2 8259A的使用,學(xué) 習(xí) 目 的,通過對本章的學(xué)習(xí),您應(yīng)該能夠達到下列要求: 中斷的概念及中斷的用途 中斷類型及中斷向量 中斷過程 8259A中斷原理 中斷在微機系統(tǒng)中的應(yīng)用,重 點,中斷的概念 CPU響應(yīng)可屏蔽中斷的條件 中斷處理過程 硬件中斷與軟件中斷的比較 中斷向量的裝入,7.1 中斷的概念,7.1.1 中斷概念 外設(shè)向CPU發(fā)中斷請求,CPU接收到中斷請求并在一定條件下,暫時停止執(zhí)行原來的程序而轉(zhuǎn)去處理中斷,處理好中斷服務(wù)再返回繼續(xù)執(zhí)行原來的程序,就稱為一個中斷過程。中斷是CPU被動的響應(yīng)外設(shè)要求服務(wù)。 為什么要用中斷 同步操作、并行處理; 實時監(jiān)控與信
3、息捕捉; 故障處理。,7.1.2 中斷源,1.中斷源: 系統(tǒng)外部中斷源: I/O設(shè)備:如鍵盤、打印機等; 數(shù)據(jù)通道:如軟盤、硬盤等; 實時時鐘:如外部的定時電路; 用戶故障源:電源掉電等。 內(nèi)部中斷源: 執(zhí)行中斷指令; 除法錯; 單步執(zhí)行、斷點中斷、溢出中斷等。,2.中斷源識別目的: 形成該中斷服務(wù)程序的入口地址?中斷向量或中斷查詢,中斷源的分類 硬件中斷:非屏蔽中斷NMI(中斷向量號為2) 可屏蔽中斷INTR 軟件中斷:溢出中斷INTO(中斷向量號為4) 除法出錯中斷(中斷向量號為0) 單步中斷(中斷向量號為1) 斷點中斷INT3 (中斷向量號為3) 指令中斷INT n(中斷向量號為n),中
4、斷向量號: 中斷向量: 中斷向量表:,=中斷類型碼(256個),CS(高字)+IP(低字),其首地址=中斷類型碼*4,由中斷向量構(gòu)成,即中斷入口地址表,分為5個階段: (1)中斷請求 (2)中斷判優(yōu) (3)中斷響應(yīng) (4)中斷處理 (5)中斷返回,7.2 中斷處理過程,(1)中斷請求 中斷源發(fā)送請求信號,外部中斷由硬件產(chǎn)生,內(nèi)部中斷由指令產(chǎn)生。 外部中斷:CPU在每條指令執(zhí)行的最后一個周期采樣中斷請求信號。 (2)中斷判優(yōu) 如果有多個中斷源提出中斷申請,CPU可通過查詢式或硬件電路自動完成中斷優(yōu)先權(quán)排隊,然后響應(yīng)優(yōu)先權(quán)最高的中斷申請,(3)中斷響應(yīng) 如果為內(nèi)部中斷或NMI中斷,CPU自動形成中
5、斷類型碼 如果是INTR中斷,在IF=1的前提下,進入中斷響應(yīng)周期,從DB獲取中斷類型碼 可屏蔽中斷的響應(yīng)周期: 第一個總線周期:CPU送出中斷響應(yīng)信號INTA 第二個總線周期:被響應(yīng)的外設(shè)通過數(shù)據(jù)總線送中斷類型碼給CPU,中斷響應(yīng)過程(自動完成),關(guān)中斷 保護斷點 (FLAG、CS 、IP入棧) 給出中斷服務(wù)入口 執(zhí)行中斷服務(wù)程序,(4)中斷處理 中斷服務(wù)程序(自己編寫),一般由以下幾個部分按順序組成,保護現(xiàn)場(寄存器入棧) 開中斷 (允許中斷嵌套) 中斷服務(wù)程序(需完成的功能) CPU關(guān)中斷 恢復(fù)現(xiàn)場 中斷返回,(5)中斷返回 由IRET指令自動完成,斷點恢復(fù)(IP、CS、FLAG出棧),
6、CPU響應(yīng)INTR中斷的條件是 (1)中斷請求信號 (2)開放總中斷 (3)在現(xiàn)行指令結(jié)束后響應(yīng)中斷,7.3 有關(guān)INTR中斷的處理,8086系統(tǒng)中中斷源種類很多,但只有INTR中斷可以由用戶開發(fā)提供給外設(shè)使用,(1)需要中斷請求中斷請求觸發(fā)器 (2)多個外設(shè)需分別處理中斷屏蔽觸發(fā)器 (3)CPU與外設(shè)的數(shù)據(jù)中轉(zhuǎn)數(shù)據(jù)緩沖器 (4)選擇外設(shè)的端口號端口地址譯碼器 (5)CPU執(zhí)行完當(dāng)前指令,在最后的一個T狀態(tài)才采樣INTR線,7.3.1 8086中有關(guān)INTR中斷的觸發(fā)器,7.3.2 中斷優(yōu)先權(quán),為什么需要中斷優(yōu)先級? 同時有多個中斷請求,CPU如何選擇中斷源? 中斷嵌套時,CPU是否響應(yīng)新的中
7、斷請求?,中斷優(yōu)先級確定方法 中斷優(yōu)先級從高到低: 軟件中斷 非屏蔽中斷 可屏蔽中斷 單步中斷 軟件查詢 最簡單的一種確定優(yōu)先級的方法。即查詢的順序就是中斷的優(yōu)先級先查詢的高。 屏蔽法程序查詢 移位法程序查詢 硬件優(yōu)先權(quán)排隊電路 編碼器與比較器組成的優(yōu)先權(quán)排隊電路 中斷控制器(8259A),1. 軟件查詢確定中斷優(yōu)先權(quán),(1) 屏蔽法,IN AL,20H TEST AL,80H JNZ POWER TEST AL,40H JNZ DISK TEST AL,02H JNZ INPUT,若有8個中斷源,則將它們的 中斷請求觸發(fā)器組合起來,作為 一個端口,假設(shè)端口號為20H。,1. 軟件查詢確定中斷
8、優(yōu)先權(quán),(2) 移位法,XOR AL,AL IN AL,20H RCL AL,1 JC POWER RCL AL,1 JC DISK ,若有8個中斷源,則將它們的 中斷請求觸發(fā)器組合起來,作為 一個端口,假設(shè)端口號為20H。,軟件查詢優(yōu)缺點:,詢問次序就是優(yōu)先級次序,原理簡單 省硬件,中斷源優(yōu)先級可由用戶程序靈活確定 缺點是詢問很耽誤時間,尤其在中斷源很多時,2. 優(yōu)先級硬件排隊電路 1) 優(yōu)先級編碼電路,中斷嵌套,中斷嵌套條件:1、中斷1的服務(wù)程序中,應(yīng)在保護現(xiàn)場后開中斷STI; 2、當(dāng)中斷2的優(yōu)先級高于中斷1時,才會發(fā)生中斷嵌套,否則,不會發(fā)生中斷嵌套,主程序 CPU關(guān)中斷:CLI 設(shè)置中
9、斷向量 CPU開中斷:STI 等待中斷,7.3 中斷服務(wù)程序設(shè)計舉例,中斷服務(wù)子程序 中斷子程序名 PROC 屬性 保護現(xiàn)場 STI 恢復(fù)現(xiàn)場 CLI IRET 中斷子程序名 ENDP,7.4 用戶中斷服務(wù)子程序的裝載,例:類型號為20H的中斷服務(wù)程序入口符號地址為 INT-5,中斷向量的裝入方法。 中斷服務(wù)程序框架: INT-5 PROC NEAR . IRET INT-5 ENDP,中斷向量指針:20H4=001 0 00 0000=80H 20H4+2=82H,用MOV指令中斷向量的裝入?yún)⒖汲绦?,7.3:中斷服務(wù)子程序的裝載,CLI PUSH DS PUSH AX XOR AX,AX
10、MOV DS,AX MOV AX,OFFSET INT-5 MOV WORD PTR 080H,AX MOV AX,SEG INT-5 MOV WORD PTR 082H,AX POP AX POP DS STI,用串操作,中斷向量的裝入:,7.3:中斷服務(wù)子程序的裝載,CLI CLD PUSH ES XOR AX,AX MOV ES,AX MOV DI,4*20H MOV AX,OFFSET INT-5 STOSW ;DI+1DIAX,DI DI+2 MOV AX,SEG INT-5 STOSW POP ES STI,中斷向量表的修改,用DOS系統(tǒng)功能調(diào)用INT 21H的35H功能獲取原中斷
11、向量(中斷向量=ES:BX.類型號=AL),并保存; 用DOS系統(tǒng)功能調(diào)用INT21H的25H功能設(shè)置新中斷向量(中斷向量=DS:DX.類型號=AL); 用DOS系統(tǒng)功能調(diào)用的25H功能恢復(fù)原中斷向量。,例:用INT21H/35H設(shè)置新中斷向量 CLI PUSH DS MOV AL, N MOV DX, OFFSET INT-SEV MOV AX, SEG INT-SEV MOV DS, AX MOV AH, 25H INT 21H POP DS STI,思考題 1.中斷響應(yīng)周期中,第一個中斷響應(yīng)脈沖信號向外部電路說明什么?第二個脈沖呢? 解:第一個中斷響應(yīng)信號脈沖表示當(dāng)前中斷請求已被響應(yīng),第
12、二個中斷響應(yīng)信號表示將最高優(yōu)先級的中斷類型碼放在數(shù)據(jù)總線上。 2.中斷向量地址是 。 3.硬件中斷可分為 兩種。 4.8086/8088最多能處理種 中斷。 5.非屏蔽中斷的中斷類型碼是 。 6.對于掉電的處理,8086/8088是通過 來處理的。,中斷服務(wù)程序入口地址,非屏蔽中斷和可屏蔽中斷,256,2,非屏蔽中斷,7.在下面的中斷中,只有 需要硬件提供中斷類型碼。 A. INTO B. INT n C. NMI D. INTR INTO是指溢出中斷,是類型為4的內(nèi)部中斷;INT n 是指軟件中斷,其類型碼即為指令中的n;NMI是非屏蔽中斷,它的中斷類型碼為2;而只有可屏蔽中斷需要硬件提供中
13、斷類型碼。 8.在中斷響應(yīng)周期內(nèi),將中斷標(biāo)志位IF清0是由 完成的。,D,硬件自動,7.4 可編程中斷控制器 Intel 8259A,8259A的功能: 具有8級優(yōu)先權(quán)管理,可用9片擴展為64級中斷系統(tǒng) 接受中斷請求,提供中斷類型號 具有屏蔽與開放中斷的功能 可編程選擇不同工作方式 8259A特點: 具有對中斷服務(wù)程序入口地址的尋址能力 單片8259可處理8級中斷 級聯(lián)時:最多可用9片處理64級中斷 8259A的片內(nèi)尋址 A0=1、0,用于選擇內(nèi)部不同寄存器,7.4.1 8259A的引腳,雙列直插式芯片 28個引腳,數(shù)據(jù)總線,外設(shè)的8級中斷請求輸入,讀信號:狀態(tài)信息和中斷向量,寫信號:初始化命
14、令字和操作命令字,向CPU發(fā)送中斷請求信號,中斷響應(yīng)信號,地址線,級聯(lián)信號:用于連接主從芯片完成多片間的信息傳輸,主從設(shè)備選擇控制信號/允許緩沖線,8259A內(nèi)部結(jié)構(gòu),IRR:用于保存IR0IR7的中斷請求,Di=1:IRi有中斷請求 ISR:用于存放正在被服務(wù)的中斷源, Di=1: IRi正在被服務(wù) IMR:用于存放對應(yīng)中斷請求信號的屏蔽狀態(tài), Di=1: IRi被禁止,7.4.2 8259A的中斷工作過程,有請求輸入時,將IRR相應(yīng)位置位; 經(jīng)IMR屏蔽電路處理后(IRR與IMR相與),送PR; PR檢測出最高的中斷請求位,并經(jīng)嵌套處理考慮是否發(fā)送INT; 若可發(fā)INT信號,則控制邏輯將I
15、NT信號送給CPU的INTR引腳 若CPU處在開中斷,則在當(dāng)前指令完成后,發(fā)兩個INTA信號; 8259A接到第一個INTA信號后,使ISR位置位,IRR相應(yīng)位復(fù)位; CPU啟動另一個響應(yīng)周期,輸出第二個INTA脈沖,8259A 向數(shù)據(jù)總線送出中斷類型碼;同時,CPU取出此向量乘以4, 得到中斷服務(wù)程序的入口地址; 中斷響應(yīng)周期完成,CPU執(zhí)行中斷服務(wù)程序,8259A工作 在自動結(jié)束AEOI或普通結(jié)束EOI模式下,使ISR清0。,端口地址的確定,假設(shè):8259A的端口地址為:20H,21H,某8位CPU 和 8259A的地址線如何連接?,A7 A0 0 0 1 0 0 0 0 0 20H 0
16、0 1 0 0 0 0 1 21H,分為3類 (1)中斷觸發(fā)方式 (2)中斷優(yōu)先權(quán)管理方式:中斷屏蔽方式 設(shè)置優(yōu)先權(quán)方式 中斷結(jié)束處理方式 (3)連接系統(tǒng)總線方式,7.4.3 8259A的工作方式,7.4.3 8259A的工作方式,1.中斷觸發(fā)方式(此方式由ICW1來設(shè)置) (1)邊沿觸發(fā)方式: 上升沿觸發(fā),要求高電平信號具有一定的寬度,可避免毛刺現(xiàn)象引發(fā)的中斷誤判 (2)電平觸發(fā)方式: 當(dāng)中斷輸入端持續(xù)出現(xiàn)2個脈沖的高電平,表 示有1個中斷請求,當(dāng)該請求得到響應(yīng)后,輸入端 必須及時撤除高電平,否則引發(fā)第二次中斷。 (3)中斷查詢方式:CPU用軟件查詢,通過讀取查詢字來確認(rèn)是否有中斷產(chǎn)生,7.
17、4: 8259A中斷觸發(fā)方式,2.中斷屏蔽方式 (1)普通屏蔽方式 用OCW1命令將中斷屏蔽寄存器IMR的相應(yīng)位置“1”。高優(yōu)先級的中斷才能中止低優(yōu)先級的中斷 (2)特殊屏蔽方式 用于中斷處理程序中。當(dāng)要允許優(yōu)先級低的中斷進入,可采用特殊屏蔽方式. 可用OCW3的D6D5=11設(shè)置, 用OCW1命令將中斷屏蔽寄存器IMR的相應(yīng)位置“1”,同時將ISR對應(yīng)位清“0”。此時除IMR中置1位對應(yīng)的中斷被屏蔽外,其它置0位對應(yīng)的中斷無論優(yōu)先級高低都可得到響應(yīng)。,3. 優(yōu)先級的管理方式: 一般全嵌套方式 特殊全嵌套方式 優(yōu)先級自動循環(huán)方式 優(yōu)先級特殊循環(huán)方式,(1)全嵌套方式: 8259A默認(rèn)工作方式.
18、 特點:在全嵌套方式中,中斷請求按固定優(yōu)先級IR0IR7進行處理,IR0級中斷的優(yōu)先級最高。 當(dāng)一個中斷被響應(yīng)時,中斷類型碼被放到數(shù)據(jù)總線上,ISR中的對應(yīng)位ISn被置1,然后進入中斷服務(wù)程序。一般情況下(除了中斷自動結(jié)束方式外),在CPU發(fā)出中斷結(jié)束命令(EOI)前,此對應(yīng)位一直保持“1”,需使AEOI=0。僅級別高的中斷才能中斷級別低的中斷。 (2)特殊全嵌套方式 用途:多片級聯(lián)方式, 特殊全嵌套方式僅設(shè)置在主片中. 特點: 和全嵌套方式基本相同,不同的是:在處理中斷時,可響應(yīng)同級中斷,從而實現(xiàn)對同 級中斷請求的特殊嵌套.,思考題:當(dāng)有3片8259A級聯(lián)時,主片采用特殊全嵌套方式,從片采用
19、全嵌套方式,其中斷的優(yōu)先級順序應(yīng)該為?,(3)優(yōu)先級自動循環(huán)方式:(由OCW2決定) 用途:多個中斷源優(yōu)先級相等的場合。 特點:優(yōu)先級是在變化的。優(yōu)先權(quán)初始化順序為IR0IR7,一個設(shè)備中斷被響應(yīng)后, 其優(yōu)先級自動降為最低,比它低一級的中斷源優(yōu)先級升到最高。 如: IR4中斷請求被響應(yīng)后,此方式下,中斷優(yōu)先級自動變?yōu)椋篒R5 IR6 IR7 IR0 IR1 IR2 IR3 IR4 (4)優(yōu)先級特殊循環(huán)方式 與優(yōu)先級自動循環(huán)方式不同點:用戶用程序指定初始的最低優(yōu)先級的中斷源。例如設(shè)置IRi為最低優(yōu)先級,則最高優(yōu)先級為IRi+1,其它各級按循環(huán)方式類推。,4.中斷結(jié)束處理的方式,中斷自動結(jié)束方式
20、一般的中斷結(jié)束方式 特殊的中斷結(jié)束方式,(1)中斷自動結(jié)束方式: 用于系統(tǒng)中只有一片8259A,多個中斷不會嵌套的情形。系統(tǒng)一進入中斷處理,就將當(dāng)前中斷服務(wù)寄存器ISR的對應(yīng)位清除。對8259A來說,好像已經(jīng)結(jié)束了當(dāng)前中斷。 在命令字ICW4中將AEOI(D1)位置“1”。 (2)普通的中斷結(jié)束方式(非自動EOI): 用在全嵌套的情形。CPU用OUT指令往8259A偶地址發(fā)一個EOI命令,8259A將使ISR中優(yōu)先級別最高的非零位(正在服務(wù)的最高優(yōu)先級)清零。結(jié)束當(dāng)前正在處理的中斷。用操作命令字OCW2中的R=0 , SL=0, EOI=1 的設(shè)置來實現(xiàn)。 在命令字OCW2=0010000B=
21、20H,(3)特殊的中斷結(jié)束方式(非自動EOI),在非全嵌套方式下,通過向8259A發(fā)一條特殊中斷結(jié)束命令來判斷要清除ISR中置1位中的哪一位。 用操作命令字OCW2中的R=0, SL=1, EOI=1 的設(shè)置來實現(xiàn),此時OCW2中的L2、L1、L0這3位指出了到底要清除ISR中的哪一位。 OCW2=01100L2L1L0 往偶地址端口輸出OCW2命令。 OCW2中:EOI=1、SL=1、R=0是特殊中斷結(jié)束命令。,5.連接系統(tǒng)總線方式,(1) 緩沖方式: 8259A通過總線驅(qū)動器和數(shù)據(jù)總線相連,這就是緩沖方式。 用于多片8259A級聯(lián)時,此時主片SP/EN作為總線驅(qū)動器的啟動信號連接到CE端
22、,從片SP/EN控制數(shù)據(jù)的方向。 (2) 非緩沖方式: 當(dāng)系統(tǒng)中只有單片8259A時,一般將它直接與數(shù)據(jù)總線相連?;蛘?259A片數(shù)不多的情況下,也可直接與數(shù)據(jù)總線相連。 單片時,8259A SP/EN接高電平;多片時,主片SP/EN接高電平,從片SP/EN接低電平,8259A緩沖方式下級連結(jié)構(gòu),8259A非緩沖方式下級連結(jié)構(gòu),3,6,1#從片掛在主片的IR6 , 2#從片掛在主片的IR3,6 8259A的級聯(lián)應(yīng)用,?,主片: IR3有申請 IRR:0000 1000 ISR:0000 1000 主片向CPU發(fā)INTR信號 CPU發(fā)響應(yīng)信號INTA 主片收到INTA 主片向從片送識別碼: CA
23、S0CAS2=011,在2#從片: 若IR5有申請 IRR: 0010 0000 ISR: 0010 0000 向主片發(fā)INT信號 2#從片與識別碼一致2#從片通過數(shù)據(jù)總線送出中斷類型碼,7 中斷查詢工作方式,與前面所講8259A工作在向量中斷方式不同,查詢中斷工作方式具有以下特點: 外設(shè)的中斷請求信號送入8259A,但是8259A不使用INT引腳向CPU發(fā)送中斷請求 CPU的IF=0,即使得CPU不會響應(yīng)INT引腳上產(chǎn)生的中斷 CPU通過軟件定期或循環(huán)查詢8259A的狀態(tài)(讀入查詢字)來確認(rèn)中斷源,7.4.4 8259A 的編程 分兩種:初始化編程和工作方式編程。 初始化編程:由CPU向82
24、59A送24個字節(jié)的初始化 命令字,一旦設(shè)定,在中斷工作過程中一般不再改變。 工作方式編程:由CPU向8259A送3 個字節(jié)的工作命 令字,以規(guī)定8259A的工作方式,用于動態(tài)控制中斷處理過程。 8259A的初始化命令字:ICWi (i=14) ICW1:芯片控制初始化命令字 ICW2:中斷類型碼設(shè)置 ICW3:用于級聯(lián),主片/從片的初始化命令字 ICW4:方式控制初始化命令字,(1)ICW1(A0=0)芯片控制初始化命令,ICW1必須寫入偶地址端口中。 D7D5: 在系統(tǒng)中不用,為1為0都可以,是A7A5。 D4 : 設(shè)置為1,指示ICW1的標(biāo)志。 D3(LTIM) =1,表示中斷請求為電平
25、觸發(fā)方式, =0,表示中斷請求為邊沿觸發(fā)方式。 D2(ADI): 在8086/8088中不起作用。 D1(SNGL): 指出8259A有否級聯(lián)。 =1,表示系統(tǒng)中有一片8259A,不需寫ICW3 =0,表示系統(tǒng)中有多片8259A,需要寫ICW3 D0(IC4): 指出后面是否設(shè)置ICW4。使用ICW4時 D0必須為1。,8259A 的初始化命令字,(2)ICW2(A0=1)中斷類型碼的設(shè)置,ICW2寫入8259A的奇地址端口。 T7T3:設(shè)置中斷類型碼的高5位,低3位可以為0 D2D0:由中斷請求引腳IR的編號自動插入,8259A 的初始化命令字,解:,ICW1= 0001 0011B ICW
26、2= 0000 1000B MOV AL,00010011B OUT 20H,AL MOV AL,00001000B OUT 21H,AL,例1: 8259A采用前沿觸發(fā),單片使用,需要ICW4 , 假設(shè)IR0的類型碼為08H,試確定ICW1,ICW2。 已知8259A端口地址: 20H,21H,【問】 8259A的ICW2設(shè)置了中斷類型碼的哪幾位?試說明對8259A的ICW2分別設(shè)置為: 30H、38H、36H時有什么差別?,【答】8259A的ICW2設(shè)置了中斷類型碼的D7D3位。 30H和36H對應(yīng)的高5位相同,均為:00110,表示中斷類型碼區(qū)別于低3位; 而38H的高5位為:00111
27、,與前面 的兩者不可能是同片8259中斷。,8259A 的初始化命令字,(3)初始化命令字ICW3: 級聯(lián)方式結(jié)構(gòu),需要分別對主片和從片進行設(shè)置,8259A 的初始化命令字,(3)ICW3(A0=1)級連方式的設(shè)置 ICW3寫入8295A的奇地址端口。 主片ICW3的格式:指出主8259哪個引腳連有從8259,對應(yīng)位置1。 從片ICW3的格式:指出從片8259 連在主8259哪個引腳上,由D2D1D0指出。,主片,從片,8259A 的初始化命令字,例2:現(xiàn)有一主片8259A的IR3和IR6接了2個從片。 主片端口地址: 20H,21H;1#從片端口地址:A0H,A1H 試設(shè)置ICW3。,825
28、9A 的初始化命令字舉例,主片: ICW3= 0100 1000 =48H 從片1#: ICW3= 0000 0011 =03H 從片2#: ICW3= 0000 0110 =06H主片ICW3的初始化程序段: MOV AL,48H OUT 21H,AL 1#從片ICW3的初始化: MOV AL,03H OUT 0A1H,AL,解:,(4) ICW4的格式(A0=1) ICW4為方式控制初始化命令字,寫入奇地址端口。 SFNM: =0,一般全嵌套方式; =1,特殊全嵌套方式(Specific Full Nested Mode) BUF: =0,非緩沖方式; =1,緩沖方式(buffered)
29、M/S: 主片(Master)/從片(Slave) 若BUF=1,M/S=1,作主片,M/S=0,作從片 BUF=0,M/S無意義 AEOI: =0,中斷非自動結(jié)束; =1,中斷自動結(jié)束(Automatic End Of Interrupt) uPM: =0,用于8位機;=1,用于16位機,8259A 的初始化命令字,8259A的工作命令字:OCWi (i=13) OCW1:中斷屏蔽命令字; OCW2:優(yōu)先級循環(huán)方式和中斷結(jié)束方式; OCW3:查詢方式,特殊屏蔽方式,讀狀態(tài)等。,8259A 的操作命令字,在對8259A進行了初始化編程后,芯片已經(jīng)作好接收中斷請求的輸入準(zhǔn)備。 在8259A工作期
30、間若需要改變8259A的工作方式,可由CPU發(fā)送操作命令字OCW進行控制。,(1)OCW1的格式(A0=1) OCW1稱為屏蔽命令字,寫入8259A的奇地址端口。 當(dāng)OCW1某位=1,表示對應(yīng)的中斷請求被屏蔽。,8259A的操作命令字,用于設(shè)置優(yōu)先級循環(huán)方式和中斷結(jié)束方式, 寫入偶地址單元。 D4D3: =00,特征位 D7(R): =1,優(yōu)先級循環(huán)方式;R=0,固定方式。 D5(EOI): =1,普通EOI方式。在中斷服務(wù)完畢,發(fā)中斷結(jié)束命令,使當(dāng)前ISR的最高優(yōu)先權(quán)的ISn復(fù)位。 D5(EOI): =0,未定義。 D6(SL): =1,用L2、L1、L0指定中斷等級。 在ICW4中,若AE
31、OI=1,自動清除當(dāng)前ISn。 AEOI=0, ISn要用EOI清除。,(2)OCW2的格式(A0=0),8259A的操作命令字,8259A的操作命令字,OCW2的R、SL、EOI格式,D7 D6 D5,D7 D6 D5 =001 :使當(dāng)前最高優(yōu)先級的正在服務(wù)ISR位清0。 例1:普通EOI命令 . . (中斷服務(wù)程序) . MOV AL,00100000B OUT 20H,AL IRET,D7 D6 D5 =011:使L2L0所指定IR對應(yīng)的ISR清0。 例2、特殊EOI命令: MOV AL,01100101B OUT 20H,AL IRET IR7 IR6 IR5 IR4 IR3 IR2
32、IR1 IR0 (原)ISR:0 0 1 1 0 0 0 0 (新)ISR:0 0 0 1 0 0 0 0 (中斷源IR5),D7 D6 D5 =101 :使當(dāng)前正在服務(wù)ISR位清0,并使其對應(yīng)IR的優(yōu)先級變?yōu)樽畹汀?例3、自動循環(huán)、普通EOI命令 MOV AL,10100000B OUT 20H,AL IRET 執(zhí)行前 ISR:0 1 0 0 1 0 0 0 優(yōu)先級:7 6 5 4 3 2 1 0 執(zhí)行后 ISR:0 1 0 0 0 0 0 0 優(yōu)先級: 3 2 1 0 7 6 5 4,D7 D6 D5 =100 :進入自動循環(huán)優(yōu)先狀態(tài),在CPU響應(yīng)某一IR請求后自動將其ISR位清0,并將該
33、IR的優(yōu)先級變?yōu)樽畹汀?1 0 0 0 0 0 0 0 D7 D6 D5 =000 :退出自動循環(huán)優(yōu)先狀態(tài),此后按AEOI方式使ISR清0,優(yōu)先級結(jié)構(gòu)保持固定方式不變。 0 0 0 0 0 0 0 0,D7 D6 D5 =111 :同時完成普通EOI命令和設(shè)置最低優(yōu)先級命令。 例4、循環(huán)指定、普通EOI命令(有多個中斷時)。要把IR6定為最低 (L2L1L0=110) MOV AL,11100110B OUT 20H,AL 執(zhí)行前 ISR: 0 1 1 0 0 1 0 0 優(yōu)先級: 2 1 0 7 6 5 4 3 執(zhí)行后 ISR: 0 1 0 0 0 1 0 0 優(yōu)先級: 0 7 6 5 4
34、3 2 1,D7 D6 D5 =110 :使L2L0所指定IR為最低優(yōu)先級。該命令可用于循環(huán)優(yōu)先的優(yōu)先級結(jié)構(gòu)改變,也可用于固定優(yōu)先結(jié)構(gòu)中設(shè)定優(yōu)先級順序。 例:設(shè)置優(yōu)先權(quán)命令。若知當(dāng)前IR5最高,想把IR7定為最高優(yōu)先權(quán)。(實際上應(yīng)該把IR6置為最低優(yōu)先權(quán))。此時, L2L1L0 =110 . MOV AL,11000110B OUT 20H,AL; IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 (前)優(yōu): 2 1 0 7 6 5 4 3 (后)優(yōu): 0 7 6 5 4 3 2 1,(3)OCW3的格式(A0=0),用于提供查詢方式,特殊屏蔽方式,讀狀態(tài)等操作 D4D3=01,
35、特征位 1.查詢中斷: P=1時,表示查詢。 例:IR4引腳上有中斷請求,CPU執(zhí)行一條輸入指令,從偶地址端口讀得以下查詢字:,8259A的操作命令字,P=0時,讀IRR或ISR。,2.讀狀態(tài) OCW3=00001010B, RR=1,RIS=0,讀IRR; OCW3=00001011B, RR=1,RIS=1,讀ISR。 若要讀IMR,不須設(shè)OCW3的查詢命令,直接從奇地址端口讀入IMR。 3.特殊屏蔽方式操作 ESMM=1,SMM=1,置特殊屏蔽方式,8259A脫離當(dāng)前優(yōu)先級方式. ESMM=1,SMM=0,撤銷特殊屏蔽方式 ESMM=0,SMM不起作用,8259A的操作命令字,4. 82
36、59A哪些寄存器的內(nèi)容可讀出? 設(shè)8259A地址20H,21H,1)讀中斷屏蔽寄存器IMR內(nèi)容:中斷屏蔽字 IN AL,21H ;A0=1 2)要讀出ISR或IRR的內(nèi)容,A0=0 必須設(shè)置OCW3中的 D4D3 D2 =010: (1)讀IRR:設(shè)置OCW3:D1D0=10 MOV AL, 00001010B IN AL, 20H (2)讀ISR:設(shè)置OCW3:D1D0=11 MOV AL, 00001011B IN AL, 20H,8259A的操作命令字,3)此外,查詢字也可讀出,A0=0。先寫入P=1的OCW3查詢命令字,【問】 8529A僅占用兩個I/O地址,它是如何區(qū)別4條ICW命令
37、和3條OCW命令的?在地址引腳A01時讀出的是什么?,【答】 A0=0寫ICW1、OCW2、OCW3,以其特征位區(qū)分(D4D3分別是1X,00,01)。 A0=1寫ICW2、ICW3、ICW4、OCW1,寫ICW1后順序?qū)懙氖荌CW2、ICW3、ICW4。 A0=0讀IRR、ISR、查詢字,由OCW3的RR和RIS兩位區(qū)分IRR和ISR,通過OCW3的P位向8259發(fā)查詢命令后讀出的是查詢字。 A0=1時,讀IMR。,編寫程序,將8259的IRR、ISR和IMR寄存器的內(nèi)容送到內(nèi)存0050H開始的單元中。,MOV AL,0AH OUT 20H,AL IN AL,20H MOV 0050H,AL
38、 MOV AL,0BH OUT 20H,AL IN AL,20H MOV 0051H,AL IN AL,21H MOV 0052H,AL,分析: 要讀IRR,則OCW3的D1D0=10; 要讀ISR,則OCW3的D1D0=11; IRR和ISR在偶地址中,IMR在奇地址中。,8259A命令字的使用方法,ICW按順序?qū)懭耄ㄏ葘懀?ICW1 ICW2 (ICW3) (ICW4) ICW2、ICW3、ICW4為同址順序?qū)懭耄ㄆ娴刂罚?OCW按需要寫入(后寫) OCW1、OCW2、OCW3無寫入順序 OCW2、OCW3為同址識別寫入(偶地址、標(biāo)志位),7.4.6 8259A在微機系統(tǒng)中的使用,圖8-1
39、2 8259A的初始化流程,1. 8259編程命令 1.初始化命令字 ICW1ICW4 2.操作命令字 OCW1OCW3,2. 8259A的使用,例1:單片使用8259A的初始化 (1)要求:IBM PC/XT 8259A ,單片,邊緣觸發(fā),全嵌套方式,設(shè)定0級中斷類型碼為08H. 端口地址 :20H,21H. (2)硬件連接:CAS2CAS0不用,SP/EN接+5V. (3)初始化命令字: ICW1=0001 0011B ; 邊緣觸發(fā),單片,需ICW4 ICW2=0000 1000B ;設(shè)置類型碼的高5位 ICW4=0000 0001B ;全嵌套,非緩沖,非自動EOI,16位機,8259A初始化編程,. MOV AL, 13H ;ICW1:邊沿觸發(fā).單片.要ICW4 OUT 20H,AL MOV AL , 08H ;ICW2:IRQ0中斷類型為08H OUT 21H,AL MOV AL, 01H ;ICW4全嵌套.8086系統(tǒng) OUT 21H,AL ;普通EOI方式,例2:1片8259A工作于全嵌套方式. 若要求在IR3的中斷服務(wù)中,允許IR5進入,該如何作?,1)在IR3中斷服務(wù)程序開始 關(guān)中斷(CLI) 用OCW3設(shè)置特殊屏蔽方式 取原屏蔽字保存 將IMR3,IMR4,IMR6,IMR7置1,只允許IR5進入 開中斷(
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年大學(xué)大一(建筑施工技術(shù))施工工藝期中測試試題及答案
- 2025年中職生物(動物學(xué)基礎(chǔ))試題及答案
- 2025年大學(xué)大一(動物科學(xué))動物遺傳學(xué)綜合測試題及答案
- 2025年大學(xué)大一(文化產(chǎn)業(yè)管理)文化市場階段測試試題及答案
- 2025年中職種子生產(chǎn)技術(shù)(良種選育)試題及答案
- 2025年大學(xué)生物(生物多樣性保護)試題及答案
- 2025年大學(xué)生態(tài)學(xué)(生態(tài)環(huán)境基礎(chǔ))試題及答案
- 2025年大學(xué)化學(xué)(無機化學(xué))試題及答案
- 2025年大學(xué)體育(網(wǎng)球教學(xué))試題及答案
- 2026年黑龍江農(nóng)墾職業(yè)學(xué)院單招職業(yè)技能考試模擬試題帶答案解析
- 2025年國資委主任年終述職報告
- 大學(xué)教學(xué)督導(dǎo)與課堂質(zhì)量監(jiān)控工作心得體會(3篇)
- 項目專家評審意見書標(biāo)準(zhǔn)模板
- 2025年高中計算機操作試題題庫及答案
- 2026年山西信息職業(yè)技術(shù)學(xué)院單招職業(yè)技能測試題庫及參考答案詳解1套
- 麻醉科麻醉后惡心嘔吐預(yù)防指南
- 04 《生于憂患死于安樂》對比閱讀(解析版)
- 外貿(mào)三方協(xié)議出口合同
- 物業(yè)員工交通安全培訓(xùn)
- 碳積分交易平臺市場分析報告
- 半導(dǎo)體物理-課件 -第9章 半導(dǎo)體異質(zhì)結(jié)構(gòu)
評論
0/150
提交評論