![微機接口技術(shù)8259A中斷控制器_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/8601a74f-6cda-4374-8078-54e677ae1cba/8601a74f-6cda-4374-8078-54e677ae1cba1.gif)
![微機接口技術(shù)8259A中斷控制器_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/8601a74f-6cda-4374-8078-54e677ae1cba/8601a74f-6cda-4374-8078-54e677ae1cba2.gif)
![微機接口技術(shù)8259A中斷控制器_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/8601a74f-6cda-4374-8078-54e677ae1cba/8601a74f-6cda-4374-8078-54e677ae1cba3.gif)
![微機接口技術(shù)8259A中斷控制器_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/8601a74f-6cda-4374-8078-54e677ae1cba/8601a74f-6cda-4374-8078-54e677ae1cba4.gif)
![微機接口技術(shù)8259A中斷控制器_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-3/12/8601a74f-6cda-4374-8078-54e677ae1cba/8601a74f-6cda-4374-8078-54e677ae1cba5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 第六章 中斷控制接口1 8086/8088的中斷系統(tǒng)1 中斷的概念2 8086/8088中斷系統(tǒng)1 中斷的概念中斷的概念1、為什么要引入中斷?-Interrupt一種非常重要的基本輸入輸出方式廣泛的用在故障處理和系統(tǒng)調(diào)用等方面2 什么是中斷?什么是中斷?中斷源中斷源中斷中斷請求請求 當(dāng)當(dāng) 前前 程程 序序中斷中斷服務(wù)服務(wù)程序程序程序斷點程序斷點中斷返回中斷返回中斷響應(yīng)中斷響應(yīng)中斷:在程序運行時,系統(tǒng)外部、內(nèi)部或現(xiàn)行程序本身中斷:在程序運行時,系統(tǒng)外部、內(nèi)部或現(xiàn)行程序本身若出現(xiàn)緊急事件,處理器必須立即強行中止現(xiàn)行程序的若出現(xiàn)緊急事件,處理器必須立即強行中止現(xiàn)行程序的運行,改變機器的工作狀態(tài)并啟
2、動相應(yīng)的程序來處理這運行,改變機器的工作狀態(tài)并啟動相應(yīng)的程序來處理這些事件,然后再恢復(fù)原來的程序運行。這一過程稱為中些事件,然后再恢復(fù)原來的程序運行。這一過程稱為中斷。斷。1. 究竟是什么引起中斷?中斷產(chǎn)生如何服務(wù)?響應(yīng)中斷請求,如何服務(wù)即如何找到中斷服務(wù)程序去執(zhí)行?執(zhí)行完中斷服務(wù)程序,如何返回主程序當(dāng)多個中斷同時請求服務(wù)時,如何處理?2. CPU是否一定會響應(yīng)中斷?INT n指令指令中中 斷斷 邏邏 輯輯斷點中斷斷點中斷(INT 3)溢出中斷溢出中斷(INTO, OF=1)單步中斷單步中斷(TF=1)除法錯除法錯中斷中斷軟件中斷軟件中斷非屏蔽中斷請求非屏蔽中斷請求中中斷斷控控制制器器(825
3、9A)NMIINTRIRQ0.IRQ7可可 屏屏 蔽蔽 中中 斷斷 硬件中斷硬件中斷2 中斷類型號、中斷向量、中斷向量表中斷類型號、中斷向量、中斷向量表 8086/8088系統(tǒng)允許引入256個中斷,系統(tǒng)為每一個中斷源編號,依次為0255,即為。根據(jù)中斷類型碼68H取得中斷服務(wù)程序入口地址50H(IPL)20H(IPH)00H(CSL)A0H(CSH)中斷服務(wù)程序中斷服務(wù)程序IRET00000H00001H01A0H(0000:01A0H) (A000:2050H) A2050HFFFFFH高地址高地址低地址低地址中斷類型碼中斷類型碼68401A0H(中斷向量表地址)(中斷向量表地址)圖4-2
4、8086/8088系統(tǒng)的中斷向量表CSIPCSIPCSIPCSIPCSIPCSIPCSIP類型類型255(十進制)(十進制)類型類型32類型類型31(十進制)(十進制)類型類型0保留的中斷保留的中斷(共(共27個)個)類型號類型號531專用的中斷專用的中斷(共(共5個)個)類型號類型號04溢出中斷溢出中斷斷點中斷斷點中斷非屏蔽中斷非屏蔽中斷單步中斷單步中斷除數(shù)為除數(shù)為0中斷中斷類型類型1類型類型2類型類型3類型類型4類型類型50000:0003H0000:0000H0000:0007H0000:0004H0000:000BH0000:0008H0000:000FH0000:000CH0000:
5、0014H0000:0013H0000:0010H0000: 03FFH0000:0080H0000:007FH0000:007EH0000:007DH0000:007CH供用戶定義的中斷供用戶定義的中斷(共(共224個)個)類型號類型號32255可見中斷向量對于中斷服務(wù)實現(xiàn)是至關(guān)重要的可見中斷向量對于中斷服務(wù)實現(xiàn)是至關(guān)重要的中斷向量如何在中斷向量表中正確放置?中斷向量如何在中斷向量表中正確放置?2 可編程中斷控制器8259A1、8259A內(nèi)部結(jié)構(gòu)與引腳功能2、8259A的工作原理3、8259A工作方式4、8259A的編程功能功能: 在有多個中斷源系統(tǒng)中,協(xié)助在有多個中斷源系統(tǒng)中,協(xié)助CPU實
6、現(xiàn)對外部中斷的管理,對它們實現(xiàn)對外部中斷的管理,對它們進行優(yōu)先級排隊后向進行優(yōu)先級排隊后向CPU發(fā)出中斷請發(fā)出中斷請求信號求信號特點特點: 單片單片8259A能管理能管理8級中斷。若采用級聯(lián)工作方式,可級中斷。若采用級聯(lián)工作方式,可以用以用9片片8259A構(gòu)成構(gòu)成64級主從式中斷系統(tǒng)級主從式中斷系統(tǒng) 具有中斷判優(yōu)邏輯功能,且對每一級中斷都可以屏蔽具有中斷判優(yōu)邏輯功能,且對每一級中斷都可以屏蔽或允許或允許 中斷響應(yīng)后,能將預(yù)置的中斷類型碼自動提供給中斷響應(yīng)后,能將預(yù)置的中斷類型碼自動提供給CPU 8259A通過通過編程編程可以工作在多種不同的方式,從而能可以工作在多種不同的方式,從而能方便的滿足
7、多種類型微機中斷系統(tǒng)的需要方便的滿足多種類型微機中斷系統(tǒng)的需要1. 8259A的引腳的引腳 雙列直插式芯片,雙列直插式芯片,28個引腳個引腳 (參看教材圖(參看教材圖6-24)方方 波波鍵鍵 盤盤保保 留留串串 口口2 硬硬 盤盤軟軟 盤盤打印機打印機IOW18.2HzA0CS8259A總線總線A0數(shù)數(shù) 據(jù)據(jù) 線線 IORRDWR片片選選譯譯碼碼IR0IR1IR2IR3IR4IR5IR6IR7A5A9D0D7D0D7VccSP/ENCA0CA1CA2GND+ 5V203FH用于多片用于多片8259A級連情況級連情況INTAINT INTA INTR串串 口口1 定時器定時器 u CS:片選信號
8、,輸入,低電平有效,來自地址:片選信號,輸入,低電平有效,來自地址譯碼器的輸出。只有該信號有效時,譯碼器的輸出。只有該信號有效時,CPU才能對才能對8259A進行讀進行讀/寫操作。寫操作。u WR:寫信號,輸入,低電平有效,通知:寫信號,輸入,低電平有效,通知8259A接收接收CPU從數(shù)據(jù)總線上送來的命令字。從數(shù)據(jù)總線上送來的命令字。u RD:讀信號,輸入,低電平有效,用于讀?。鹤x信號,輸入,低電平有效,用于讀取8259A中某些寄存器的內(nèi)容中某些寄存器的內(nèi)容(如如IMR、ISR或或IRR) D7D0:雙向、三態(tài)數(shù)據(jù)線,接系統(tǒng)數(shù)據(jù)總線的D7D0,用來傳送控制字、狀態(tài)字和中斷類型號等。 IR7IR
9、0:中斷請求信號,輸入,從I/O接口或其他8259A(從控制器)上接收中斷請求信號。在邊沿觸發(fā)方式中,IR輸入應(yīng)由低到高,此后保持為高,直到被響應(yīng)。在電平觸發(fā)方式中,IR輸入應(yīng)保持高電平。 8259A向CPU發(fā)出的中斷請求信號,高電平有效,該引腳接CPU的INTR引腳。 中斷響應(yīng)信號,輸入,接收CPU發(fā)來的中斷響應(yīng)脈沖以通知8259A中斷請求已被響應(yīng),使其將中斷類型號送到數(shù)據(jù)總線上。 nCAS2 CAS0:級聯(lián)線,傳送3位標(biāo)識碼,用于區(qū)分特定的從控制器。雙向:對于主片為輸出,對于從片為輸入。n :從片/允許緩沖器信號。雙功能引腳: 作為輸入時,8259A作為主片(1) 8259A作為從片(0)
10、 作為輸出時,用來啟動(允許)數(shù)據(jù)總線收發(fā)器(如8286)。 究竟是作為輸入還是輸出,取決于8259A是否工作于“緩沖方式”,由初始化命令字決定SP/ ENSP/ ENSP/ EN 為地址輸入信號,用于對8259A內(nèi)部寄存器端口的尋址。A0接地址線的A1或A0,對端口進行尋址,以給奇端口,一個偶端口。在IBM PC/XT機中,譯碼來自產(chǎn)生CS信號,組合為001*,范圍是20H3FH, IBM PC/XT機取8259端口地址為20H、21H。圖圖4-4 8259A內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)4.2.1 8259A內(nèi)部結(jié)構(gòu)和引腳功能內(nèi)部結(jié)構(gòu)和引腳功能數(shù)據(jù)總線數(shù)據(jù)總線緩沖器緩沖器讀讀/寫寫控制電路控制電路級級
11、連連緩沖器緩沖器/比較器比較器中斷服務(wù)中斷服務(wù)寄存器寄存器(ISR)中斷請求中斷請求寄存器寄存器(IRR)優(yōu)先權(quán)優(yōu)先權(quán)判別器判別器(PR)中斷屏蔽寄存器中斷屏蔽寄存器(IMR)控制電路控制電路 SP/EN。IR0IR1IR2IR6IR7內(nèi)部總線內(nèi)部總線CAS0CAS1CAS2_ INTA INT WR RDCSA0D7D0數(shù)據(jù)總線數(shù)據(jù)總線緩沖器緩沖器讀讀/寫寫控制電路控制電路級級 連連緩沖器緩沖器/比較器比較器中斷服務(wù)中斷服務(wù)寄存器寄存器(ISR)中斷請求中斷請求寄存器寄存器(IRR)優(yōu)先權(quán)優(yōu)先權(quán)判別器判別器(PR)中斷屏蔽寄存器中斷屏蔽寄存器(IMR)控制電路控制電路 SP/EN。IR0IR
12、1IR2IR6IR7內(nèi)部總線內(nèi)部總線CAS0CAS1CAS2_ INTA INT WR RDCSA0D7D0圖圖4-4 8259A內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)4.2.1 8259A內(nèi)部結(jié)構(gòu)和引腳功能內(nèi)部結(jié)構(gòu)和引腳功能CPU寫入控制字、讀入狀態(tài)信息、中斷響應(yīng)的類型號均經(jīng)其傳送保存從IR0IR7來的中斷請求信號,某位=1表示對應(yīng)的IRi有中斷請求。可允許8個請求同時進入,此時則全置1,當(dāng)中斷請求被響應(yīng)時,相應(yīng)位復(fù)位存放中斷屏蔽字,某位=1表示對應(yīng)的IRi輸入被屏蔽,若為零,則允許該位進入中斷優(yōu)先級判別器對優(yōu)先級進行識別,選出最高優(yōu)先級請求送往ISR,出現(xiàn)多重中斷,由PR來判斷是否打斷正在處理的中斷保存正在處理
13、中的中斷請求信號,當(dāng)響應(yīng)某位中斷請求時,第一個響應(yīng)INTA時相應(yīng)位置1,直到中斷結(jié)束命令發(fā)出。允許多重中斷時,多個位將同時置1根據(jù)IRR和IMR通過PR判定優(yōu)先級,向芯片內(nèi)部和其他部件發(fā)出控制信號。發(fā)中斷請求信號,接收響應(yīng)信號,將ISR相應(yīng)位置1,IRR相應(yīng)位置0,并送中斷類型號給CPU。若為中斷自動結(jié)束方式,負責(zé)將ISR相應(yīng)位清0 讀/寫控制邏輯功能是確定數(shù)據(jù)總線緩沖器中數(shù)據(jù)的傳輸方向,選擇內(nèi)部的各命令字寄存器。當(dāng)CPU發(fā)寫信號時,CPU給8259A送初始化命令字(ICW)和操作字(OCW)。當(dāng)CPU發(fā)讀信號時讀入8259A的狀態(tài)信息,包括中斷服務(wù)寄存器、中斷屏蔽寄存器、中斷請求寄存器、中斷
14、查詢字等。SP/EN在緩沖方式和非緩沖方式下有不同的作用。級聯(lián)緩沖/比較器用來存放和比較在系統(tǒng)中用到的所有8259A的級聯(lián)地址。主控8259A通過CAS0、CAS1和CAS2發(fā)送級聯(lián)地址,選中從控8259A。 計算機學(xué)院系統(tǒng)結(jié)構(gòu)教研室計算機學(xué)院系統(tǒng)結(jié)構(gòu)教研室2022-3-1820n4個初始化命令寄存器 n ICW1、ICW2n ICW3、ICW4 n3個操作命令寄存器 n OCW1(IMR)n OCW2、OCW3n當(dāng)前中斷服務(wù)寄存器 ISRn中斷申請寄存器 IRR 8259A內(nèi)部有內(nèi)部有9個個 可讀寫的寄存器可讀寫的寄存器8259A的編程結(jié)構(gòu)的編程結(jié)構(gòu) 1 I3 I4ICW1 芯片控制芯片控制
15、 ICW2 中斷類型號中斷類型號 ICW3 主從片關(guān)系主從片關(guān)系 ICW4 方式控制方式控制處理部分處理部分控制部分控制部分000 0 0 0 0 0 ISR當(dāng)前當(dāng)前中斷中斷服務(wù)服務(wù)寄存器寄存器PR優(yōu)先級優(yōu)先級裁決器裁決器IRR中斷申請中斷申請寄存器寄存器000 0 0 0 0 0 中斷屏蔽寄存器中斷屏蔽寄存器 IMROCW2 1 0 0 1 0 1 0 0 0 0 0 1 OCW3OCW18259A中斷控制器中斷控制器8259工作示意圖工作示意圖Go aheadIR0IR7上出現(xiàn)某一中斷請求信號IRR對應(yīng)位被置“1”由IMR的相應(yīng)位決定是否將其屏蔽(屏蔽位=1,不通過;屏蔽位=0,通過) 未
16、被屏蔽的中斷請求進PR,當(dāng)只有一個中斷時,則該中斷源向CPU發(fā)出中斷請求INTR。當(dāng)同時有兩個以上中斷時,根據(jù)編程設(shè)定的優(yōu)先級確定中斷優(yōu)先級最高的中斷向CPU發(fā)出中斷請求INTR。若CPU正在執(zhí)行中斷服務(wù)程序,PR把新進入的中斷請求和當(dāng)前正在處理的中斷進行優(yōu)先級比較。若新進入的中斷優(yōu)先級高,該中斷請求被送到CPU。若CPU的IF=1,CPU完成當(dāng)前指令后,響應(yīng)中斷,在 引腳上發(fā)出兩個負脈沖(執(zhí)行兩個中斷響應(yīng)總線周期):CPU相應(yīng)中斷請求,從INTA向8259A回送兩個負脈沖,第一個負脈沖到來,8259A將:使IRR鎖存功能失效,不再接收新請求,直到第二個負脈沖結(jié)束后,才又使IRR鎖存禁止。將I
17、SR相應(yīng)位置1,表明當(dāng)前的服務(wù)對象,并為PR提供判斷依據(jù)IRR中對應(yīng)位清零第二個負脈沖到來,8259A將:將中斷類型號(ICW2)送上數(shù)據(jù)總線若8259A工作在自動中斷結(jié)束方式,將剛才置位的ISR對應(yīng)位清零(自動結(jié)束);否則,要等到中斷結(jié)束命令(EOI)發(fā)送后才能清除。優(yōu)先級設(shè)置方式中斷源屏蔽方式中斷結(jié)束方式引入中斷請求方式優(yōu)先級的設(shè)置方式優(yōu)先級的設(shè)置方式 1)全嵌套方式)全嵌套方式(FULLY NESTED MODE) 也稱固定優(yōu)先級方式。IR0(最高)IR7(最低). 當(dāng)一個中斷請求被響應(yīng)時,ISR中的對應(yīng)位ISn被置“1”,8259A把中斷類型碼放到數(shù)據(jù)總線上,然后,進入中斷服務(wù)程序。同
18、級和低級的中斷請求不能中斷當(dāng)前的中斷服務(wù),但并不禁止比本級優(yōu)先級高的中斷響應(yīng)實現(xiàn)中斷“嵌套”。在對8259A初始化后若沒有設(shè)置其他優(yōu)先級方式,則默認為全嵌套方式。中斷嵌套的實現(xiàn):通過PR判別IRR中的對應(yīng)位和ISR中的對應(yīng)位。2)特殊全嵌套方式(SPECIAL FULLY NESTED MODESFNM) 和全嵌套方式基本相同。唯一不同在于可以響應(yīng)同級的中斷請求,實現(xiàn)同級的中斷嵌套。通過ICW4的“SFNM”位可以設(shè)置此種方式。 特殊全嵌套方式的使用場合:特殊全嵌套方式的使用場合:級聯(lián)方式中主片8259A被設(shè)置為特殊全嵌套方式。CPUIR0IR1IR7IR0IR1IR78259(主片)8259
19、(從片)特殊全嵌套方式的使用場合:特殊全嵌套方式的使用場合:級聯(lián)方式中主片8259A被設(shè)置為特殊全嵌套方式。 3) 優(yōu)先級自動循環(huán)方式(AUTOMATIC ROTATION) 優(yōu)先級是循環(huán)變化的(不希望有固定的優(yōu)先級差別)一個設(shè)備的中斷服務(wù)完成后,其優(yōu)先級自動降為最低,而將最高優(yōu)先級賦給原來比它低一級的中斷請求。 開始時,優(yōu)先級隊列還是:IR0-IR7,若此時出現(xiàn)了IR0請求,響應(yīng)IR0并處理完成后,隊列變?yōu)椋篒R1,IR2,IR3,IR4 ,IR5 ,IR6 ,IR7,IR0。若又出現(xiàn)了IR4請求,處理完IR4后,隊列變?yōu)椋篲 系統(tǒng)中是否采用“自動循環(huán)優(yōu)先級”,由操作命令字OCW2來設(shè)定。
20、意義:主要用在系統(tǒng)中各中斷源優(yōu)先級相同的情況下。 4) 優(yōu)先級特殊循環(huán)方式(SPECIFIC ROTATION) 與優(yōu)先級自動循環(huán)方式基本相同,只是剛開始的最低優(yōu)先級由編程來確定。而優(yōu)先級自動循環(huán)方式中,最初的最高優(yōu)先級一定是IR0。 例如:最初設(shè)定IR4為最低優(yōu)先級,那么IR5就是最高優(yōu)先級。 優(yōu)先級特殊循環(huán)方式和初始最低優(yōu)先級仍由OCW2來確定 中斷屏蔽方式中斷屏蔽方式 1)普通屏蔽方式 通過設(shè)置IMR的相應(yīng)位來實現(xiàn)。也就是設(shè)置OCW1。 可通過OCW1使IMR的一位或幾位置“1”。 IMR的內(nèi)容應(yīng)該是經(jīng)常變化的,例如:計算機網(wǎng)絡(luò)通信中接收中斷的優(yōu)先級較高。當(dāng)本機在進行發(fā)送時,會先屏蔽接收
21、中斷,但是一旦發(fā)送結(jié)束,會馬上打開接收中斷。2)特殊屏蔽方式 可以實現(xiàn)動態(tài)的改變系統(tǒng)的優(yōu)先級結(jié)構(gòu)。例如:執(zhí)行中斷處理程序的某一部分時,禁止較低級的中斷請求,但執(zhí)行該程序的另一部分時,又可以響應(yīng)比本身級別低的中斷請求。通過設(shè)置OCW3特殊屏蔽方式實現(xiàn)屏蔽本級中斷,允許優(yōu)先級比當(dāng)前高或低的中斷源進入。3 中斷結(jié)束的處理方式中斷結(jié)束的處理方式中斷結(jié)束的實質(zhì):將ISR中的對應(yīng)位清零。什么時候?qū)SR中的對應(yīng)位清零? 1)中斷自動結(jié)束方式(AEOI) 該方式在第二個INTA負脈沖的后沿即完成對應(yīng)的ISR位的復(fù)位。在中斷處理過程中,8259A中就沒有“正在處理”的標(biāo)識,從8259A的角度看,中斷服務(wù)已經(jīng)結(jié)
22、束。此時,若有中斷請求出現(xiàn),且IF1,則無論其優(yōu)先級如何,都將得到響應(yīng)。這樣,低級中斷可以打斷高級中斷,產(chǎn)生重復(fù)嵌套,并且嵌套深度也無法控制。 AEOI方式經(jīng)常使用在只有一片8259A且中斷不嵌套的場合。通過ICW4可以設(shè)置AEOI方式(AEOI=1) 2)一般中斷結(jié)束方式 該方式用于全嵌套方式下的中斷結(jié)束??蓪?259A的中斷服務(wù)寄存器中最高優(yōu)先級的ISR位清0。在全嵌套方式下,ISR中最高優(yōu)先級的ISR位,對應(yīng)于當(dāng)前正在處理的中斷(即最后一次被響應(yīng)和處理的中斷),將其清0,就相當(dāng)于結(jié)束了當(dāng)前正在處理的中斷。由CPU在中斷服務(wù)結(jié)束后送出EOI命令,通過送出OCW2完成。 3)特殊中斷結(jié)束方式
23、 在非全嵌套方式下,根據(jù)ISR的內(nèi)容無法確定最后所響應(yīng)和處理的是哪一級中斷。這種情況下,采用特殊中斷結(jié)束方式,通過指令指明要清除ISR中的哪一位。通過發(fā)出OCW2實現(xiàn)特殊中斷結(jié)束命令。4 引入中斷請求的方式引入中斷請求的方式 1)電平觸發(fā)方式:由IRi上的有效電平來觸發(fā)“中斷請求觸發(fā)器”。請求一旦被響應(yīng),該高電平信號應(yīng)及時撤除。否則可能引起二次中斷。 2)邊沿觸發(fā)方式:由IRi上由低電平向高電平的跳變來觸發(fā)“中斷請求觸發(fā)器”。出現(xiàn)以后可以一直保持高電平。 由ICW1的LTIM位可以設(shè)置中斷觸發(fā)方式。 3)中斷查詢方式 結(jié)合中斷和查詢兩種方式的特點,多用于多于64級中斷的場合。此時除了8259A
24、,還需要部分附加電路來共同完成??梢钥醋龃藭r8259A作為完全查詢式系統(tǒng)中大部分查詢電路的一種工作方式。 通過設(shè)置OCW3實現(xiàn)。5連接系統(tǒng)總線的方式連接系統(tǒng)總線的方式 1)緩沖方式 在緩沖方式下,8259A通過總線收發(fā)器(如8286)和數(shù)據(jù)總線相連。8259A的SP/EN作為輸出(EN有效)。緩沖方式主要用于多片8259A級聯(lián)的大系統(tǒng)中。 此時,若EN=0,則允許緩沖器輸出,8259A送出狀態(tài)字或者中斷類型碼。EN=1,允許緩沖器輸入,往8259A送操作命令字。 2)非緩沖方式 該方式下,8259A直接與數(shù)據(jù)總線相連,8259A的SP/EN作為輸入(SP有效)。只有單片8259A時,SP/EN
25、端必須接高電平;有多片8259A時,主片的SP/EN端接高電平,從片的該引腳接低電平。非緩沖方式主要用于單片8259A或片數(shù)不多的8259A級聯(lián)的系統(tǒng)中。6 8259A的級聯(lián)方式的級聯(lián)方式 n一個系統(tǒng)中,8259A可以級連,有一個主8259A,若干個(最多8個)從8259A,最多可以引入64個中斷源n級連時,主8259A的三條級連線CAS0CAS2作為輸出線,連至每個從8259A的CAS0CAS2n每個從8259A的中斷請求信號INT,連至主8259A的一個中斷請求輸入端IRn主8259A的INT線連至CPU的中斷請求輸入端nSP*/EN*在非緩沖方式下,規(guī)定該8259A是主片(SP*1)還是
26、從片(SP*0)n級聯(lián)方式下,需要分別對主片和從片進行初始化;此時中斷結(jié)束一般采用非自動結(jié)束方式,需要分別給主片和從片送出中斷結(jié)束命令。圖示圖示演示演示BACK8259A的級聯(lián)8259A中一共包含7個寄存器:初始化寄存器ICW1ICW4,可實現(xiàn)8259A的初始化。操作命令字寄存器OCW1OCW3,決定中斷屏蔽、中斷優(yōu)中斷屏蔽、中斷優(yōu)先級次序、中斷結(jié)束方式、查詢方式先級次序、中斷結(jié)束方式、查詢方式等,并提供給CPU相關(guān)寄存器的狀態(tài)。初始化命令字是在計算機系統(tǒng)啟動時由初始化程序設(shè)定的,一旦確定,在系統(tǒng)工作過程中就不再改變,而操作命令字由應(yīng)用程序設(shè)定,用來對中斷處理過程作動態(tài)控制,在一個系統(tǒng)的運行過
27、程中,操作命令字可以多次設(shè)置。 A0 RD* WR* CS*功能 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 1寫入ICW1、OCW2和OCW3寫入ICW2ICW4和OCW1讀出IRR、ISR和查詢字讀出IMR數(shù)據(jù)總線高阻狀態(tài)數(shù)據(jù)總線高阻狀態(tài)nICW1芯片控制初始化命令字(A0=0)1SIC4D7D6D5D4D3D2D1D0LTIM1:電平觸發(fā):電平觸發(fā)0:邊沿觸發(fā):邊沿觸發(fā)1:單片:單片82590:多片:多片8259級聯(lián)級聯(lián)1:需要:需要ICW40:不需要:不需要ICW48086/8088系系統(tǒng)中不用統(tǒng)中不用標(biāo)志位標(biāo)志位n確定ICW2中斷類型號初始化命令字(A
28、0=1)T7T6T5T4D7D6D5D4D3D2D1D0T3對應(yīng)對應(yīng)IR0到到IR7例如:設(shè)例如:設(shè)ICW2為為40H,則,則8個中斷類型碼對應(yīng)為個中斷類型碼對應(yīng)為40H47H,若,若ICW2為為45H,則,則8個中斷類型碼個中斷類型碼仍為仍為40H47H。n確定ICW3標(biāo)志主片/從片(A0=1)S7S6S5S4S2S1S0D7D6D5D4D3D2D1D0S3Si=0,表示相應(yīng),表示相應(yīng)IRi沒接從片沒接從片8259ASi=1,表示相應(yīng),表示相應(yīng)IRi接有從片接有從片8259A0000ID2ID1ID0D7D6D5D4D3D2D1D00表明接到主片的哪表明接到主片的哪個引腳個引腳多片級聯(lián)的情況
29、下,主從片的CAS0-CAS2均連在一起,主片的為輸出,從片為輸入。當(dāng)CPU響應(yīng)中斷,在第一個響應(yīng)負脈沖到來時,主片在CAS0-CAS2上發(fā)出ID0-ID2的編碼,每個從片從CAS0-CAS2接收,與自身的ICW3對照,對比一致的從片將在第二個響應(yīng)負脈沖到來時將中斷類型碼送上數(shù)據(jù)總線。n確定ICW4方式控制初始化(A0=1)000SFNMM/SAEOIPMD7D6D5D4D3D2D1D0BUF1:特殊全嵌套方式:特殊全嵌套方式0:一般嵌套方式:一般嵌套方式0X:非緩沖方式:非緩沖方式10:緩沖方式:緩沖方式/從屬片從屬片11:緩沖方式:緩沖方式/主控片主控片1:自動:自動EOI0:非自動結(jié)束:
30、非自動結(jié)束1:8086/88模式模式0:8080/85模式模式n 8259A的初始化命令字(ICW)是在加電之后由CPU按特定的順序?qū)懭氲?。也就是說,各初始化命令字的識別一方面依賴于地址信號A0和初始化命令字中的特定標(biāo)識位,另一方面也與寫入的先后次序有關(guān)。寫入寫入ICW1(A0=0)寫入寫入ICW2 (A0=1)寫入寫入ICW3 (A0=1)寫入寫入ICW4 (A0=1)是級連工作是級連工作需要需要ICW4YNYNnICW1:芯片控制n是否級連n請求信號格式n是否用ICW4nICW2:設(shè)置中斷類型碼nICW3:主/從控制nICW4:方式控制n是否為特殊全嵌套方式n是否為緩沖方式n是否為自動結(jié)束
31、中斷方式n是否為8086/8088系統(tǒng)必須按照流程初始化寫入時要注意端口地址除了ICW3,別的初始化命令字必須設(shè)置級聯(lián)情況下需要設(shè)置ICW3時,要對主片和從片分別設(shè)置。 在8259A工作期間,可通過設(shè)置操作命令字來修改或控制8259A的工作方式。 需要說明的是,與初始化命令字ICWICW4需要按規(guī)定的順序進行設(shè)置不同,操作命令字OCW1OCW3 的設(shè)置沒有規(guī)定其先后順序,使用時可根據(jù)需要靈活選擇不同的操作命令字寫入到8259A中。當(dāng)然,也需注意奇、偶端口地址及有關(guān)標(biāo)識位的規(guī)定。nOCW1(中斷屏蔽操作命令字)(A0=1)M7M6M5M4M2M1M0D7D6D5D4D3D2D1D0M3某一位為某
32、一位為1,對應(yīng)于這一位的中斷請求就受到屏蔽,對應(yīng)于這一位的中斷請求就受到屏蔽例:使主例:使主8259的的IR5屏蔽,程序為:屏蔽,程序為:OCW1 EQU 21H ;主;主8259 OCW1的地址的地址IN AL,OCW1 ;讀出;讀出IMROR AL,00100000B ;屏蔽;屏蔽IR5OUT OCW1,ALnOCW2設(shè)置優(yōu)先級循環(huán)方式和中斷結(jié)束方式(A0=0)RSLEOI0L2L1L0D7D6D5D4D3D2D1D00n其中,D D = 00是OCW2 的標(biāo)識位。nR表示中斷優(yōu)先級是否按循環(huán)方式設(shè)置。R1表示采用循環(huán)方式,R0表示采用非循環(huán)方式。nSL表示OCW2 中的L2、L1、L0
33、是否有效。SL1表示有效,SL0表示無效。nEOI為中斷結(jié)束命令位。EOI1使當(dāng)前ISR寄存器的相應(yīng)位清0。當(dāng)ICW4 中的AEOI為0時,ISR中的相應(yīng)置1位就要由該命令位來清除。RSLEOI0L2L1L0D7D6D5D4D3D2D1D00nL2、L1、L0 在SL=1時配合R、SL、EOI的設(shè)置,用來確定一個中斷優(yōu)先級的編碼。L2、L1、L0 的8種編碼000111分別與IR0IR7 相對應(yīng)。n由R、SL、EOI三位可以定義多種不同的中斷結(jié)束命令或優(yōu)先級循環(huán)方式。 組合功能如下: 當(dāng)當(dāng)EOI=0,用于指定優(yōu)先級循環(huán)方式,用于指定優(yōu)先級循環(huán)方式RSLEOI00L1L2L010000工作在優(yōu)先
34、級自動循環(huán)方式工作在優(yōu)先級自動循環(huán)方式00000清除自動循環(huán)命令,變?yōu)楣潭▋?yōu)先級清除自動循環(huán)命令,變?yōu)楣潭▋?yōu)先級11000L1L2L0優(yōu)先級設(shè)置命令,優(yōu)先級設(shè)置命令,L2 L0指定的指定的IR優(yōu)先級最低,系統(tǒng)工作于優(yōu)先級特殊循環(huán)優(yōu)先級最低,系統(tǒng)工作于優(yōu)先級特殊循環(huán)10100一般自動循環(huán)命令,使正在執(zhí)行的一般自動循環(huán)命令,使正在執(zhí)行的IS復(fù)位復(fù)位且優(yōu)先級最低且優(yōu)先級最低 當(dāng)當(dāng)EOI=1,用于中斷結(jié)束,并使系統(tǒng)按某方式繼續(xù)工作,用于中斷結(jié)束,并使系統(tǒng)按某方式繼續(xù)工作11100L1L2L0L2 L0指定的指定的IS復(fù)位并變?yōu)樽畹蛢?yōu)先級復(fù)位并變?yōu)樽畹蛢?yōu)先級01100L1L2L0特殊中斷結(jié)束命令,使特殊
35、中斷結(jié)束命令,使L2 L0指定的指定的IS復(fù)位復(fù)位00100一般中斷結(jié)束命令,使正在執(zhí)行的一般中斷結(jié)束命令,使正在執(zhí)行的IS復(fù)位復(fù)位 OCW3的功能有三個方面:設(shè)置和撤消特殊屏蔽方式、設(shè)置中斷查詢方式以及設(shè)置對8259A內(nèi)部寄存器的讀出。OCW3寫入A0=0的端口。1查詢命令隨后讀ISR清除特殊屏蔽設(shè)置特殊屏蔽無用0ESMMSMM 01PRR RIS00011011特征位00011011無用0非查詢隨后讀IRRD7D6D5D4D3D2D1D0A01查詢命令隨后讀ISR清除特殊屏蔽設(shè)置特殊屏蔽無用0ESMMSMM 01PRR RIS00011011特征位00011011無用0非查詢隨后讀IRRD
36、7D6D5D4D3D2D1D0A0OCW3 EQU 20HIRR EQU OCW3ISR EQU OCW3MOV AL,0AH ;讀出命令,;讀出命令,P=0,RR=1,RIS=0,選,選IRROUT OCW3,ALIN AL,IRR ;在;在AL中讀得中讀得IRR的值的值例:讀例:讀IRR1查詢命令隨后讀ISR清除特殊屏蔽設(shè)置特殊屏蔽無用0ESMMSMM 01PRR RIS00011011特征位00011011無用0非查詢隨后讀IRRD7D6D5D4D3D2D1D0A0OCW3 EQU 20HIRR EQU OCW3ISR EQU OCW3MOV AL,0BH ;讀出命令,;讀出命令,P=0
37、,RR=1,RIS=1,選,選ISROUT OCW3,ALIN AL,ISR例:讀例:讀ISR “中斷查詢”方式 特點:既有中斷的特點,又有查詢的特點。n外設(shè)仍然向8259A發(fā)中斷請求信號,要求CPU服務(wù)。請求格式遵循ICW1的LITMnCPU的IF=0,不響應(yīng)外部的中斷請求(對CPU的中斷請求信號不起作用)n此時,CPU需要用軟件查詢方法來確認中斷源,從而實現(xiàn)對設(shè)備的服務(wù)n多用在大于64級的場合,查詢的最終完成還需要若干附加電路的配合。此方式可以看作是用8259代替了完全查詢式系統(tǒng)中大部分電路的工作方式8259A的寄存器組的讀寫邏輯: ICW2、 ICW3、 ICW4和OCW1寫入奇地址端口
38、。 初始化時ICW1后緊跟ICW2、 ICW3、 ICW4,按照順序不會弄錯。OCW1是在應(yīng)用程序中寫入的,不會緊跟在ICW1之后。ICW1、OCW2、OCW3寫入偶地址,一方面ICW1在初始化程序中,另一方面由D4區(qū)分, D4=0時為ICW, D4=1時為OCW;再用D3區(qū)分, D3=0時為OCW2, D3=1時為OCW3。由此,通過、和區(qū)分出對具體寄存器的訪問。8259A的級聯(lián) 接線及初始化BACK中斷服務(wù)程序的編程中斷服務(wù)程序的編程F中斷服務(wù)程序的編程原則中斷服務(wù)程序的編程原則1)中斷是異步發(fā)生的,進入響應(yīng)時并不考慮當(dāng)前運行狀)中斷是異步發(fā)生的,進入響應(yīng)時并不考慮當(dāng)前運行狀態(tài)。因此中斷服
39、務(wù)程序必須保護現(xiàn)場態(tài)。因此中斷服務(wù)程序必須保護現(xiàn)場2)在進入具體中斷處理之前要先初始化中斷向量,使其)在進入具體中斷處理之前要先初始化中斷向量,使其指向相應(yīng)的中斷服務(wù)程序,但在此之前要先關(guān)中斷,以防指向相應(yīng)的中斷服務(wù)程序,但在此之前要先關(guān)中斷,以防接管中斷過程中發(fā)生中斷接管中斷過程中發(fā)生中斷3)在中斷服務(wù)程序入口處要立即開中斷,以允許較高優(yōu))在中斷服務(wù)程序入口處要立即開中斷,以允許較高優(yōu)先級的中斷產(chǎn)生先級的中斷產(chǎn)生4)中斷服務(wù)程序的服務(wù)時間要盡量壓縮,以免干擾同級)中斷服務(wù)程序的服務(wù)時間要盡量壓縮,以免干擾同級或低級中斷設(shè)備的工作或低級中斷設(shè)備的工作5)由于)由于PC機中機中8259采用正常結(jié)
40、束中斷,因此在中斷采用正常結(jié)束中斷,因此在中斷服務(wù)程序執(zhí)行服務(wù)程序執(zhí)行IRET返回前應(yīng)向返回前應(yīng)向8259發(fā)結(jié)束中斷命令發(fā)結(jié)束中斷命令EOIMOV AL, 20H;使當(dāng)前使當(dāng)前ISR中的對應(yīng)位復(fù)位中的對應(yīng)位復(fù)位OUT 20H, ALIRET6)當(dāng)編制替代系統(tǒng)原有中斷服務(wù)程序時,應(yīng)保存好)當(dāng)編制替代系統(tǒng)原有中斷服務(wù)程序時,應(yīng)保存好原中斷向量的內(nèi)容。在應(yīng)用程序終止前恢復(fù)原有的中原中斷向量的內(nèi)容。在應(yīng)用程序終止前恢復(fù)原有的中斷向量斷向量F中斷服務(wù)程序的編程原則中斷服務(wù)程序的編程原則7)若中斷服務(wù)程序只為某個應(yīng)用程序服務(wù),則中斷服)若中斷服務(wù)程序只為某個應(yīng)用程序服務(wù),則中斷服務(wù)程序可以和主程序組裝成一個程序一起裝入內(nèi)
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 經(jīng)營酒吧合同
- 股份制改革流程文書模板與指導(dǎo)
- 汽車美容店合作協(xié)議書年
- 委托培訓(xùn)協(xié)議書
- 質(zhì)量管理體系培訓(xùn)指導(dǎo)書
- 2025年青海貨運從業(yè)資證孝試模似題庫
- 小學(xué)三年級數(shù)學(xué)加減乘除混合口算
- 2025年黔東南道路貨運駕駛員從業(yè)資格證考試題庫
- 2025年上海貨車叢業(yè)資格證考試題
- 2025年汕頭貨運從業(yè)資格證怎么考試
- 《環(huán)境管理學(xué)》教案
- 2025年蛇年年度營銷日歷營銷建議【2025營銷日歷】
- (一模)寧波市2024學(xué)年第一學(xué)期高考模擬考試 數(shù)學(xué)試卷(含答案)
- 攝影入門課程-攝影基礎(chǔ)與技巧全面解析
- 冀少版小學(xué)二年級下冊音樂教案
- 【龍集鎮(zhèn)稻蝦綜合種養(yǎng)面臨的問題及優(yōu)化建議探析(論文)13000字】
- 父母贈與子女農(nóng)村土地協(xié)議書范本
- 《師范硬筆書法教程(第2版)》全套教學(xué)課件
- 中國聯(lián)通H248技術(shù)規(guī)范
- 集團母子公司協(xié)議書
- 孫權(quán)勸學(xué)省公共課一等獎全國賽課獲獎?wù)n件
評論
0/150
提交評論