版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第8 8章章 輸入輸出接口輸入輸出接口8.3.4 中斷控制器及其應(yīng)用中斷控制器及其應(yīng)用第第8章章 輸入輸出接口輸入輸出接口8.1 I/O接口概述接口概述8.1.1 I/O接口的典型結(jié)構(gòu)接口的典型結(jié)構(gòu)8.1.2 I/O端口的編址端口的編址8.1.3 輸入輸出指令輸入輸出指令8.2 外設(shè)數(shù)據(jù)傳送方式外設(shè)數(shù)據(jù)傳送方式8.2.1 無(wú)條件傳送無(wú)條件傳送8.2.2 程序查詢(xún)傳送程序查詢(xún)傳送8.2.3 中斷傳送中斷傳送8.2.4 DMA傳送傳送8.3 中斷系統(tǒng)中斷系統(tǒng)8.3.1 中斷類(lèi)型中斷類(lèi)型8.3.2 中斷向量表中斷向量表8.3.3 中斷服務(wù)程序中斷服務(wù)程序8.3.4 中斷控制器及其應(yīng)用中斷控制器及其
2、應(yīng)用中斷系統(tǒng)的功能中斷系統(tǒng)的功能p設(shè)置中斷源設(shè)置中斷源p中斷源識(shí)別中斷源識(shí)別p中斷源判優(yōu)中斷源判優(yōu)p中斷的嵌套中斷的嵌套p中斷與返回中斷與返回p中斷的屏蔽中斷的屏蔽:確定系統(tǒng)允許的中斷,及其請(qǐng)求方式:確定系統(tǒng)允許的中斷,及其請(qǐng)求方式:判別中斷源,并執(zhí)行響應(yīng)中斷服務(wù)程序:判別中斷源,并執(zhí)行響應(yīng)中斷服務(wù)程序:多個(gè)中斷源請(qǐng)求中斷時(shí),中斷優(yōu)先級(jí)排序:多個(gè)中斷源請(qǐng)求中斷時(shí),中斷優(yōu)先級(jí)排序:高級(jí)中斷源能中斷低級(jí)中斷的服務(wù)程序:高級(jí)中斷源能中斷低級(jí)中斷的服務(wù)程序:能自動(dòng)轉(zhuǎn)入中斷服務(wù)程序,能自動(dòng)返回:能自動(dòng)轉(zhuǎn)入中斷服務(wù)程序,能自動(dòng)返回:允許:允許/禁止中斷請(qǐng)求禁止中斷請(qǐng)求8.3.4 中斷控制器及其應(yīng)用中斷控制
3、器及其應(yīng)用pIntel 8259A PIC(中斷控制器中斷控制器 Programmable Interrupt Controller )n作用作用p中斷屏蔽與開(kāi)放中斷屏蔽與開(kāi)放p管理中斷請(qǐng)求,中斷優(yōu)先權(quán)排隊(duì)管理中斷請(qǐng)求,中斷優(yōu)先權(quán)排隊(duì)p提供中斷向量號(hào)(提供中斷向量號(hào)(類(lèi)型碼類(lèi)型碼)n特點(diǎn)特點(diǎn)p可編程設(shè)置不同工作方式可編程設(shè)置不同工作方式p一片管理一片管理8級(jí)中斷,請(qǐng)求引腳:級(jí)中斷,請(qǐng)求引腳:IR0IR7p每一級(jí)中斷可單獨(dú)被屏蔽或允許每一級(jí)中斷可單獨(dú)被屏蔽或允許p多個(gè)芯片級(jí)聯(lián):最多擴(kuò)展至多個(gè)芯片級(jí)聯(lián):最多擴(kuò)展至64級(jí)中斷(級(jí)中斷(9個(gè)芯片)個(gè)芯片)中斷管理器中斷管理器8259A PCIp1. 8
4、259A的內(nèi)部結(jié)構(gòu)與引腳的內(nèi)部結(jié)構(gòu)與引腳p2. 8259A的工作過(guò)程的工作過(guò)程p3. 8259A的工作方式的工作方式p4. 8259A命令字命令字p5. 8259A應(yīng)用舉例應(yīng)用舉例p6. 可屏蔽中斷服務(wù)程序設(shè)計(jì)可屏蔽中斷服務(wù)程序設(shè)計(jì)1. 8259A的結(jié)構(gòu)與引腳的結(jié)構(gòu)與引腳內(nèi)部結(jié)構(gòu)內(nèi)部結(jié)構(gòu)主要寄存器主要寄存器p中斷請(qǐng)求寄存器中斷請(qǐng)求寄存器 IRR(Interrupt Request REG)nIR7IR0:中斷請(qǐng)求信號(hào)中斷請(qǐng)求信號(hào)IR0IR7的請(qǐng)求狀態(tài)的請(qǐng)求狀態(tài)p0:無(wú)請(qǐng)求;:無(wú)請(qǐng)求;1:有請(qǐng)求:有請(qǐng)求p中斷服務(wù)寄存器中斷服務(wù)寄存器 ISR(In Service REG)nISR0ISR7:中斷
5、請(qǐng)求:中斷請(qǐng)求IR0IR7被被8259A服務(wù)的狀態(tài)服務(wù)的狀態(tài)p0:沒(méi)有被服務(wù);沒(méi)有被服務(wù);1:正在服務(wù)中:正在服務(wù)中p中斷屏蔽寄存器中斷屏蔽寄存器 IMR(Interrupt Mask REG)nIMR0IMR7:中斷請(qǐng)求信號(hào):中斷請(qǐng)求信號(hào)IR0IR7的屏蔽狀態(tài)的屏蔽狀態(tài)p1:被屏蔽;被屏蔽;0:被開(kāi)放:被開(kāi)放p優(yōu)先權(quán)分析器優(yōu)先權(quán)分析器 PR (Priority Resolver)n比較中斷的優(yōu)先級(jí)別比較中斷的優(yōu)先級(jí)別p新新中斷請(qǐng)求和中斷請(qǐng)求和ISR中當(dāng)前中當(dāng)前正在處理正在處理的中斷請(qǐng)求的中斷請(qǐng)求 若:新中斷請(qǐng)求若:新中斷請(qǐng)求 ISR中當(dāng)前正在處理的中斷中當(dāng)前正在處理的中斷8259A的輸出端的
6、輸出端INT:輸出高電平:輸出高電平p數(shù)據(jù)總線(xiàn)緩沖器數(shù)據(jù)總線(xiàn)緩沖器n三態(tài)緩沖器三態(tài)緩沖器n8259A與與CPU的數(shù)據(jù)總線(xiàn)接口的數(shù)據(jù)總線(xiàn)接口p級(jí)聯(lián)緩沖器級(jí)聯(lián)緩沖器/比較器比較器n用于用于多片多片8259之間的連接之間的連接中斷處理過(guò)程中斷處理過(guò)程p內(nèi)部中斷內(nèi)部中斷n(1) 請(qǐng)求請(qǐng)求n(2) 響應(yīng)響應(yīng)n(3) 服務(wù)服務(wù)n(4) 返回返回p外部可屏蔽中斷外部可屏蔽中斷n(1) 請(qǐng)求請(qǐng)求n(2) 判優(yōu)判優(yōu)n(3) 響應(yīng)響應(yīng)n(4) 服務(wù)服務(wù)n(5) 返回返回外部可屏蔽中斷處理過(guò)程外部可屏蔽中斷處理過(guò)程p(1) 請(qǐng)求請(qǐng)求p(2) 判優(yōu)判優(yōu)p(3) 響應(yīng)響應(yīng)p(4) 服務(wù)服務(wù)p(5) 返回返回2. 825
7、9A的的可屏蔽可屏蔽中斷處理過(guò)程中斷處理過(guò)程示意圖示意圖8259A的工作過(guò)程的工作過(guò)程步驟步驟p8259A初始化后初始化后n當(dāng)當(dāng)IRi中斷請(qǐng)求中斷請(qǐng)求有效時(shí),置有效時(shí),置IRRi=1n若有效的若有效的IRi未被屏蔽,則未被屏蔽,則向向CPU發(fā)出中斷請(qǐng)求發(fā)出中斷請(qǐng)求n檢測(cè)到第檢測(cè)到第1個(gè)個(gè)INTA#信號(hào)后,信號(hào)后,置置ISRi=1,IRRi=0n檢測(cè)到第檢測(cè)到第2個(gè)個(gè)INTA#信號(hào)后,則信號(hào)后,則把把ISRi=1中中最高最高優(yōu)先級(jí)優(yōu)先級(jí)的的中斷類(lèi)型碼放到中斷類(lèi)型碼放到DB上上n若工作在若工作在AEOI(自動(dòng)結(jié)束自動(dòng)結(jié)束)方式,在第方式,在第2個(gè)個(gè)INTA#結(jié)束時(shí),使結(jié)束時(shí),使ISRi復(fù)位;否則復(fù)
8、位;否則CPU的中斷服務(wù)程序的中斷服務(wù)程序發(fā)出發(fā)出EOI命令使命令使ISRi復(fù)位復(fù)位(1) 中斷請(qǐng)求中斷請(qǐng)求p中斷源發(fā)出中斷請(qǐng)求信號(hào)中斷源發(fā)出中斷請(qǐng)求信號(hào)n硬件中斷:硬件中斷:INTR(高電平高電平)或或NMI(上升沿上升沿)n軟中斷:除數(shù)為軟中斷:除數(shù)為0、溢出、溢出p外部中斷請(qǐng)求過(guò)程外部中斷請(qǐng)求過(guò)程n外設(shè)接口外設(shè)接口(中斷源中斷源)發(fā)出中斷請(qǐng)求信號(hào)發(fā)出中斷請(qǐng)求信號(hào),送到,送到CPU的的INTR或或NMI引腳引腳n中斷請(qǐng)求中斷請(qǐng)求信號(hào)應(yīng)保持信號(hào)應(yīng)保持到中斷被處理為止到中斷被處理為止nCPU響應(yīng)中斷后,中斷響應(yīng)中斷后,中斷請(qǐng)求信號(hào)應(yīng)及時(shí)撤銷(xiāo)請(qǐng)求信號(hào)應(yīng)及時(shí)撤銷(xiāo)n外設(shè)的中斷經(jīng)過(guò)外設(shè)的中斷經(jīng)過(guò)825
9、9A可編程中斷控制器可編程中斷控制器(PIC)的的排隊(duì)排隊(duì)判優(yōu)后判優(yōu)后向向CPU發(fā)出:發(fā)出: (I/O接口接口) PIC CPU(2) 中斷判優(yōu)中斷判優(yōu)p在多個(gè)中斷源情況下在多個(gè)中斷源情況下n由由設(shè)計(jì)者設(shè)計(jì)者將它們事先排隊(duì)(硬件)將它們事先排隊(duì)(硬件)n當(dāng)同時(shí)到達(dá)時(shí),當(dāng)同時(shí)到達(dá)時(shí),CPUCPU根據(jù)優(yōu)先級(jí),處理根據(jù)優(yōu)先級(jí),處理當(dāng)前優(yōu)先級(jí)最高當(dāng)前優(yōu)先級(jí)最高的中斷源的中斷源p中斷判優(yōu)的另一作用是決定是否可能實(shí)現(xiàn)中斷判優(yōu)的另一作用是決定是否可能實(shí)現(xiàn)中斷嵌套中斷嵌套 中斷子程序中斷子程序1 1中斷申請(qǐng)中斷申請(qǐng)CPUCPU執(zhí)行流程執(zhí)行流程中斷子程序中斷子程序2 2(3) 中斷響應(yīng)中斷響應(yīng)p每條指令的最后一
10、個(gè)時(shí)鐘周期每條指令的最后一個(gè)時(shí)鐘周期,CPU檢測(cè)檢測(cè)INTR或或NMI信號(hào)信號(hào)pCPU中斷響應(yīng)條件中斷響應(yīng)條件n當(dāng)前指令執(zhí)行完當(dāng)前指令執(zhí)行完p對(duì)對(duì)INTR,還應(yīng)滿(mǎn)足以下條件,還應(yīng)滿(mǎn)足以下條件 (a)當(dāng)前指令是當(dāng)前指令是STI和和IRET,則下條指令也要執(zhí)行完,則下條指令也要執(zhí)行完 (b)當(dāng)前指令帶有當(dāng)前指令帶有LOCK、REP等指令前綴時(shí),則等指令前綴時(shí),則把把它們看成一個(gè)整體,要求完整地執(zhí)行完它們看成一個(gè)整體,要求完整地執(zhí)行完n對(duì)對(duì)INTR,CPU應(yīng)處于開(kāi)中斷狀態(tài),即應(yīng)處于開(kāi)中斷狀態(tài),即IF=1n當(dāng)前沒(méi)有復(fù)位當(dāng)前沒(méi)有復(fù)位(RESET)和保持和保持(HOLD)信號(hào)信號(hào)n若若 NMI 和和 IN
11、TR 同時(shí)發(fā)生,則同時(shí)發(fā)生,則首先響應(yīng)首先響應(yīng)NMIp中斷響應(yīng)時(shí),中斷響應(yīng)時(shí),CPU的工作的工作n向中斷源發(fā)出向中斷源發(fā)出INTA信號(hào),使信號(hào),使外設(shè)將外設(shè)將中斷類(lèi)型碼中斷類(lèi)型碼N DB( (數(shù)據(jù)總線(xiàn)數(shù)據(jù)總線(xiàn)) )CPUn保護(hù)標(biāo)志寄存器保護(hù)標(biāo)志寄存器FR(FLAGS)n使使IF=0、TF=0,屏蔽屏蔽INTR中斷和中斷和單步單步中斷中斷n斷點(diǎn)保護(hù),包括:斷點(diǎn)保護(hù),包括:CS、IPp保證中斷結(jié)束后能返回被中斷的程序保證中斷結(jié)束后能返回被中斷的程序n獲得中斷服務(wù)程序獲得中斷服務(wù)程序首地址(入口)首地址(入口)p根據(jù)根據(jù)中斷類(lèi)型碼中斷類(lèi)型碼N找中斷服務(wù)程序入口地址找中斷服務(wù)程序入口地址 (0:N 4
12、 ) IP ;( 0 : N 4 + 2 ) CSn轉(zhuǎn)中斷服務(wù)程序轉(zhuǎn)中斷服務(wù)程序內(nèi)部中斷類(lèi)型碼由內(nèi)部中斷類(lèi)型碼由指令提供或自動(dòng)形指令提供或自動(dòng)形成成(4) 中斷服務(wù)中斷服務(wù)p中斷服務(wù)中斷服務(wù)子程序子程序:n是是”遠(yuǎn)遠(yuǎn)”過(guò)程(用過(guò)程(用PROC和和ENDP定義,定義,類(lèi)型為類(lèi)型為FAR)n用用IRET指令返回指令返回p中斷服務(wù)子程序要做的工作中斷服務(wù)子程序要做的工作n保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng) (PUSH regs) n開(kāi)中斷開(kāi)中斷 (STIIF=1) n進(jìn)行中斷處理進(jìn)行中斷處理n關(guān)中斷關(guān)中斷 (CLIIF=0)n恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng) (POP regs) n結(jié)束結(jié)束8259A中斷中斷(EOI)n中斷返回中斷
13、返回 (IRET) (5) 中斷返回中斷返回p指令:指令:IRETn 恢復(fù)斷點(diǎn)地址恢復(fù)斷點(diǎn)地址CS、IP,返回到主程序;,返回到主程序;n 恢復(fù)恢復(fù)FR內(nèi)容,實(shí)際起了內(nèi)容,實(shí)際起了開(kāi)中斷的作用開(kāi)中斷的作用。IPLIPHCSLCSHFLAGLFLAGHSPIPLIPHCSLCSHFLAGLFLAGHSPCSIPFLAG進(jìn)入中斷服進(jìn)入中斷服務(wù)程序時(shí)務(wù)程序時(shí)中斷返回后中斷返回后可可屏屏蔽蔽中中斷斷的的響響應(yīng)應(yīng)和和執(zhí)執(zhí)行行8259A的命令字寄存器的命令字寄存器ICW、OCW命令字寄存器命令字寄存器ICW、OCWp功能功能n按編程設(shè)定方式管理按編程設(shè)定方式管理8259A的全部工作的全部工作p內(nèi)部寄存器內(nèi)
14、部寄存器n初始化初始化命令字命令字RegpICW1ICW4 一經(jīng)設(shè)定,保持不變一經(jīng)設(shè)定,保持不變n操作操作命令字命令字RegpOCW1OCW3 隨時(shí),根據(jù)中斷控制要求(操作)設(shè)置隨時(shí),根據(jù)中斷控制要求(操作)設(shè)置引腳和連接引腳和連接A0RD*WR*CS*功能功能0100寫(xiě)入寫(xiě)入ICW1、OCW2和和OCW31100寫(xiě)入寫(xiě)入ICW2ICW4和和OCW10010讀出讀出IRR、ISR和查詢(xún)字和查詢(xún)字1010讀出讀出IMR110數(shù)據(jù)總線(xiàn)高阻狀態(tài)數(shù)據(jù)總線(xiàn)高阻狀態(tài)1數(shù)據(jù)總線(xiàn)高阻狀態(tài)數(shù)據(jù)總線(xiàn)高阻狀態(tài)8259A的地址的地址寫(xiě)寫(xiě) ICW2寫(xiě)寫(xiě) ICW3寫(xiě)寫(xiě) ICW4寫(xiě)寫(xiě) OCW1讀讀 IMR寫(xiě)寫(xiě) ICW1寫(xiě)寫(xiě)
15、 OCW2寫(xiě)寫(xiě) OCW3讀讀 IRR讀讀 ISR讀讀 查詢(xún)字查詢(xún)字A0=0A0=1級(jí)聯(lián)工作方式級(jí)聯(lián)工作方式p單片單片8259A可支持可支持8個(gè)中斷源;個(gè)中斷源;p采用多片采用多片8259A級(jí)連,可最多支持級(jí)連,可最多支持64個(gè)中斷源個(gè)中斷源nn片片8259A可支持可支持7n+1個(gè)中斷源個(gè)中斷源n只能有只能有8259A為主片;為主片;n涉及到的涉及到的8259A引腳包括:引腳包括:CAS0-CAS2SP*/EN*IRiINTpCAS2CAS0:級(jí)聯(lián)信號(hào)線(xiàn):級(jí)聯(lián)信號(hào)線(xiàn)n主片與從片的連接線(xiàn),傳送主片對(duì)從片的選擇碼主片與從片的連接線(xiàn),傳送主片對(duì)從片的選擇碼p主片為輸出;從片為輸入主片為輸出;從片為輸入
16、pSP*/EN*:從片選擇或總線(xiàn)驅(qū)動(dòng)器的控制信號(hào):從片選擇或總線(xiàn)驅(qū)動(dòng)器的控制信號(hào)n緩沖器方式,輸出信號(hào)緩沖器方式,輸出信號(hào)p用作用作8259A與系統(tǒng)總線(xiàn)的總線(xiàn)驅(qū)動(dòng)器的控制信號(hào)與系統(tǒng)總線(xiàn)的總線(xiàn)驅(qū)動(dòng)器的控制信號(hào)pEN*=1,數(shù)據(jù)方向由,數(shù)據(jù)方向由CPU8259A;EN*=0,方向相反,方向相反n非緩沖器方式,輸入信號(hào)非緩沖器方式,輸入信號(hào)p用于級(jí)聯(lián)中的從片選擇用于級(jí)聯(lián)中的從片選擇 主片,主片,SP*/EN*=1;從片,;從片,SP*/EN*=0p單片單片8259A時(shí),時(shí),SP*/EN*=1級(jí)連電路連接方法級(jí)連電路連接方法p緩沖器方式,緩沖器方式,EN*輸出輸出n1:數(shù)據(jù)數(shù)據(jù)CPU8259An0:數(shù)
17、據(jù)數(shù)據(jù)CPU8259Ap非緩沖器方式,非緩沖器方式, SP*輸入輸入n級(jí)聯(lián)級(jí)聯(lián)時(shí)的從片選擇時(shí)的從片選擇p1:主片主片;0:從片從片n單片單片8259A:1SP*/EN*引腳功能:引腳功能:8259級(jí)聯(lián)工作示意圖級(jí)聯(lián)工作示意圖3. 8259A的工作方式的工作方式p中斷觸發(fā)方式中斷觸發(fā)方式p中斷屏蔽方式中斷屏蔽方式p中斷優(yōu)先級(jí)排隊(duì)方式中斷優(yōu)先級(jí)排隊(duì)方式p中斷結(jié)束方式中斷結(jié)束方式邊沿觸發(fā)方式邊沿觸發(fā)方式電平觸發(fā)方式電平觸發(fā)方式常規(guī)屏蔽方式常規(guī)屏蔽方式特殊屏蔽方式特殊屏蔽方式普通全嵌套方式普通全嵌套方式特殊全嵌套方式特殊全嵌套方式優(yōu)先級(jí)循環(huán)方式優(yōu)先級(jí)循環(huán)方式自動(dòng)自動(dòng)EOIEOI方式方式非自動(dòng)非自動(dòng)EO
18、IEOI方式方式普通普通( (常規(guī)常規(guī))EOI)EOI方式方式特殊特殊( (指定指定)EOI)EOI方式方式(1) 中斷觸發(fā)方式中斷觸發(fā)方式ICW1p邊沿觸發(fā)方式邊沿觸發(fā)方式n有中斷請(qǐng)求有中斷請(qǐng)求p引腳引腳IRi上出現(xiàn)上出現(xiàn)上升沿上升沿p電平觸發(fā)方式電平觸發(fā)方式n有中斷請(qǐng)求有中斷請(qǐng)求p引腳引腳IRi上出現(xiàn)上出現(xiàn)高電平高電平(2) 中斷屏蔽方式中斷屏蔽方式p普通屏蔽方式普通屏蔽方式OCW1、IMRn設(shè)置方法:通過(guò)設(shè)置方法:通過(guò)OCW1設(shè)置設(shè)置IMRpIMRi=1 1,屏蔽屏蔽中斷請(qǐng)求中斷請(qǐng)求IRipIMRi=0 0,允許允許中斷請(qǐng)求中斷請(qǐng)求IRip特殊屏蔽方式特殊屏蔽方式OCW3、IMRn設(shè)置方
19、法:通過(guò)設(shè)置方法:通過(guò)OCW3和和IMR配合設(shè)置配合設(shè)置n用于用于開(kāi)放較低級(jí)中斷開(kāi)放較低級(jí)中斷請(qǐng)求請(qǐng)求p屏蔽屏蔽中斷請(qǐng)求中斷請(qǐng)求IRi,同時(shí),同時(shí)復(fù)位復(fù)位ISRi,使,使較本級(jí)低的較本級(jí)低的中斷源申請(qǐng)可以得到響應(yīng)中斷源申請(qǐng)可以得到響應(yīng)(3) 中斷優(yōu)先級(jí)排隊(duì)方式中斷優(yōu)先級(jí)排隊(duì)方式ICW4、OCW2p普通全嵌套方式普通全嵌套方式p特殊全嵌套方式特殊全嵌套方式p優(yōu)先級(jí)循環(huán)方式優(yōu)先級(jí)循環(huán)方式p普通全嵌套方式(用于普通全嵌套方式(用于單片單片8259A ,默認(rèn)方式),默認(rèn)方式)n特點(diǎn)特點(diǎn)p中斷優(yōu)先級(jí)中斷優(yōu)先級(jí)固定固定p當(dāng)處理一級(jí)中斷時(shí),當(dāng)處理一級(jí)中斷時(shí),屏蔽屏蔽同級(jí)或低級(jí)同級(jí)或低級(jí)的中斷源的申的中斷源的
20、申請(qǐng),請(qǐng),響應(yīng)響應(yīng)高優(yōu)先級(jí)高優(yōu)先級(jí)的中斷源的申請(qǐng)的中斷源的申請(qǐng)p特殊全嵌套方式(用于特殊全嵌套方式(用于8259A級(jí)聯(lián)級(jí)聯(lián))n特點(diǎn)特點(diǎn)p中斷優(yōu)先級(jí)中斷優(yōu)先級(jí)固定固定p當(dāng)處理一級(jí)中斷時(shí)當(dāng)處理一級(jí)中斷時(shí),也,也響應(yīng)響應(yīng)同級(jí)同級(jí)的中斷請(qǐng)求的中斷請(qǐng)求IR7IR6IR5IR4IR3IR2IR1IR076543210最低級(jí)最低級(jí)最高級(jí)最高級(jí)優(yōu)先級(jí)優(yōu)先級(jí)默認(rèn)優(yōu)先級(jí)默認(rèn)優(yōu)先級(jí)D.主主8259AIR0IR1IR2IR3IR4IR5IR6IR7一般嵌套方式:一般嵌套方式:從片的從片的INT被主片封被主片封鎖,故更鎖,故更高高級(jí)別的級(jí)別的IR0-IR2中斷也無(wú)法中斷也無(wú)法得到響應(yīng)得到響應(yīng)特殊嵌套方式:特殊嵌套方式:
21、因主片不封鎖從片的因主片不封鎖從片的INT,故級(jí)別高的,故級(jí)別高的IR0-IR2中斷可以得到響應(yīng)。中斷可以得到響應(yīng)。( (但但I(xiàn)R3-IR7仍被本從仍被本從片封鎖片封鎖) )C.假定假定IR3發(fā)生中發(fā)生中斷斷,并獲得服務(wù)并獲得服務(wù)一般嵌套方式:一般嵌套方式:IR4的中斷被服務(wù)的中斷被服務(wù)時(shí),這些中斷將時(shí),這些中斷將被封鎖。被封鎖。B.特殊嵌套方式:特殊嵌套方式:IR4的中斷被服的中斷被服務(wù) 時(shí) , 只 封 鎖務(wù) 時(shí) , 只 封 鎖IR5-IR7。A.INTE.從從8259AINTIR0IR1IR2IR3IR4IR5IR6IR7一般全嵌套方式與特殊全嵌套方式的區(qū)別一般全嵌套方式與特殊全嵌套方式的
22、區(qū)別 去去CPU主主片片特特殊殊全全嵌嵌套套從從片片普普通通全全嵌嵌套套優(yōu)先級(jí)循環(huán)方式優(yōu)先級(jí)循環(huán)方式多個(gè)中斷源優(yōu)先級(jí)相等的情況多個(gè)中斷源優(yōu)先級(jí)相等的情況p特點(diǎn)特點(diǎn):n優(yōu)先級(jí)優(yōu)先級(jí)不固定不固定n一個(gè)中斷一個(gè)中斷IRi處理完后,處理完后,它的優(yōu)先級(jí)它的優(yōu)先級(jí)自動(dòng)降為自動(dòng)降為最低最低,IRi+1的優(yōu)先級(jí)為的優(yōu)先級(jí)為最高最高p例例. 設(shè)初始中斷優(yōu)先級(jí)為設(shè)初始中斷優(yōu)先級(jí)為IR0IR1IR2IR3IR4IR5IR6IR7n(1) IR0處理后的中斷優(yōu)先級(jí)為處理后的中斷優(yōu)先級(jí)為pIR1IR2IR3IR4IR5IR6IR7IR0n(2) IR4處理后的中斷優(yōu)先級(jí)為處理后的中斷優(yōu)先級(jí)為pIR5IR6IR7IR0
23、IR1IR2IR3IR4IR0IR4IR6IR2IR1IR3IR7IR5p優(yōu)先級(jí)循環(huán)方式的分類(lèi)優(yōu)先級(jí)循環(huán)方式的分類(lèi)(依據(jù):最低優(yōu)先級(jí)的設(shè)置方法)(依據(jù):最低優(yōu)先級(jí)的設(shè)置方法)n自動(dòng)循環(huán)方式自動(dòng)循環(huán)方式p初始優(yōu)先級(jí)別,默認(rèn)為初始優(yōu)先級(jí)別,默認(rèn)為 IR0IR1IR2IR3IR4IR5IR6IR7n特殊循環(huán)方式特殊循環(huán)方式p與優(yōu)先權(quán)自動(dòng)循環(huán)方式與優(yōu)先權(quán)自動(dòng)循環(huán)方式唯一唯一的不同的不同 可通過(guò)可通過(guò)OCW2命令字設(shè)置命令字設(shè)置當(dāng)前當(dāng)前的的最低最低優(yōu)先級(jí)優(yōu)先級(jí)若設(shè)若設(shè)IRi為最低,則為最低,則IRi+1為最高為最高IR0IR4IR6IR2IR1IR3IR7IR5(4) 中斷結(jié)束方式中斷結(jié)束方式 EOI
24、OCW2p響應(yīng)中斷請(qǐng)求響應(yīng)中斷請(qǐng)求IRi時(shí),時(shí),ISRi置置1 1pIRi的中斷服務(wù)結(jié)束時(shí),必須使的中斷服務(wù)結(jié)束時(shí),必須使ISRi復(fù)位復(fù)位n功能:功能:標(biāo)識(shí)標(biāo)識(shí)8259A中斷處理中斷處理結(jié)束結(jié)束n這個(gè)中斷結(jié)束這個(gè)中斷結(jié)束p是指是指8259A結(jié)束結(jié)束中斷中斷,而不是,而不是CPU結(jié)束結(jié)束中斷服務(wù)程序中斷服務(wù)程序p分類(lèi)分類(lèi)n自動(dòng)自動(dòng)結(jié)束結(jié)束方式方式AEOIn非自動(dòng)非自動(dòng)EOI方式方式普通普通( (常規(guī)常規(guī))EOI)EOI方式方式特殊特殊( (指定指定)EOI)EOI方式方式p自動(dòng)自動(dòng)結(jié)束結(jié)束方式方式AEOIn用于用于p系統(tǒng)只有系統(tǒng)只有一片一片8259Ap中斷中斷不嵌套不嵌套n方法方法p在第二個(gè)在第
25、二個(gè)INTA*的后沿,的后沿,8259A自動(dòng)把自動(dòng)把ISR中中對(duì)應(yīng)對(duì)應(yīng)位位(剛被置位剛被置位)復(fù)位復(fù)位n特點(diǎn)特點(diǎn)p中斷服務(wù)程序中斷服務(wù)程序未未結(jié)束時(shí)結(jié)束時(shí) ISRi位位(剛被置位剛被置位)已經(jīng)復(fù)位已經(jīng)復(fù)位對(duì)對(duì)8259A來(lái)說(shuō)中斷已經(jīng)結(jié)束來(lái)說(shuō)中斷已經(jīng)結(jié)束p普通普通(常規(guī)常規(guī))結(jié)束結(jié)束方式方式NSEOIn用于用于p普通全嵌套方式普通全嵌套方式 當(dāng)前服務(wù)過(guò)的中斷的優(yōu)先權(quán)最高當(dāng)前服務(wù)過(guò)的中斷的優(yōu)先權(quán)最高8259A能能確定確定剛服務(wù)剛服務(wù)的中斷源的的中斷源的等級(jí)等級(jí)n方法方法p把把ISR中中最高優(yōu)先級(jí)最高優(yōu)先級(jí)的的ISRi位位(剛被置位剛被置位)復(fù)位復(fù)位p特殊結(jié)束方式特殊結(jié)束方式SEOIn用于用于p優(yōu)先級(jí)
26、排隊(duì)方式:優(yōu)先級(jí)排隊(duì)方式:非非普通全嵌套方式普通全嵌套方式 8259A不能不能確定確定剛服務(wù)剛服務(wù)的中斷源的的中斷源的等級(jí)等級(jí)n使用原因使用原因p8259A不能確定不能確定剛服務(wù)的源的等級(jí),要用特殊的剛服務(wù)的源的等級(jí),要用特殊的EOI命令命令指明指明要清除的要清除的ISR位位n方法方法p命令加在命令加在中斷服務(wù)程序的中斷服務(wù)程序的末尾末尾、IRET之前之前4. 8259A命令字命令字p初始化命令字初始化命令字nICW(Initialization Command Word)p初始化編程初始化編程 選擇工作方式選擇工作方式p操作命令字操作命令字nOCW(Operation Command Wor
27、d)p中斷操作編程中斷操作編程 按新要求工作,讀取信息等按新要求工作,讀取信息等初始化命令字初始化命令字ICW 8259A的初始化的初始化寫(xiě)寫(xiě)ICW1寫(xiě)寫(xiě)ICW2級(jí)連?級(jí)連?寫(xiě)寫(xiě)ICW3需需ICW4?寫(xiě)寫(xiě)ICW4NNYY8259A8259A的初始化流程的初始化流程pICW1(初始化字)(初始化字)pICW2(中斷類(lèi)型碼字)(中斷類(lèi)型碼字)pICW3(級(jí)聯(lián)控制字)(級(jí)聯(lián)控制字)pICW4(方式控制字)(方式控制字)A0=0A0=1A0=1A0=1(1) ICW1(初始化字)(初始化字)pLTIM: 觸發(fā)方式觸發(fā)方式1 高電平觸發(fā)高電平觸發(fā)0 上升沿觸發(fā)上升沿觸發(fā)pSNGL: 級(jí)連控制級(jí)連控制1
28、單片單片0 級(jí)連級(jí)連1LTIMSNGLIC4D7D6D5D4D3D2D1D00A0例:設(shè)例:設(shè)8259A8259A端口地址端口地址20H20H、21H21H MOV AL MOV AL,13H13H OUT 20H OUT 20H,ALALICW1pIC4: ICW4控制控制1 要寫(xiě)要寫(xiě)ICW40 不寫(xiě)不寫(xiě)ICW4(默認(rèn)(默認(rèn)ICW4為全為全0)中斷為邊沿觸發(fā),系統(tǒng)中一片中斷為邊沿觸發(fā),系統(tǒng)中一片8259A8259A,要設(shè),要設(shè)ICW4ICW4ICW1識(shí)別位識(shí)別位寫(xiě)入寫(xiě)入ICW1后,后,8259A的狀態(tài)的狀態(tài)p初始化初始化8259A必須從必須從 開(kāi)始開(kāi)始p寫(xiě)寫(xiě)ICW1意味著重新初始化意味著重新
29、初始化8259Ap寫(xiě)入寫(xiě)入ICW1后,后,8259A的狀態(tài)如下:的狀態(tài)如下:n順序邏輯復(fù)位,準(zhǔn)備按順序邏輯復(fù)位,準(zhǔn)備按ICW2、CW3和和ICW4順序順序接收接收ICW;n清除清除ISR和和IMR(全全0);n將中斷優(yōu)先級(jí)設(shè)成初始狀態(tài):將中斷優(yōu)先級(jí)設(shè)成初始狀態(tài):IR0最高,最高,IR7最低;最低;n設(shè)定為一般屏蔽方式;設(shè)定為一般屏蔽方式;n采用非自動(dòng)中斷結(jié)束方式;采用非自動(dòng)中斷結(jié)束方式;n狀態(tài)讀出邏輯預(yù)置為讀狀態(tài)讀出邏輯預(yù)置為讀IRR。(2) ICW2(中斷類(lèi)型碼字)(中斷類(lèi)型碼字)p例如:例如: 若若ICW2命令字為命令字為48H,則,則IR0的中斷向量碼為:的中斷向量碼為:? IR7的中斷
30、向量碼為:的中斷向量碼為:?奇地址奇地址中斷類(lèi)型中斷類(lèi)型中斷向量碼的中斷向量碼的高高5 5位位自動(dòng)填入自動(dòng)填入IR0 000IR1 001IR7 111中斷源的中斷源的序號(hào)序號(hào)T7T6T5T4T3D7D6D5D4D3D2D1D01A048H4FH(3) ICW3(級(jí)聯(lián)級(jí)聯(lián)控制字)控制字)p使用注意使用注意n若只有若只有一片一片8259Ap則,則,不用不用ICW3n若有若有多片多片8259A級(jí)連級(jí)連p則,則,主主8259A和和每一片從每一片從8259A都都必須必須使用使用ICW3n僅當(dāng)僅當(dāng)ICW1中中D1為為0才需寫(xiě)才需寫(xiě)ICW38259A最多最多和和從從8259A級(jí)連級(jí)連使中斷源擴(kuò)展至使中斷源
31、擴(kuò)展至64個(gè)個(gè)主片主片的級(jí)聯(lián)控制字的級(jí)聯(lián)控制字 S0 S1 S2 S3 S4 S5 S6 S71A0D7 D6 D5 D4 D3 D2 D1 D0奇地址奇地址對(duì)應(yīng)每位對(duì)應(yīng)每位Di表示表示IRi中斷請(qǐng)求線(xiàn)上中斷請(qǐng)求線(xiàn)上有無(wú)從片有無(wú)從片 1:有:有 0:無(wú):無(wú)Si=1 對(duì)應(yīng)對(duì)應(yīng)IRi線(xiàn)上連接了從片線(xiàn)上連接了從片從片從片的級(jí)聯(lián)控制字的級(jí)聯(lián)控制字 ID0ID1ID2 0 0 0 0 01A0D7 D6 D5 D4 D3 D2 D1 D0奇地址奇地址無(wú)無(wú)作用,常取作用,常取0標(biāo)識(shí)碼標(biāo)識(shí)碼:說(shuō)明本從片:說(shuō)明本從片連接到主片的哪個(gè)連接到主片的哪個(gè)IR引腳上。引腳上。 000111分分別對(duì)應(yīng)別對(duì)應(yīng)IR0IR7
32、。例:主片例:主片ICW3ICW3F0HF0H,表示:,表示:IR7IR7IR4IR4上有從片,上有從片,IR3IR3IR0IR0上無(wú)從片。上無(wú)從片。注意注意p(4) ICW3必須與主從片的連接關(guān)系必須與主從片的連接關(guān)系一致一致n例例. 主片的主片的IR4與從片的與從片的INT線(xiàn)連接,則線(xiàn)連接,則p主片主片的的ICW3 = _ p從片從片的的ICW3 = _p(5)中斷響應(yīng)時(shí)中斷響應(yīng)時(shí)n主片主片由由CAS2-CAS0送出送出被允許中斷的被允許中斷的從片從片標(biāo)識(shí)碼標(biāo)識(shí)碼n從片從片用自己的用自己的ICW3與與CAS2-CAS0比較,二者比較,二者一致一致的的從從片片才可才可發(fā)送發(fā)送中斷向量碼中斷向
33、量碼10H04H(4) ICW4(方式控制字)(方式控制字)pSFNM: SFNM: 特殊全嵌套特殊全嵌套1 1 特殊全嵌套方式特殊全嵌套方式0 0 一般全嵌套方式一般全嵌套方式pAEOI: AEOI: 自動(dòng)自動(dòng)EOIEOI1 1 自動(dòng)自動(dòng)EOIEOI方式方式0 0 非自動(dòng)非自動(dòng)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設(shè):設(shè):PC機(jī)中使用機(jī)中使用單片單片8259A,地,地址為:址為:20H、21Hn8259A的工作方式為的工作方式為p邊沿觸發(fā)邊沿觸發(fā)p固定優(yōu)先權(quán)級(jí)別:固定優(yōu)先權(quán)級(jí)別:IR0最最高,高,IR7最低最低p8個(gè)中斷類(lèi)型碼:個(gè)中斷類(lèi)型碼: 08H0FHp普通普通(非自動(dòng)非自動(dòng))EOI命令命令p一般屏蔽方式一般屏蔽方式p非緩沖方式非緩沖方式單片單片8259A不設(shè)置不設(shè)置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工作期間,設(shè)置工作期間,設(shè)置8259A工作狀態(tài)工作狀態(tài)p特點(diǎn):特點(diǎn):8259A初始化后初始化后,可,可隨時(shí)隨時(shí)(順序(順序可任意)接受可任意)接受OCWp寫(xiě)入地址要求寫(xiě)入地址要求nA0=1pOCW1(屏蔽控制字屏蔽控制字) ):寫(xiě)入寫(xiě)入IMR,控
36、制中斷屏蔽,控制中斷屏蔽nA0=0pOCW2(中斷結(jié)束和優(yōu)先權(quán)循環(huán)控制字中斷結(jié)束和優(yōu)先權(quán)循環(huán)控制字) ) 產(chǎn)生產(chǎn)生EOI命令、改變命令、改變優(yōu)先權(quán)優(yōu)先權(quán)順序順序pOCW3屏蔽和讀狀態(tài)控制字屏蔽和讀狀態(tài)控制字 控制讀取控制讀取IRR、ISR、IMR和和查詢(xún)字查詢(xún)字(1) OCW1(屏蔽控制字)(屏蔽控制字)p寫(xiě)入寫(xiě)入IMR寄存器寄存器pIMRi=0,開(kāi)放中斷;,開(kāi)放中斷;IMRi=1,屏蔽中斷,屏蔽中斷p讀讀OCW1可讀出設(shè)置的可讀出設(shè)置的IMR內(nèi)容內(nèi)容 M0 M1 M2 M3 M4 M5 M6 M71A0D7 D6 D5 D4 D3 D2 D1 D0奇地址奇地址中斷屏蔽中斷屏蔽1=1=置屏蔽置
37、屏蔽0=0=復(fù)位屏蔽復(fù)位屏蔽例:例:OCW1=80H,則表示,則表示 ? 中斷被屏蔽中斷被屏蔽 IR7例例2. 8259A應(yīng)用舉例應(yīng)用舉例p按以下要求初始化按以下要求初始化8259Ap接口地址為接口地址為20H和和21Hp中斷為上升沿觸發(fā);單片中斷為上升沿觸發(fā);單片8259A;不寫(xiě);不寫(xiě)ICW4p與與IR0IR3對(duì)應(yīng)的中斷向量碼為對(duì)應(yīng)的中斷向量碼為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,寫(xiě),寫(xiě)ICW1MOV AL, 12H ;上升沿觸發(fā)上升沿觸發(fā),單片單片,不寫(xiě)不寫(xiě)ICW4OUTDX, ALMOV DX, 21H ;A0=1,寫(xiě),寫(xiě)ICW2,OCW1MOV AL, 08H ;ICW2OUTDX, ALMOV AL, 0F0H;OCW1:屏蔽:屏蔽IR4-IR7OUTDX, AL寫(xiě)寫(xiě)ICW1ICW1寫(xiě)寫(xiě)ICW2ICW2級(jí)連級(jí)連? ?寫(xiě)寫(xiě)ICW3ICW3需需ICW4?ICW4?寫(xiě)寫(xiě)ICW4ICW4NNYY(2) OCW2(中斷結(jié)束和
39、優(yōu)先權(quán)循環(huán)控制字中斷結(jié)束和優(yōu)先權(quán)循環(huán)控制字)p設(shè)置設(shè)置優(yōu)先級(jí)是否循環(huán)優(yōu)先級(jí)是否循環(huán),循環(huán)方式循環(huán)方式,中斷結(jié)束方式中斷結(jié)束方式 L0 L1 L2 0 0EOI SL R 0A0D7 D6 D5 D4 D3 D2 D1 D0偶地址偶地址8259A的幾種的幾種不同工作方式不同工作方式OCW2OCW2標(biāo)志位標(biāo)志位0 0 00 0 11 1 01 1 1 SL=1 且且R=1時(shí),指出時(shí),指出系統(tǒng)中最低優(yōu)系統(tǒng)中最低優(yōu)先級(jí)的編碼先級(jí)的編碼 SL=1 且且EOI=1時(shí)時(shí), ,指指出要清出要清ISRISR中中的哪一位的哪一位中斷優(yōu)先方式:中斷優(yōu)先方式:1 循環(huán)方式循環(huán)方式0 非循環(huán)方式非循環(huán)方式 IR0(高高
40、) IR7(低低 )決定決定L2L1L0是否有效:是否有效:1 有效,指出最低優(yōu)先級(jí)有效,指出最低優(yōu)先級(jí)0 無(wú)效,當(dāng)前被服務(wù)的中無(wú)效,當(dāng)前被服務(wù)的中 斷源循環(huán)到最低優(yōu)先級(jí)斷源循環(huán)到最低優(yōu)先級(jí)中斷結(jié)束命令位:中斷結(jié)束命令位:1 ISR中相應(yīng)位復(fù)位中相應(yīng)位復(fù)位0 在在ICW4中給出中給出AEOIOCW2的各種格式及應(yīng)用的各種格式及應(yīng)用級(jí)聯(lián)系統(tǒng)的中斷結(jié)束級(jí)聯(lián)系統(tǒng)的中斷結(jié)束中斷服務(wù)程序中斷服務(wù)程序向向從從PICPIC發(fā)發(fā)EOI命令命令讀讀從從PICPIC的的ISRISR全全0 0?向向主主PICPIC發(fā)發(fā)EOI命令命令YIRET恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng)N(3) OCW3(屏蔽和讀狀態(tài)控制字)(屏蔽和讀狀態(tài)控制
41、字)未定義未定義常取常取0 0RIS RR P 1 0SMMESMM 0 0A0D7 D6 D5 D4 D3 D2 D1 D0偶地址偶地址OCW3OCW3標(biāo)志標(biāo)志1 1 中斷查詢(xún)命令中斷查詢(xún)命令0 0 非查詢(xún)命令非查詢(xún)命令在下一個(gè)在下一個(gè)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)設(shè)置中斷查詢(xún)方式設(shè)置中斷查詢(xún)方式(1)
42、 讀讀8259A工作狀態(tài)工作狀態(tài)pCPU可讀出可讀出IRR、ISR和和IMR的內(nèi)容的內(nèi)容OCW3: D2 D1D0A0PRRRIS功能功能1下一個(gè)讀指令,讀查詢(xún)字下一個(gè)讀指令,讀查詢(xún)字0010下一個(gè)讀指令,讀下一個(gè)讀指令,讀IRR011下一個(gè)讀指令,讀下一個(gè)讀指令,讀ISR00無(wú)操作無(wú)操作1無(wú)需設(shè)置無(wú)需設(shè)置OCW3讀讀IMR(隨時(shí)可讀(隨時(shí)可讀)例例3.p設(shè)設(shè)8259A有兩個(gè)端口地址有兩個(gè)端口地址20H和和21H,OCW3、ISR和和IRR共用一個(gè)地址共用一個(gè)地址20H。問(wèn):?jiǎn)枺?a)(a)下段程序讀取下段程序讀取 的內(nèi)容的內(nèi)容MOV 000MOV 0000101011011B BOUT 20
43、H,ALOUT 20H,ALIN AL,20HIN AL,20H(b)(b)下段程序讀取下段程序讀取 的內(nèi)容的內(nèi)容MOV 000MOV 0000101010010B BOUT 20H,ALOUT 20H,ALIN AL,20HIN AL,20HISRISRIRRIRR(2) 設(shè)置中斷查詢(xún)方式設(shè)置中斷查詢(xún)方式pCPU內(nèi)部?jī)?nèi)部禁止中斷禁止中斷或或不想用不想用INT引腳引腳申請(qǐng)中斷時(shí)申請(qǐng)中斷時(shí)n可用可用8259A的查詢(xún)工作,查詢(xún)外部事件是否有中斷請(qǐng)求的查詢(xún)工作,查詢(xún)外部事件是否有中斷請(qǐng)求p查詢(xún)步驟查詢(xún)步驟nOCW3寫(xiě)入寫(xiě)入8259A,其中:,其中:D2=1(即(即P=1)n讀查詢(xún)字(對(duì)同一地址)讀查
44、詢(xún)字(對(duì)同一地址)當(dāng)前請(qǐng)求中斷的最高優(yōu)先級(jí)當(dāng)前請(qǐng)求中斷的最高優(yōu)先級(jí)的中斷源的編碼的中斷源的編碼1 1:有中斷請(qǐng)求:有中斷請(qǐng)求0 0:無(wú)中斷請(qǐng)求:無(wú)中斷請(qǐng)求W0W1 W2I 0A0D7 D6 D5 D4 D3 D2 D1 D0命令字和狀態(tài)字的區(qū)別方法命令字和狀態(tài)字的區(qū)別方法p利用利用RD*、WR*區(qū)別寄存器的讀、寫(xiě)區(qū)別寄存器的讀、寫(xiě)p寄存器的區(qū)分方法(寄存器的區(qū)分方法(3種)種)n利用地址信號(hào)利用地址信號(hào)A0p如:如:ICW1和和OCW1n由寄存器中的位狀態(tài)由寄存器中的位狀態(tài)p如:如: ICW1、OCW2和和OCW3n由寄存器寫(xiě)入順序由寄存器寫(xiě)入順序p由前面的控制字決定后續(xù)操作的寄存器由前面的控
45、制字決定后續(xù)操作的寄存器 如:如:ICW2、ICW3、ICW4的初始化的初始化 1 I3 I4ICW1ICW1 芯片控制芯片控制 ICW2ICW2 中斷類(lèi)型號(hào)中斷類(lèi)型號(hào) ICW3ICW3 主從片關(guān)系主從片關(guān)系 ICW4ICW4 方式控制方式控制處理部分處理部分控制部分控制部分000 0 0 0 0 0 ISR當(dāng)前當(dāng)前中斷中斷服務(wù)服務(wù)寄存器寄存器PR優(yōu)先級(jí)優(yōu)先級(jí)裁決器裁決器IRR中斷申請(qǐng)中斷申請(qǐng)寄存器寄存器000 0 0 0 0 0 OCW2OCW2 1 0 0 1 0 1 0 0 0 0 0 1 OCW3OCW3OCW1OCW18259A8259A中斷控制器中斷控制器D0D7A0CSRDWR8
46、0111A0100A08259A內(nèi)部寄存器的尋址方法內(nèi)部寄存器的尋址方法CS* RD* WR* A0 D4 D3讀寫(xiě)操作讀寫(xiě)操作010000寫(xiě)寫(xiě)OCW2001寫(xiě)寫(xiě)OCW301x寫(xiě)寫(xiě)ICW11xx寫(xiě)寫(xiě)ICW2,ICW3,ICW4,OCW1(順序?qū)懭腠樞驅(qū)懭?0010 xx讀出讀出IRR、ISR1xx讀出讀出IMR5. 8259A應(yīng)用舉例應(yīng)用舉例p中斷控制器的應(yīng)用中斷控制器的應(yīng)用n8259A在在PC/XT中中n8259A在在PC/AT中中鍵鍵 盤(pán)盤(pán)保保 留留串串 口口2 硬硬 盤(pán)盤(pán)軟軟 盤(pán)盤(pán)打印機(jī)打印機(jī)IOW 日時(shí)鐘日時(shí)鐘A0CS8259A總線(xiàn)總線(xiàn)A0數(shù)數(shù) 據(jù)據(jù) 線(xiàn)線(xiàn) IORRDWR片片選選譯譯碼
47、碼IR0IR1IR2IR3IR4IR5IR6IR7A5A9D0D7D0D7VccSP*/EN*CA0CA1CA2GND+ 5V203FH用于多片用于多片8259A級(jí)連情況級(jí)連情況INTAINT INTA INTR串串 口口1 中斷控制器的應(yīng)用中斷控制器的應(yīng)用8259A在在PC/XT中中(8088CPU)實(shí)時(shí)鐘 IRQ8INT0AH IRQ9保留 IRQ10保留 IRQ11保留 IRQ1280287 IRQ13硬盤(pán) IRQ14保留 IRQ168259A(從片)中斷控制器8259A(主片)中斷控制器INTCAS012SP定時(shí)器 IRQ0鍵盤(pán) IRQ1 IRQ2串行口2 IRQ3串行口1 IRQ4并
48、行口2 IRQ5軟盤(pán) IRQ6并行口1 IRQ7CAS210SP80286CPUINTRINT+中斷控制器的應(yīng)用中斷控制器的應(yīng)用 8259A在在PC/AT中中IBM PC/XT總線(xiàn)插槽引腳信號(hào)總線(xiàn)插槽引腳信號(hào)GNDRESET +5VIRQ2-5VDRQ2-12V+12VGNDMEMWMEMRIOWIORDACK3DRQ3DACK1DRQ1DACK0CLOCKIRQ7IRQ6IRQ5IRQ4IRQ3DACK2T/CALE+5VOSCGNDI/O CH CKD7D6D5D4D3D2D1D0I/O CH RDYAENA19A18A17A16A15A14A13A12A11A10A9A8A7A6A5A4
49、A3A2A1A0 例例1. BIOS初始化程序?qū)Τ跏蓟绦驅(qū)?259A的設(shè)置的設(shè)置要求:要求:(1) IR0IR7 中斷申請(qǐng)為中斷申請(qǐng)為上升沿上升沿觸發(fā);觸發(fā);(2) IR0IR7 的的中斷類(lèi)型號(hào)中斷類(lèi)型號(hào)分別分別為為08H0FH;(3) 優(yōu)先級(jí)優(yōu)先級(jí)IR0最高最高, IR7最低;最低;(4) 采用采用非自動(dòng)非自動(dòng)結(jié)束方式,結(jié)束方式, 需向需向OCW2發(fā)發(fā)EOI中斷結(jié)束命令中斷結(jié)束命令, 清清除除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;寫(xiě)入寫(xiě)入OCW1 例例1. (續(xù)續(xù))(3)給)給8259A發(fā)發(fā)EOI命令命令MOV AL,20HOUT20H,AL;寫(xiě)入寫(xiě)入OCW2 .;恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng)IRET 例例1. (續(xù)續(xù))(4)設(shè)置設(shè)置OCW3,讀出讀出IRRMOV AL,0AH ;寫(xiě)入寫(xiě)入OCW3,讀,讀IRR命令命令OUT 20H,AL NOP IN AL,20H ;讀出讀出IRR 例例2. 8259A在在PC
51、/AT中的應(yīng)用中的應(yīng)用p已知已知(1)主片主片端口地址端口地址 20H、21H中斷類(lèi)型碼中斷類(lèi)型碼 08H0FH (2)從片從片端口地址端口地址 A0H、A1H中斷類(lèi)型碼中斷類(lèi)型碼 70H77H(1)8259A初始化編程初始化編程對(duì)主片對(duì)主片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 對(duì)從片對(duì)從片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)級(jí)聯(lián)工作編程)級(jí)聯(lián)工作編程讀讀ISR的內(nèi)容:的內(nèi)容: 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. 可屏蔽中斷服務(wù)程序設(shè)計(jì)可屏蔽中斷服務(wù)程序設(shè)計(jì)p注意事項(xiàng)注意事項(xiàng)n需要發(fā)送中斷結(jié)束命令需要發(fā)送中斷結(jié)束命令n一般只能采用存儲(chǔ)單元傳遞參數(shù)一般只能采用存儲(chǔ)單元傳遞參數(shù)n不要使用不要使用DOS系統(tǒng)功能調(diào)用系統(tǒng)功能調(diào)用 INT 21Hn中斷服務(wù)程序盡量短小中斷服務(wù)程序盡量短小n主程序需要修改中斷向量主程序需要修改中斷向量p控制微處理器的中斷允許標(biāo)志控制微處理器的中斷允許標(biāo)志p設(shè)置中斷屏蔽寄存器設(shè)置中斷屏蔽寄存器中斷入口中斷入口保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng)為中斷源服務(wù)部分為中斷源服務(wù)部分發(fā)中斷結(jié)束命令發(fā)中斷結(jié)束命令恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng)中斷返回中斷返回設(shè)置中斷向量設(shè)置中斷向量CLISTI8259A初始化初始化可屏蔽中斷服務(wù)程序設(shè)計(jì)流程可屏蔽中斷服務(wù)程序設(shè)計(jì)流程設(shè)置中斷向量設(shè)置中斷向量CLISTI8259A初始化初始化設(shè)計(jì)流程設(shè)計(jì)流程主程序設(shè)計(jì)主程序設(shè)計(jì)p8259A初始化初始化n若若PC機(jī)內(nèi)機(jī)內(nèi)有有8259Ap設(shè)置設(shè)置8259A(已初始化已初始化)的的IMRp開(kāi)放中斷開(kāi)放中斷n否則,初始化否則,初始化8259Ap設(shè)置中斷向量表設(shè)置中斷向量表n先保存原有中斷向量先保存原有中斷向量n設(shè)置中斷向量設(shè)置中斷向量n恢復(fù)原中斷向量恢復(fù)原中斷向量例例. 8259A初始化初始化PC機(jī)內(nèi)有機(jī)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版本二手房買(mǎi)賣(mài)合同針對(duì)房產(chǎn)稅繳納的約定3篇
- 2025年個(gè)人水利工程建設(shè)與維護(hù)承包合同模板4篇
- 2025年度生態(tài)環(huán)保幕墻材料采購(gòu)與安裝勞務(wù)分包合同范例4篇
- 二零二五版汽車(chē)4S店促銷(xiāo)員銷(xiāo)售服務(wù)合同3篇
- 2025年度新材料研發(fā)與應(yīng)用推廣咨詢(xún)服務(wù)合同4篇
- 二手住宅買(mǎi)賣(mài)合同(海南版2024)
- 專(zhuān)利技術(shù)成果實(shí)施許可合同(2024版)版B版
- 2025年度智慧城市運(yùn)營(yíng)管理出資合同4篇
- 二零二五年度危險(xiǎn)品運(yùn)輸合同框架協(xié)議2篇
- 二零二五年度寵物活體活體領(lǐng)養(yǎng)援助合同4篇
- 節(jié)前停工停產(chǎn)與節(jié)后復(fù)工復(fù)產(chǎn)安全注意事項(xiàng)課件
- 設(shè)備管理績(jī)效考核細(xì)則
- 中國(guó)人民銀行清算總中心直屬企業(yè)2023年招聘筆試上岸歷年典型考題與考點(diǎn)剖析附帶答案詳解
- (正式版)SJT 11449-2024 集中空調(diào)電子計(jì)費(fèi)信息系統(tǒng)工程技術(shù)規(guī)范
- 廣州綠色金融發(fā)展現(xiàn)狀及對(duì)策的研究
- 人教版四年級(jí)上冊(cè)加減乘除四則混合運(yùn)算300題及答案
- 合成生物學(xué)技術(shù)在生物制藥中的應(yīng)用
- 消化系統(tǒng)疾病的負(fù)性情緒與心理護(hù)理
- 高考語(yǔ)文文學(xué)類(lèi)閱讀分類(lèi)訓(xùn)練:戲劇類(lèi)(含答案)
- 協(xié)會(huì)監(jiān)事會(huì)工作報(bào)告大全(12篇)
- WS-T 813-2023 手術(shù)部位標(biāo)識(shí)標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論