(第18講)第8章-輸入輸出接口8.4_第1頁
(第18講)第8章-輸入輸出接口8.4_第2頁
(第18講)第8章-輸入輸出接口8.4_第3頁
(第18講)第8章-輸入輸出接口8.4_第4頁
(第18講)第8章-輸入輸出接口8.4_第5頁
已閱讀5頁,還剩84頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第第8 8章章 輸入輸出接口輸入輸出接口8.3.4 中斷控制器及其應用中斷控制器及其應用第第8章章 輸入輸出接口輸入輸出接口8.1 I/O接口概述接口概述8.1.1 I/O接口的典型結構接口的典型結構8.1.2 I/O端口的編址端口的編址8.1.3 輸入輸出指令輸入輸出指令8.2 外設數據傳送方式外設數據傳送方式8.2.1 無條件傳送無條件傳送8.2.2 程序查詢傳送程序查詢傳送8.2.3 中斷傳送中斷傳送8.2.4 DMA傳送傳送8.3 中斷系統中斷系統8.3.1 中斷類型中斷類型8.3.2 中斷向量表中斷向量表8.3.3 中斷服務程序中斷服務程序8.3.4 中斷控制器及其應用中斷控制器及其

2、應用中斷系統的功能中斷系統的功能p設置中斷源設置中斷源p中斷源識別中斷源識別p中斷源判優(yōu)中斷源判優(yōu)p中斷的嵌套中斷的嵌套p中斷與返回中斷與返回p中斷的屏蔽中斷的屏蔽:確定系統允許的中斷,及其請求方式:確定系統允許的中斷,及其請求方式:判別中斷源,并執(zhí)行響應中斷服務程序:判別中斷源,并執(zhí)行響應中斷服務程序:多個中斷源請求中斷時,中斷優(yōu)先級排序:多個中斷源請求中斷時,中斷優(yōu)先級排序:高級中斷源能中斷低級中斷的服務程序:高級中斷源能中斷低級中斷的服務程序:能自動轉入中斷服務程序,能自動返回:能自動轉入中斷服務程序,能自動返回:允許:允許/禁止中斷請求禁止中斷請求8.3.4 中斷控制器及其應用中斷控制

3、器及其應用pIntel 8259A PIC(中斷控制器中斷控制器 Programmable Interrupt Controller )n作用作用p中斷屏蔽與開放中斷屏蔽與開放p管理中斷請求,中斷優(yōu)先權排隊管理中斷請求,中斷優(yōu)先權排隊p提供中斷向量號(提供中斷向量號(類型碼類型碼)n特點特點p可編程設置不同工作方式可編程設置不同工作方式p一片管理一片管理8級中斷,請求引腳:級中斷,請求引腳:IR0IR7p每一級中斷可單獨被屏蔽或允許每一級中斷可單獨被屏蔽或允許p多個芯片級聯:最多擴展至多個芯片級聯:最多擴展至64級中斷(級中斷(9個芯片)個芯片)中斷管理器中斷管理器8259A PCIp1. 8

4、259A的內部結構與引腳的內部結構與引腳p2. 8259A的工作過程的工作過程p3. 8259A的工作方式的工作方式p4. 8259A命令字命令字p5. 8259A應用舉例應用舉例p6. 可屏蔽中斷服務程序設計可屏蔽中斷服務程序設計1. 8259A的結構與引腳的結構與引腳內部結構內部結構主要寄存器主要寄存器p中斷請求寄存器中斷請求寄存器 IRR(Interrupt Request REG)nIR7IR0:中斷請求信號中斷請求信號IR0IR7的請求狀態(tài)的請求狀態(tài)p0:無請求;:無請求;1:有請求:有請求p中斷服務寄存器中斷服務寄存器 ISR(In Service REG)nISR0ISR7:中斷

5、請求:中斷請求IR0IR7被被8259A服務的狀態(tài)服務的狀態(tài)p0:沒有被服務;沒有被服務;1:正在服務中:正在服務中p中斷屏蔽寄存器中斷屏蔽寄存器 IMR(Interrupt Mask REG)nIMR0IMR7:中斷請求信號:中斷請求信號IR0IR7的屏蔽狀態(tài)的屏蔽狀態(tài)p1:被屏蔽;被屏蔽;0:被開放:被開放p優(yōu)先權分析器優(yōu)先權分析器 PR (Priority Resolver)n比較中斷的優(yōu)先級別比較中斷的優(yōu)先級別p新新中斷請求和中斷請求和ISR中當前中當前正在處理正在處理的中斷請求的中斷請求 若:新中斷請求若:新中斷請求 ISR中當前正在處理的中斷中當前正在處理的中斷8259A的輸出端的

6、輸出端INT:輸出高電平:輸出高電平p數據總線緩沖器數據總線緩沖器n三態(tài)緩沖器三態(tài)緩沖器n8259A與與CPU的數據總線接口的數據總線接口p級聯緩沖器級聯緩沖器/比較器比較器n用于用于多片多片8259之間的連接之間的連接中斷處理過程中斷處理過程p內部中斷內部中斷n(1) 請求請求n(2) 響應響應n(3) 服務服務n(4) 返回返回p外部可屏蔽中斷外部可屏蔽中斷n(1) 請求請求n(2) 判優(yōu)判優(yōu)n(3) 響應響應n(4) 服務服務n(5) 返回返回外部可屏蔽中斷處理過程外部可屏蔽中斷處理過程p(1) 請求請求p(2) 判優(yōu)判優(yōu)p(3) 響應響應p(4) 服務服務p(5) 返回返回2. 825

7、9A的的可屏蔽可屏蔽中斷處理過程中斷處理過程示意圖示意圖8259A的工作過程的工作過程步驟步驟p8259A初始化后初始化后n當當IRi中斷請求中斷請求有效時,置有效時,置IRRi=1n若有效的若有效的IRi未被屏蔽,則未被屏蔽,則向向CPU發(fā)出中斷請求發(fā)出中斷請求n檢測到第檢測到第1個個INTA#信號后,信號后,置置ISRi=1,IRRi=0n檢測到第檢測到第2個個INTA#信號后,則信號后,則把把ISRi=1中中最高最高優(yōu)先級優(yōu)先級的的中斷類型碼放到中斷類型碼放到DB上上n若工作在若工作在AEOI(自動結束自動結束)方式,在第方式,在第2個個INTA#結束時,使結束時,使ISRi復位;否則復

8、位;否則CPU的中斷服務程序的中斷服務程序發(fā)出發(fā)出EOI命令使命令使ISRi復位復位(1) 中斷請求中斷請求p中斷源發(fā)出中斷請求信號中斷源發(fā)出中斷請求信號n硬件中斷:硬件中斷:INTR(高電平高電平)或或NMI(上升沿上升沿)n軟中斷:除數為軟中斷:除數為0、溢出、溢出p外部中斷請求過程外部中斷請求過程n外設接口外設接口(中斷源中斷源)發(fā)出中斷請求信號發(fā)出中斷請求信號,送到,送到CPU的的INTR或或NMI引腳引腳n中斷請求中斷請求信號應保持信號應保持到中斷被處理為止到中斷被處理為止nCPU響應中斷后,中斷響應中斷后,中斷請求信號應及時撤銷請求信號應及時撤銷n外設的中斷經過外設的中斷經過825

9、9A可編程中斷控制器可編程中斷控制器(PIC)的的排隊排隊判優(yōu)后判優(yōu)后向向CPU發(fā)出:發(fā)出: (I/O接口接口) PIC CPU(2) 中斷判優(yōu)中斷判優(yōu)p在多個中斷源情況下在多個中斷源情況下n由由設計者設計者將它們事先排隊(硬件)將它們事先排隊(硬件)n當同時到達時,當同時到達時,CPUCPU根據優(yōu)先級,處理根據優(yōu)先級,處理當前優(yōu)先級最高當前優(yōu)先級最高的中斷源的中斷源p中斷判優(yōu)的另一作用是決定是否可能實現中斷判優(yōu)的另一作用是決定是否可能實現中斷嵌套中斷嵌套 中斷子程序中斷子程序1 1中斷申請中斷申請CPUCPU執(zhí)行流程執(zhí)行流程中斷子程序中斷子程序2 2(3) 中斷響應中斷響應p每條指令的最后一

10、個時鐘周期每條指令的最后一個時鐘周期,CPU檢測檢測INTR或或NMI信號信號pCPU中斷響應條件中斷響應條件n當前指令執(zhí)行完當前指令執(zhí)行完p對對INTR,還應滿足以下條件,還應滿足以下條件 (a)當前指令是當前指令是STI和和IRET,則下條指令也要執(zhí)行完,則下條指令也要執(zhí)行完 (b)當前指令帶有當前指令帶有LOCK、REP等指令前綴時,則等指令前綴時,則把把它們看成一個整體,要求完整地執(zhí)行完它們看成一個整體,要求完整地執(zhí)行完n對對INTR,CPU應處于開中斷狀態(tài),即應處于開中斷狀態(tài),即IF=1n當前沒有復位當前沒有復位(RESET)和保持和保持(HOLD)信號信號n若若 NMI 和和 IN

11、TR 同時發(fā)生,則同時發(fā)生,則首先響應首先響應NMIp中斷響應時,中斷響應時,CPU的工作的工作n向中斷源發(fā)出向中斷源發(fā)出INTA信號,使信號,使外設將外設將中斷類型碼中斷類型碼N DB( (數據總線數據總線) )CPUn保護標志寄存器保護標志寄存器FR(FLAGS)n使使IF=0、TF=0,屏蔽屏蔽INTR中斷和中斷和單步單步中斷中斷n斷點保護,包括:斷點保護,包括:CS、IPp保證中斷結束后能返回被中斷的程序保證中斷結束后能返回被中斷的程序n獲得中斷服務程序獲得中斷服務程序首地址(入口)首地址(入口)p根據根據中斷類型碼中斷類型碼N找中斷服務程序入口地址找中斷服務程序入口地址 (0:N 4

12、 ) IP ;( 0 : N 4 + 2 ) CSn轉中斷服務程序轉中斷服務程序內部中斷類型碼由內部中斷類型碼由指令提供或自動形指令提供或自動形成成(4) 中斷服務中斷服務p中斷服務中斷服務子程序子程序:n是是”遠遠”過程(用過程(用PROC和和ENDP定義,定義,類型為類型為FAR)n用用IRET指令返回指令返回p中斷服務子程序要做的工作中斷服務子程序要做的工作n保護現場保護現場 (PUSH regs) n開中斷開中斷 (STIIF=1) n進行中斷處理進行中斷處理n關中斷關中斷 (CLIIF=0)n恢復現場恢復現場 (POP regs) n結束結束8259A中斷中斷(EOI)n中斷返回中斷

13、返回 (IRET) (5) 中斷返回中斷返回p指令:指令:IRETn 恢復斷點地址恢復斷點地址CS、IP,返回到主程序;,返回到主程序;n 恢復恢復FR內容,實際起了內容,實際起了開中斷的作用開中斷的作用。IPLIPHCSLCSHFLAGLFLAGHSPIPLIPHCSLCSHFLAGLFLAGHSPCSIPFLAG進入中斷服進入中斷服務程序時務程序時中斷返回后中斷返回后可可屏屏蔽蔽中中斷斷的的響響應應和和執(zhí)執(zhí)行行8259A的命令字寄存器的命令字寄存器ICW、OCW命令字寄存器命令字寄存器ICW、OCWp功能功能n按編程設定方式管理按編程設定方式管理8259A的全部工作的全部工作p內部寄存器內

14、部寄存器n初始化初始化命令字命令字RegpICW1ICW4 一經設定,保持不變一經設定,保持不變n操作操作命令字命令字RegpOCW1OCW3 隨時,根據中斷控制要求(操作)設置隨時,根據中斷控制要求(操作)設置引腳和連接引腳和連接A0RD*WR*CS*功能功能0100寫入寫入ICW1、OCW2和和OCW31100寫入寫入ICW2ICW4和和OCW10010讀出讀出IRR、ISR和查詢字和查詢字1010讀出讀出IMR110數據總線高阻狀態(tài)數據總線高阻狀態(tài)1數據總線高阻狀態(tài)數據總線高阻狀態(tài)8259A的地址的地址寫寫 ICW2寫寫 ICW3寫寫 ICW4寫寫 OCW1讀讀 IMR寫寫 ICW1寫寫

15、 OCW2寫寫 OCW3讀讀 IRR讀讀 ISR讀讀 查詢字查詢字A0=0A0=1級聯工作方式級聯工作方式p單片單片8259A可支持可支持8個中斷源;個中斷源;p采用多片采用多片8259A級連,可最多支持級連,可最多支持64個中斷源個中斷源nn片片8259A可支持可支持7n+1個中斷源個中斷源n只能有只能有8259A為主片;為主片;n涉及到的涉及到的8259A引腳包括:引腳包括:CAS0-CAS2SP*/EN*IRiINTpCAS2CAS0:級聯信號線:級聯信號線n主片與從片的連接線,傳送主片對從片的選擇碼主片與從片的連接線,傳送主片對從片的選擇碼p主片為輸出;從片為輸入主片為輸出;從片為輸入

16、pSP*/EN*:從片選擇或總線驅動器的控制信號:從片選擇或總線驅動器的控制信號n緩沖器方式,輸出信號緩沖器方式,輸出信號p用作用作8259A與系統總線的總線驅動器的控制信號與系統總線的總線驅動器的控制信號pEN*=1,數據方向由,數據方向由CPU8259A;EN*=0,方向相反,方向相反n非緩沖器方式,輸入信號非緩沖器方式,輸入信號p用于級聯中的從片選擇用于級聯中的從片選擇 主片,主片,SP*/EN*=1;從片,;從片,SP*/EN*=0p單片單片8259A時,時,SP*/EN*=1級連電路連接方法級連電路連接方法p緩沖器方式,緩沖器方式,EN*輸出輸出n1:數據數據CPU8259An0:數

17、據數據CPU8259Ap非緩沖器方式,非緩沖器方式, SP*輸入輸入n級聯級聯時的從片選擇時的從片選擇p1:主片主片;0:從片從片n單片單片8259A:1SP*/EN*引腳功能:引腳功能:8259級聯工作示意圖級聯工作示意圖3. 8259A的工作方式的工作方式p中斷觸發(fā)方式中斷觸發(fā)方式p中斷屏蔽方式中斷屏蔽方式p中斷優(yōu)先級排隊方式中斷優(yōu)先級排隊方式p中斷結束方式中斷結束方式邊沿觸發(fā)方式邊沿觸發(fā)方式電平觸發(fā)方式電平觸發(fā)方式常規(guī)屏蔽方式常規(guī)屏蔽方式特殊屏蔽方式特殊屏蔽方式普通全嵌套方式普通全嵌套方式特殊全嵌套方式特殊全嵌套方式優(yōu)先級循環(huán)方式優(yōu)先級循環(huán)方式自動自動EOIEOI方式方式非自動非自動EO

18、IEOI方式方式普通普通( (常規(guī)常規(guī))EOI)EOI方式方式特殊特殊( (指定指定)EOI)EOI方式方式(1) 中斷觸發(fā)方式中斷觸發(fā)方式ICW1p邊沿觸發(fā)方式邊沿觸發(fā)方式n有中斷請求有中斷請求p引腳引腳IRi上出現上出現上升沿上升沿p電平觸發(fā)方式電平觸發(fā)方式n有中斷請求有中斷請求p引腳引腳IRi上出現上出現高電平高電平(2) 中斷屏蔽方式中斷屏蔽方式p普通屏蔽方式普通屏蔽方式OCW1、IMRn設置方法:通過設置方法:通過OCW1設置設置IMRpIMRi=1 1,屏蔽屏蔽中斷請求中斷請求IRipIMRi=0 0,允許允許中斷請求中斷請求IRip特殊屏蔽方式特殊屏蔽方式OCW3、IMRn設置方

19、法:通過設置方法:通過OCW3和和IMR配合設置配合設置n用于用于開放較低級中斷開放較低級中斷請求請求p屏蔽屏蔽中斷請求中斷請求IRi,同時,同時復位復位ISRi,使,使較本級低的較本級低的中斷源申請可以得到響應中斷源申請可以得到響應(3) 中斷優(yōu)先級排隊方式中斷優(yōu)先級排隊方式ICW4、OCW2p普通全嵌套方式普通全嵌套方式p特殊全嵌套方式特殊全嵌套方式p優(yōu)先級循環(huán)方式優(yōu)先級循環(huán)方式p普通全嵌套方式(用于普通全嵌套方式(用于單片單片8259A ,默認方式),默認方式)n特點特點p中斷優(yōu)先級中斷優(yōu)先級固定固定p當處理一級中斷時,當處理一級中斷時,屏蔽屏蔽同級或低級同級或低級的中斷源的申的中斷源的

20、申請,請,響應響應高優(yōu)先級高優(yōu)先級的中斷源的申請的中斷源的申請p特殊全嵌套方式(用于特殊全嵌套方式(用于8259A級聯級聯)n特點特點p中斷優(yōu)先級中斷優(yōu)先級固定固定p當處理一級中斷時當處理一級中斷時,也,也響應響應同級同級的中斷請求的中斷請求IR7IR6IR5IR4IR3IR2IR1IR076543210最低級最低級最高級最高級優(yōu)先級優(yōu)先級默認優(yōu)先級默認優(yōu)先級D.主主8259AIR0IR1IR2IR3IR4IR5IR6IR7一般嵌套方式:一般嵌套方式:從片的從片的INT被主片封被主片封鎖,故更鎖,故更高高級別的級別的IR0-IR2中斷也無法中斷也無法得到響應得到響應特殊嵌套方式:特殊嵌套方式:

21、因主片不封鎖從片的因主片不封鎖從片的INT,故級別高的,故級別高的IR0-IR2中斷可以得到響應。中斷可以得到響應。( (但但IR3-IR7仍被本從仍被本從片封鎖片封鎖) )C.假定假定IR3發(fā)生中發(fā)生中斷斷,并獲得服務并獲得服務一般嵌套方式:一般嵌套方式:IR4的中斷被服務的中斷被服務時,這些中斷將時,這些中斷將被封鎖。被封鎖。B.特殊嵌套方式:特殊嵌套方式:IR4的中斷被服的中斷被服務 時 , 只 封 鎖務 時 , 只 封 鎖IR5-IR7。A.INTE.從從8259AINTIR0IR1IR2IR3IR4IR5IR6IR7一般全嵌套方式與特殊全嵌套方式的區(qū)別一般全嵌套方式與特殊全嵌套方式的

22、區(qū)別 去去CPU主主片片特特殊殊全全嵌嵌套套從從片片普普通通全全嵌嵌套套優(yōu)先級循環(huán)方式優(yōu)先級循環(huán)方式多個中斷源優(yōu)先級相等的情況多個中斷源優(yōu)先級相等的情況p特點特點:n優(yōu)先級優(yōu)先級不固定不固定n一個中斷一個中斷IRi處理完后,處理完后,它的優(yōu)先級它的優(yōu)先級自動降為自動降為最低最低,IRi+1的優(yōu)先級為的優(yōu)先級為最高最高p例例. 設初始中斷優(yōu)先級為設初始中斷優(yōu)先級為IR0IR1IR2IR3IR4IR5IR6IR7n(1) IR0處理后的中斷優(yōu)先級為處理后的中斷優(yōu)先級為pIR1IR2IR3IR4IR5IR6IR7IR0n(2) IR4處理后的中斷優(yōu)先級為處理后的中斷優(yōu)先級為pIR5IR6IR7IR0

23、IR1IR2IR3IR4IR0IR4IR6IR2IR1IR3IR7IR5p優(yōu)先級循環(huán)方式的分類優(yōu)先級循環(huán)方式的分類(依據:最低優(yōu)先級的設置方法)(依據:最低優(yōu)先級的設置方法)n自動循環(huán)方式自動循環(huán)方式p初始優(yōu)先級別,默認為初始優(yōu)先級別,默認為 IR0IR1IR2IR3IR4IR5IR6IR7n特殊循環(huán)方式特殊循環(huán)方式p與優(yōu)先權自動循環(huán)方式與優(yōu)先權自動循環(huán)方式唯一唯一的不同的不同 可通過可通過OCW2命令字設置命令字設置當前當前的的最低最低優(yōu)先級優(yōu)先級若設若設IRi為最低,則為最低,則IRi+1為最高為最高IR0IR4IR6IR2IR1IR3IR7IR5(4) 中斷結束方式中斷結束方式 EOI

24、OCW2p響應中斷請求響應中斷請求IRi時,時,ISRi置置1 1pIRi的中斷服務結束時,必須使的中斷服務結束時,必須使ISRi復位復位n功能:功能:標識標識8259A中斷處理中斷處理結束結束n這個中斷結束這個中斷結束p是指是指8259A結束結束中斷中斷,而不是,而不是CPU結束結束中斷服務程序中斷服務程序p分類分類n自動自動結束結束方式方式AEOIn非自動非自動EOI方式方式普通普通( (常規(guī)常規(guī))EOI)EOI方式方式特殊特殊( (指定指定)EOI)EOI方式方式p自動自動結束結束方式方式AEOIn用于用于p系統只有系統只有一片一片8259Ap中斷中斷不嵌套不嵌套n方法方法p在第二個在第

25、二個INTA*的后沿,的后沿,8259A自動把自動把ISR中中對應對應位位(剛被置位剛被置位)復位復位n特點特點p中斷服務程序中斷服務程序未未結束時結束時 ISRi位位(剛被置位剛被置位)已經復位已經復位對對8259A來說中斷已經結束來說中斷已經結束p普通普通(常規(guī)常規(guī))結束結束方式方式NSEOIn用于用于p普通全嵌套方式普通全嵌套方式 當前服務過的中斷的優(yōu)先權最高當前服務過的中斷的優(yōu)先權最高8259A能能確定確定剛服務剛服務的中斷源的的中斷源的等級等級n方法方法p把把ISR中中最高優(yōu)先級最高優(yōu)先級的的ISRi位位(剛被置位剛被置位)復位復位p特殊結束方式特殊結束方式SEOIn用于用于p優(yōu)先級

26、排隊方式:優(yōu)先級排隊方式:非非普通全嵌套方式普通全嵌套方式 8259A不能不能確定確定剛服務剛服務的中斷源的的中斷源的等級等級n使用原因使用原因p8259A不能確定不能確定剛服務的源的等級,要用特殊的剛服務的源的等級,要用特殊的EOI命令命令指明指明要清除的要清除的ISR位位n方法方法p命令加在命令加在中斷服務程序的中斷服務程序的末尾末尾、IRET之前之前4. 8259A命令字命令字p初始化命令字初始化命令字nICW(Initialization Command Word)p初始化編程初始化編程 選擇工作方式選擇工作方式p操作命令字操作命令字nOCW(Operation Command Wor

27、d)p中斷操作編程中斷操作編程 按新要求工作,讀取信息等按新要求工作,讀取信息等初始化命令字初始化命令字ICW 8259A的初始化的初始化寫寫ICW1寫寫ICW2級連?級連?寫寫ICW3需需ICW4?寫寫ICW4NNYY8259A8259A的初始化流程的初始化流程pICW1(初始化字)(初始化字)pICW2(中斷類型碼字)(中斷類型碼字)pICW3(級聯控制字)(級聯控制字)pICW4(方式控制字)(方式控制字)A0=0A0=1A0=1A0=1(1) ICW1(初始化字)(初始化字)pLTIM: 觸發(fā)方式觸發(fā)方式1 高電平觸發(fā)高電平觸發(fā)0 上升沿觸發(fā)上升沿觸發(fā)pSNGL: 級連控制級連控制1

28、單片單片0 級連級連1LTIMSNGLIC4D7D6D5D4D3D2D1D00A0例:設例:設8259A8259A端口地址端口地址20H20H、21H21H MOV AL MOV AL,13H13H OUT 20H OUT 20H,ALALICW1pIC4: ICW4控制控制1 要寫要寫ICW40 不寫不寫ICW4(默認(默認ICW4為全為全0)中斷為邊沿觸發(fā),系統中一片中斷為邊沿觸發(fā),系統中一片8259A8259A,要設,要設ICW4ICW4ICW1識別位識別位寫入寫入ICW1后,后,8259A的狀態(tài)的狀態(tài)p初始化初始化8259A必須從必須從 開始開始p寫寫ICW1意味著重新初始化意味著重新

29、初始化8259Ap寫入寫入ICW1后,后,8259A的狀態(tài)如下:的狀態(tài)如下:n順序邏輯復位,準備按順序邏輯復位,準備按ICW2、CW3和和ICW4順序順序接收接收ICW;n清除清除ISR和和IMR(全全0);n將中斷優(yōu)先級設成初始狀態(tài):將中斷優(yōu)先級設成初始狀態(tài):IR0最高,最高,IR7最低;最低;n設定為一般屏蔽方式;設定為一般屏蔽方式;n采用非自動中斷結束方式;采用非自動中斷結束方式;n狀態(tài)讀出邏輯預置為讀狀態(tài)讀出邏輯預置為讀IRR。(2) ICW2(中斷類型碼字)(中斷類型碼字)p例如:例如: 若若ICW2命令字為命令字為48H,則,則IR0的中斷向量碼為:的中斷向量碼為:? IR7的中斷

30、向量碼為:的中斷向量碼為:?奇地址奇地址中斷類型中斷類型中斷向量碼的中斷向量碼的高高5 5位位自動填入自動填入IR0 000IR1 001IR7 111中斷源的中斷源的序號序號T7T6T5T4T3D7D6D5D4D3D2D1D01A048H4FH(3) ICW3(級聯級聯控制字)控制字)p使用注意使用注意n若只有若只有一片一片8259Ap則,則,不用不用ICW3n若有若有多片多片8259A級連級連p則,則,主主8259A和和每一片從每一片從8259A都都必須必須使用使用ICW3n僅當僅當ICW1中中D1為為0才需寫才需寫ICW38259A最多最多和和從從8259A級連級連使中斷源擴展至使中斷源

31、擴展至64個個主片主片的級聯控制字的級聯控制字 S0 S1 S2 S3 S4 S5 S6 S71A0D7 D6 D5 D4 D3 D2 D1 D0奇地址奇地址對應每位對應每位Di表示表示IRi中斷請求線上中斷請求線上有無從片有無從片 1:有:有 0:無:無Si=1 對應對應IRi線上連接了從片線上連接了從片從片從片的級聯控制字的級聯控制字 ID0ID1ID2 0 0 0 0 01A0D7 D6 D5 D4 D3 D2 D1 D0奇地址奇地址無無作用,常取作用,常取0標識碼標識碼:說明本從片:說明本從片連接到主片的哪個連接到主片的哪個IR引腳上。引腳上。 000111分分別對應別對應IR0IR7

32、。例:主片例:主片ICW3ICW3F0HF0H,表示:,表示:IR7IR7IR4IR4上有從片,上有從片,IR3IR3IR0IR0上無從片。上無從片。注意注意p(4) ICW3必須與主從片的連接關系必須與主從片的連接關系一致一致n例例. 主片的主片的IR4與從片的與從片的INT線連接,則線連接,則p主片主片的的ICW3 = _ p從片從片的的ICW3 = _p(5)中斷響應時中斷響應時n主片主片由由CAS2-CAS0送出送出被允許中斷的被允許中斷的從片從片標識碼標識碼n從片從片用自己的用自己的ICW3與與CAS2-CAS0比較,二者比較,二者一致一致的的從從片片才可才可發(fā)送發(fā)送中斷向量碼中斷向

33、量碼10H04H(4) ICW4(方式控制字)(方式控制字)pSFNM: SFNM: 特殊全嵌套特殊全嵌套1 1 特殊全嵌套方式特殊全嵌套方式0 0 一般全嵌套方式一般全嵌套方式pAEOI: AEOI: 自動自動EOIEOI1 1 自動自動EOIEOI方式方式0 0 非自動非自動EOIEOI方式方式pBUF: BUF: 緩沖方式緩沖方式 M/S: M/S: 主主/ /從從緩沖緩沖選擇選擇 BUFBUF M/SM/S 1 1 1 1緩沖方式緩沖方式/ /主主PICPIC 1 0 1 0緩沖方式緩沖方式/ /從從PICPIC 0 0 x x非緩沖方式非緩沖方式/ /正常正常000SFNMBUFM/

34、SAEOI1D7D6D5D4D3D2D1D01A08259A的初始化命令字的初始化命令字A0=0A0=1A0=1A0=1例例1. 8259A8259A初始化程序初始化程序p設:設:PC機中使用機中使用單片單片8259A,地,地址為:址為:20H、21Hn8259A的工作方式為的工作方式為p邊沿觸發(fā)邊沿觸發(fā)p固定優(yōu)先權級別:固定優(yōu)先權級別:IR0最最高,高,IR7最低最低p8個中斷類型碼:個中斷類型碼: 08H0FHp普通普通(非自動非自動)EOI命令命令p一般屏蔽方式一般屏蔽方式p非緩沖方式非緩沖方式單片單片8259A不設置不設置ICW3初始化命令字:初始化命令字: ICW1: 0 0 0 1

35、 0 0 1 1 B 13H ICW2: 0 0 0 0 1 0 0 0 B 08H ICW4: 0 0 0 0 0 0 0 1 B 01H程序:程序:MOV AL, 13HOUT20H, ALMOV AL, 08HOUT21H, AL MOV AL, 01H OUT21H, AL 例例1.(續(xù)續(xù))工作命令字工作命令字OCWp功能:在功能:在8259A工作期間,設置工作期間,設置8259A工作狀態(tài)工作狀態(tài)p特點:特點:8259A初始化后初始化后,可,可隨時隨時(順序(順序可任意)接受可任意)接受OCWp寫入地址要求寫入地址要求nA0=1pOCW1(屏蔽控制字屏蔽控制字) ):寫入寫入IMR,控

36、制中斷屏蔽,控制中斷屏蔽nA0=0pOCW2(中斷結束和優(yōu)先權循環(huán)控制字中斷結束和優(yōu)先權循環(huán)控制字) ) 產生產生EOI命令、改變命令、改變優(yōu)先權優(yōu)先權順序順序pOCW3屏蔽和讀狀態(tài)控制字屏蔽和讀狀態(tài)控制字 控制讀取控制讀取IRR、ISR、IMR和和查詢字查詢字(1) OCW1(屏蔽控制字)(屏蔽控制字)p寫入寫入IMR寄存器寄存器pIMRi=0,開放中斷;,開放中斷;IMRi=1,屏蔽中斷,屏蔽中斷p讀讀OCW1可讀出設置的可讀出設置的IMR內容內容 M0 M1 M2 M3 M4 M5 M6 M71A0D7 D6 D5 D4 D3 D2 D1 D0奇地址奇地址中斷屏蔽中斷屏蔽1=1=置屏蔽置

37、屏蔽0=0=復位屏蔽復位屏蔽例:例:OCW1=80H,則表示,則表示 ? 中斷被屏蔽中斷被屏蔽 IR7例例2. 8259A應用舉例應用舉例p按以下要求初始化按以下要求初始化8259Ap接口地址為接口地址為20H和和21Hp中斷為上升沿觸發(fā);單片中斷為上升沿觸發(fā);單片8259A;不寫;不寫ICW4p與與IR0IR3對應的中斷向量碼為對應的中斷向量碼為08H-0BHp屏蔽屏蔽IR4-IR7n解:解:pICW1 = 000000pICW2 = 中斷向量碼中斷向量碼 pOCW1 = 中斷屏蔽字中斷屏蔽字 A0 D7D6 D5 D4 D3 D2 D1 D00 x x x 1 LTIM x SNGL IC

38、4ICW100010010B = 12H08H11110000B = 0F0H例例2.(續(xù)續(xù))p初始化程序初始化程序MOV DX, 20H;A0=0,寫,寫ICW1MOV AL, 12H ;上升沿觸發(fā)上升沿觸發(fā),單片單片,不寫不寫ICW4OUTDX, ALMOV DX, 21H ;A0=1,寫,寫ICW2,OCW1MOV AL, 08H ;ICW2OUTDX, ALMOV AL, 0F0H;OCW1:屏蔽:屏蔽IR4-IR7OUTDX, AL寫寫ICW1ICW1寫寫ICW2ICW2級連級連? ?寫寫ICW3ICW3需需ICW4?ICW4?寫寫ICW4ICW4NNYY(2) OCW2(中斷結束和

39、優(yōu)先權循環(huán)控制字中斷結束和優(yōu)先權循環(huán)控制字)p設置設置優(yōu)先級是否循環(huán)優(yōu)先級是否循環(huán),循環(huán)方式循環(huán)方式,中斷結束方式中斷結束方式 L0 L1 L2 0 0EOI SL R 0A0D7 D6 D5 D4 D3 D2 D1 D0偶地址偶地址8259A的幾種的幾種不同工作方式不同工作方式OCW2OCW2標志位標志位0 0 00 0 11 1 01 1 1 SL=1 且且R=1時,指出時,指出系統中最低優(yōu)系統中最低優(yōu)先級的編碼先級的編碼 SL=1 且且EOI=1時時, ,指指出要清出要清ISRISR中中的哪一位的哪一位中斷優(yōu)先方式:中斷優(yōu)先方式:1 循環(huán)方式循環(huán)方式0 非循環(huán)方式非循環(huán)方式 IR0(高高

40、) IR7(低低 )決定決定L2L1L0是否有效:是否有效:1 有效,指出最低優(yōu)先級有效,指出最低優(yōu)先級0 無效,當前被服務的中無效,當前被服務的中 斷源循環(huán)到最低優(yōu)先級斷源循環(huán)到最低優(yōu)先級中斷結束命令位:中斷結束命令位:1 ISR中相應位復位中相應位復位0 在在ICW4中給出中給出AEOIOCW2的各種格式及應用的各種格式及應用級聯系統的中斷結束級聯系統的中斷結束中斷服務程序中斷服務程序向向從從PICPIC發(fā)發(fā)EOI命令命令讀讀從從PICPIC的的ISRISR全全0 0?向向主主PICPIC發(fā)發(fā)EOI命令命令YIRET恢復現場恢復現場N(3) OCW3(屏蔽和讀狀態(tài)控制字)(屏蔽和讀狀態(tài)控制

41、字)未定義未定義常取常取0 0RIS RR P 1 0SMMESMM 0 0A0D7 D6 D5 D4 D3 D2 D1 D0偶地址偶地址OCW3OCW3標志標志1 1 中斷查詢命令中斷查詢命令0 0 非查詢命令非查詢命令在下一個在下一個RDRD脈沖脈沖1 0 1 0 讀讀IRRIRR1 1 1 1 讀讀ISRISR(從(從A0=0A0=0端口)端口)是否工作是否工作于特殊屏蔽于特殊屏蔽模式模式1 0 1 0 置置為普通屏蔽方式為普通屏蔽方式1 1 1 1 置為特殊屏蔽置為特殊屏蔽方式方式p(1)(1)讀讀8259A8259A工作狀態(tài)工作狀態(tài)p(2)(2)設置中斷查詢方式設置中斷查詢方式(1)

42、 讀讀8259A工作狀態(tài)工作狀態(tài)pCPU可讀出可讀出IRR、ISR和和IMR的內容的內容OCW3: D2 D1D0A0PRRRIS功能功能1下一個讀指令,讀查詢字下一個讀指令,讀查詢字0010下一個讀指令,讀下一個讀指令,讀IRR011下一個讀指令,讀下一個讀指令,讀ISR00無操作無操作1無需設置無需設置OCW3讀讀IMR(隨時可讀(隨時可讀)例例3.p設設8259A有兩個端口地址有兩個端口地址20H和和21H,OCW3、ISR和和IRR共用一個地址共用一個地址20H。問:問:(a)(a)下段程序讀取下段程序讀取 的內容的內容MOV 000MOV 0000101011011B BOUT 20

43、H,ALOUT 20H,ALIN AL,20HIN AL,20H(b)(b)下段程序讀取下段程序讀取 的內容的內容MOV 000MOV 0000101010010B BOUT 20H,ALOUT 20H,ALIN AL,20HIN AL,20HISRISRIRRIRR(2) 設置中斷查詢方式設置中斷查詢方式pCPU內部內部禁止中斷禁止中斷或或不想用不想用INT引腳引腳申請中斷時申請中斷時n可用可用8259A的查詢工作,查詢外部事件是否有中斷請求的查詢工作,查詢外部事件是否有中斷請求p查詢步驟查詢步驟nOCW3寫入寫入8259A,其中:,其中:D2=1(即(即P=1)n讀查詢字(對同一地址)讀查

44、詢字(對同一地址)當前請求中斷的最高優(yōu)先級當前請求中斷的最高優(yōu)先級的中斷源的編碼的中斷源的編碼1 1:有中斷請求:有中斷請求0 0:無中斷請求:無中斷請求W0W1 W2I 0A0D7 D6 D5 D4 D3 D2 D1 D0命令字和狀態(tài)字的區(qū)別方法命令字和狀態(tài)字的區(qū)別方法p利用利用RD*、WR*區(qū)別寄存器的讀、寫區(qū)別寄存器的讀、寫p寄存器的區(qū)分方法(寄存器的區(qū)分方法(3種)種)n利用地址信號利用地址信號A0p如:如:ICW1和和OCW1n由寄存器中的位狀態(tài)由寄存器中的位狀態(tài)p如:如: ICW1、OCW2和和OCW3n由寄存器寫入順序由寄存器寫入順序p由前面的控制字決定后續(xù)操作的寄存器由前面的控

45、制字決定后續(xù)操作的寄存器 如:如:ICW2、ICW3、ICW4的初始化的初始化 1 I3 I4ICW1ICW1 芯片控制芯片控制 ICW2ICW2 中斷類型號中斷類型號 ICW3ICW3 主從片關系主從片關系 ICW4ICW4 方式控制方式控制處理部分處理部分控制部分控制部分000 0 0 0 0 0 ISR當前當前中斷中斷服務服務寄存器寄存器PR優(yōu)先級優(yōu)先級裁決器裁決器IRR中斷申請中斷申請寄存器寄存器000 0 0 0 0 0 OCW2OCW2 1 0 0 1 0 1 0 0 0 0 0 1 OCW3OCW3OCW1OCW18259A8259A中斷控制器中斷控制器D0D7A0CSRDWR8

46、0111A0100A08259A內部寄存器的尋址方法內部寄存器的尋址方法CS* RD* WR* A0 D4 D3讀寫操作讀寫操作010000寫寫OCW2001寫寫OCW301x寫寫ICW11xx寫寫ICW2,ICW3,ICW4,OCW1(順序寫入順序寫入)0010 xx讀出讀出IRR、ISR1xx讀出讀出IMR5. 8259A應用舉例應用舉例p中斷控制器的應用中斷控制器的應用n8259A在在PC/XT中中n8259A在在PC/AT中中鍵鍵 盤盤保保 留留串串 口口2 硬硬 盤盤軟軟 盤盤打印機打印機IOW 日時鐘日時鐘A0CS8259A總線總線A0數數 據據 線線 IORRDWR片片選選譯譯碼

47、碼IR0IR1IR2IR3IR4IR5IR6IR7A5A9D0D7D0D7VccSP*/EN*CA0CA1CA2GND+ 5V203FH用于多片用于多片8259A級連情況級連情況INTAINT INTA INTR串串 口口1 中斷控制器的應用中斷控制器的應用8259A在在PC/XT中中(8088CPU)實時鐘 IRQ8INT0AH IRQ9保留 IRQ10保留 IRQ11保留 IRQ1280287 IRQ13硬盤 IRQ14保留 IRQ168259A(從片)中斷控制器8259A(主片)中斷控制器INTCAS012SP定時器 IRQ0鍵盤 IRQ1 IRQ2串行口2 IRQ3串行口1 IRQ4并

48、行口2 IRQ5軟盤 IRQ6并行口1 IRQ7CAS210SP80286CPUINTRINT+中斷控制器的應用中斷控制器的應用 8259A在在PC/AT中中IBM PC/XT總線插槽引腳信號總線插槽引腳信號GNDRESET +5VIRQ2-5VDRQ2-12V+12VGNDMEMWMEMRIOWIORDACK3DRQ3DACK1DRQ1DACK0CLOCKIRQ7IRQ6IRQ5IRQ4IRQ3DACK2T/CALE+5VOSCGNDI/O CH CKD7D6D5D4D3D2D1D0I/O CH RDYAENA19A18A17A16A15A14A13A12A11A10A9A8A7A6A5A4

49、A3A2A1A0 例例1. BIOS初始化程序對初始化程序對8259A的設置的設置要求:要求:(1) IR0IR7 中斷申請為中斷申請為上升沿上升沿觸發(fā);觸發(fā);(2) IR0IR7 的的中斷類型號中斷類型號分別分別為為08H0FH;(3) 優(yōu)先級優(yōu)先級IR0最高最高, IR7最低;最低;(4) 采用采用非自動非自動結束方式,結束方式, 需向需向OCW2發(fā)發(fā)EOI中斷結束命令中斷結束命令, 清清除除ISR中的記錄。中的記錄。 例例1. (續(xù)續(xù))(1)8259A初始化初始化MOV AL,00010011BOUT20H,AL; ICW1MOV AL,00001000BOUT21H,AL; ICW2M

50、OV AL,00001101BOUT21H,AL; ICW4 例例1. (續(xù)續(xù))(2) 8259A中斷屏蔽中斷屏蔽INAL,21h;讀出讀出IMRANDAL,0FCH;只允許只允許IR0、IR1中斷中斷OUT21H,AL;寫入寫入OCW1 例例1. (續(xù)續(xù))(3)給)給8259A發(fā)發(fā)EOI命令命令MOV AL,20HOUT20H,AL;寫入寫入OCW2 .;恢復現場恢復現場IRET 例例1. (續(xù)續(xù))(4)設置設置OCW3,讀出讀出IRRMOV AL,0AH ;寫入寫入OCW3,讀,讀IRR命令命令OUT 20H,AL NOP IN AL,20H ;讀出讀出IRR 例例2. 8259A在在PC

51、/AT中的應用中的應用p已知已知(1)主片主片端口地址端口地址 20H、21H中斷類型碼中斷類型碼 08H0FH (2)從片從片端口地址端口地址 A0H、A1H中斷類型碼中斷類型碼 70H77H(1)8259A初始化編程初始化編程對主片對主片8259A的初始化:的初始化: MOV AL,11H ;ICW1 OUT 20H,AL JMP INTR1 INTR1: MOV AL,08H ;ICW2 OUT 21H,AL JMP INTR2INTR2: MOV AL,04H ;ICW3 OUT 21H,AL JMP INTR3INTR3: MOV AL,11H ;ICW4 主片特殊全嵌套主片特殊全嵌

52、套 OUT 21H,AL 對從片對從片8259A的初始化:的初始化: MOV AL,11H OUT 0A0H,AL JMP INTR5 INTR5: MOV AL,70H OUT 0A1H,AL JMP INTR6 INTR6: MOV AL,02H OUT 0A1H,AL JMP INTR7 INTR7: MOV AL,01H OUT 0A1H,AL ;從片普通全嵌套從片普通全嵌套(2)級聯工作編程)級聯工作編程讀讀ISR的內容:的內容: MOV AL,0BH OUT 0A0H,AL NOP IN AL,0A0H 從片發(fā)從片發(fā)EOI命令:命令: MOV AL,20H OUT 0A0H,AL

53、;端口端口A0H主片發(fā)主片發(fā)EOI命令:命令: MOV AL,20H OUT 20H,AL ;端口端口20H6. 可屏蔽中斷服務程序設計可屏蔽中斷服務程序設計p注意事項注意事項n需要發(fā)送中斷結束命令需要發(fā)送中斷結束命令n一般只能采用存儲單元傳遞參數一般只能采用存儲單元傳遞參數n不要使用不要使用DOS系統功能調用系統功能調用 INT 21Hn中斷服務程序盡量短小中斷服務程序盡量短小n主程序需要修改中斷向量主程序需要修改中斷向量p控制微處理器的中斷允許標志控制微處理器的中斷允許標志p設置中斷屏蔽寄存器設置中斷屏蔽寄存器中斷入口中斷入口保護現場保護現場為中斷源服務部分為中斷源服務部分發(fā)中斷結束命令發(fā)中斷結束命令恢復現場恢復現場中斷返回中斷返回設置中斷向量設置中斷向量CLISTI8259A初始化初始化可屏蔽中斷服務程序設計流程可屏蔽中斷服務程序設計流程設置中斷向量設置中斷向量CLISTI8259A初始化初始化設計流程設計流程主程序設計主程序設計p8259A初始化初始化n若若PC機內機內有有8259Ap設置設置8259A(已初始化已初始化)的的IMRp開放中斷開放中斷n否則,初始化否則,初始化8259Ap設置中斷向量表設置中斷向量表n先保存原有中斷向量先保存原有中斷向量n設置中斷向量設置中斷向量n恢復原中斷向量恢復原中斷向量例例. 8259A初始化初始化PC機內有機

溫馨提示

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

評論

0/150

提交評論