




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第七章第七章 中斷系統(tǒng)中斷系統(tǒng) v7.1 7.1 中斷的基本概念中斷的基本概念v7.27.2中斷系統(tǒng)及其處理過(guò)程中斷系統(tǒng)及其處理過(guò)程v7.3 8086/80887.3 8086/8088的中斷系統(tǒng)的中斷系統(tǒng)v7.47.4可編程中斷控制器可編程中斷控制器8259A8259A7.1 中斷的基本概念中斷的基本概念中斷與異常中斷與異常 一、中斷一、中斷 在在CPUCPU正常運(yùn)行程序時(shí),由于內(nèi)部或外部正常運(yùn)行程序時(shí),由于內(nèi)部或外部某個(gè)某個(gè)非預(yù)料事件非預(yù)料事件的發(fā)生,使的發(fā)生,使CPUCPU暫停正在運(yùn)行暫停正在運(yùn)行的程序,而轉(zhuǎn)去執(zhí)行的程序,而轉(zhuǎn)去執(zhí)行處理引起中斷事件的程處理引起中斷事件的程序序,然后再返回
2、被中斷了的程序,繼續(xù)執(zhí)行。然后再返回被中斷了的程序,繼續(xù)執(zhí)行。這個(gè)過(guò)程就是中斷。這個(gè)過(guò)程就是中斷。 早期早期中斷概念的引入,是為解決中斷概念的引入,是為解決CPUCPU與外設(shè)與外設(shè)間的速度匹配問(wèn)題,提高間的速度匹配問(wèn)題,提高CPU CPU 的工作效率。的工作效率。中斷中斷源主要是由外部硬件產(chǎn)生。源主要是由外部硬件產(chǎn)生。當(dāng)今的中斷技術(shù),不當(dāng)今的中斷技術(shù),不再限于外部硬件產(chǎn)生中斷再限于外部硬件產(chǎn)生中斷( (稱(chēng)稱(chēng)硬件中斷硬件中斷或或外中外中斷斷 ) ),還可由,還可由CPUCPU內(nèi)部產(chǎn)生。內(nèi)部產(chǎn)生。二、異常(軟件中斷或內(nèi)中斷)二、異常(軟件中斷或內(nèi)中斷) 因內(nèi)部意外條件而改變程序執(zhí)行流程以報(bào)告因內(nèi)部
3、意外條件而改變程序執(zhí)行流程以報(bào)告出錯(cuò)情況和非正常狀態(tài)的過(guò)程或者由程序預(yù)先安出錯(cuò)情況和非正常狀態(tài)的過(guò)程或者由程序預(yù)先安排,即由指令排,即由指令I(lǐng)NT nINT n調(diào)用中斷服務(wù)程序產(chǎn)生的中調(diào)用中斷服務(wù)程序產(chǎn)生的中斷。斷。7.1.17.1.1中斷的用途中斷的用途 CPUCPU的中斷功能的實(shí)現(xiàn)帶來(lái)了以下好處:的中斷功能的實(shí)現(xiàn)帶來(lái)了以下好處:1 1同步處理同步處理2 2實(shí)現(xiàn)了實(shí)時(shí)處理實(shí)現(xiàn)了實(shí)時(shí)處理3 3多道程序或多重任務(wù)的運(yùn)行多道程序或多重任務(wù)的運(yùn)行4 4突發(fā)事件處理突發(fā)事件處理7.1.27.1.2中斷源中斷源 凡是能引起中斷的設(shè)備或事件統(tǒng)稱(chēng)為中斷源。凡是能引起中斷的設(shè)備或事件統(tǒng)稱(chēng)為中斷源。中斷源分為外
4、部中斷源和中斷源分為外部中斷源和CPUCPU內(nèi)部的中斷源內(nèi)部的中斷源 7.1.37.1.3中斷系統(tǒng)的功能中斷系統(tǒng)的功能1 1中斷的實(shí)現(xiàn)與返回中斷的實(shí)現(xiàn)與返回2 2能實(shí)現(xiàn)優(yōu)化級(jí)別排隊(duì)能實(shí)現(xiàn)優(yōu)化級(jí)別排隊(duì)3 3能實(shí)現(xiàn)中斷的嵌套能實(shí)現(xiàn)中斷的嵌套7.27.2中斷系統(tǒng)及其處理過(guò)程中斷系統(tǒng)及其處理過(guò)程 中斷系統(tǒng)中斷系統(tǒng)處理中斷請(qǐng)求的硬件電路:處理中斷請(qǐng)求的硬件電路:接收接收請(qǐng)求、響應(yīng)請(qǐng)求、保護(hù)現(xiàn)場(chǎng)、轉(zhuǎn)請(qǐng)求、響應(yīng)請(qǐng)求、保護(hù)現(xiàn)場(chǎng)、轉(zhuǎn)向中斷服務(wù)程序以及中斷處理完向中斷服務(wù)程序以及中斷處理完返回返回中斷控制器:中斷控制器:管理多個(gè)中斷源,管理多個(gè)中斷源,進(jìn)行優(yōu)先級(jí)裁決及中斷源屏蔽等進(jìn)行優(yōu)先級(jí)裁決及中斷源屏蔽等功能功
5、能中斷處理程序中斷處理程序中斷原理(外中斷)中斷原理(外中斷)一、中斷過(guò)程一、中斷過(guò)程 1.中斷請(qǐng)求中斷請(qǐng)求 2.中斷響應(yīng)中斷響應(yīng) 條件:條件:無(wú)總線(xiàn)請(qǐng)求無(wú)總線(xiàn)請(qǐng)求 IF=1 CPU執(zhí)行完現(xiàn)行指令執(zhí)行完現(xiàn)行指令 當(dāng)前中斷級(jí)別最高當(dāng)前中斷級(jí)別最高響應(yīng)時(shí)自動(dòng)完成以下工作響應(yīng)時(shí)自動(dòng)完成以下工作: 關(guān)中斷,即關(guān)中斷,即IF=0 TF=0; 保護(hù)斷點(diǎn),依次將保護(hù)斷點(diǎn),依次將FLAG、 CS 、 IP入棧;入棧; 取得中斷服務(wù)程序入口地址。取得中斷服務(wù)程序入口地址。 3.中斷處理中斷處理 保護(hù)現(xiàn)場(chǎng);保護(hù)現(xiàn)場(chǎng); 開(kāi)中斷,可以允許嵌套,也可不開(kāi)中斷;開(kāi)中斷,可以允許嵌套,也可不開(kāi)中斷; 中斷服務(wù);中斷服務(wù);
6、關(guān)中斷,保證無(wú)干擾恢復(fù)現(xiàn)場(chǎng);關(guān)中斷,保證無(wú)干擾恢復(fù)現(xiàn)場(chǎng); 恢復(fù)現(xiàn)場(chǎng)?;謴?fù)現(xiàn)場(chǎng)。 4.4.中斷返回中斷返回 開(kāi)中斷;開(kāi)中斷; 返回。返回。二、中斷源的識(shí)別二、中斷源的識(shí)別 對(duì)于多個(gè)中斷源公用一個(gè)中斷請(qǐng)求線(xiàn)對(duì)于多個(gè)中斷源公用一個(gè)中斷請(qǐng)求線(xiàn), ,需要識(shí)別是哪個(gè)中斷源發(fā)出的中斷請(qǐng)求。需要識(shí)別是哪個(gè)中斷源發(fā)出的中斷請(qǐng)求。 1.1.軟件查詢(xún)法軟件查詢(xún)法 2.2.硬件處理法硬件處理法7.3 8086/8088的中斷系統(tǒng)的中斷系統(tǒng)一、中斷分類(lèi)一、中斷分類(lèi) 8086/8088系統(tǒng)中,可以處理系統(tǒng)中,可以處理256個(gè)不同類(lèi)型的個(gè)不同類(lèi)型的中斷,其編號(hào)從中斷,其編號(hào)從00H0FFH,稱(chēng)為,稱(chēng)為中斷類(lèi)型號(hào)中斷類(lèi)型號(hào)。
7、 內(nèi)中斷:內(nèi)中斷: 除法出錯(cuò)除法出錯(cuò) 類(lèi)型號(hào)類(lèi)型號(hào)0 自動(dòng)產(chǎn)生自動(dòng)產(chǎn)生 單步中斷單步中斷 類(lèi)型號(hào)類(lèi)型號(hào)1 DEBUG執(zhí)行執(zhí)行T命令命令 斷點(diǎn)中斷斷點(diǎn)中斷 類(lèi)型號(hào)類(lèi)型號(hào)3 DEBUG執(zhí)行執(zhí)行G命令命令 溢出中斷溢出中斷 類(lèi)型號(hào)類(lèi)型號(hào)4 執(zhí)行執(zhí)行 INTO INT n 類(lèi)型號(hào)類(lèi)型號(hào)n(05H 0FFH) 外中斷外中斷:不可屏蔽中斷不可屏蔽中斷 類(lèi)型號(hào)類(lèi)型號(hào)2 自動(dòng)產(chǎn)生自動(dòng)產(chǎn)生可屏蔽中斷可屏蔽中斷 類(lèi)型號(hào)類(lèi)型號(hào)(32 255) 由由8259管理管理中斷邏輯中斷邏輯INTn指令指令I(lǐng)NTO指令指令除法除法錯(cuò)誤錯(cuò)誤單步單步斷點(diǎn)斷點(diǎn)非屏蔽中斷請(qǐng)求非屏蔽中斷請(qǐng)求n401CPUINTRNMIIR0IR6IR5
8、IR4IR3IR2IR1IR7可編程可編程中中 斷斷控制器控制器(PIC)8259AINT23當(dāng)有多個(gè)中斷源同時(shí)產(chǎn)生中斷申請(qǐng)時(shí),當(dāng)有多個(gè)中斷源同時(shí)產(chǎn)生中斷申請(qǐng)時(shí),CPU先響應(yīng)優(yōu)先權(quán)最高的中斷源,先響應(yīng)優(yōu)先權(quán)最高的中斷源,再響應(yīng)優(yōu)先級(jí)較低的中斷源。再響應(yīng)優(yōu)先級(jí)較低的中斷源。二、二、8088/8086CPU的中斷優(yōu)先權(quán)的中斷優(yōu)先權(quán)優(yōu)先級(jí)優(yōu)先級(jí) 高高 低低n 內(nèi)中斷內(nèi)中斷 ( 除法出錯(cuò)除法出錯(cuò),INT 指令指令,斷點(diǎn)斷點(diǎn),INTO指令指令 ) n 非屏蔽中斷非屏蔽中斷 n 可屏蔽中斷可屏蔽中斷低低 內(nèi)中斷內(nèi)中斷( 單步單步 ) 三、三、 中斷向量和中斷向量表中斷向量和中斷向量表直接寫(xiě)入法直接寫(xiě)入法M
9、OVAX,00HMOVDS,AXMOVSI,60H*4;中斷類(lèi)型號(hào);中斷類(lèi)型號(hào)4BXMOVAX,OFFSET A;中斷服務(wù)程序偏移地址;中斷服務(wù)程序偏移地址AXMOVSI,AXMOVAX,SEG A;中斷服務(wù)程序段地址;中斷服務(wù)程序段地址AXMOVSI+2,AX四、中斷向量的裝入四、中斷向量的裝入 五、五、8086/8088CPU響應(yīng)中斷的過(guò)程響應(yīng)中斷的過(guò)程n當(dāng)中斷源產(chǎn)生當(dāng)中斷源產(chǎn)生中斷申請(qǐng)中斷申請(qǐng)后,后,n不論是內(nèi)中斷、非屏蔽中斷,還是可屏蔽中斷不論是內(nèi)中斷、非屏蔽中斷,還是可屏蔽中斷,n只要滿(mǎn)足響應(yīng)條件,在執(zhí)行完當(dāng)前指令后,只要滿(mǎn)足響應(yīng)條件,在執(zhí)行完當(dāng)前指令后,nCPU內(nèi)部硬件會(huì)自動(dòng)完成下
10、列響應(yīng)中斷的過(guò)程:內(nèi)部硬件會(huì)自動(dòng)完成下列響應(yīng)中斷的過(guò)程: 取中斷類(lèi)型號(hào)取中斷類(lèi)型號(hào)N 當(dāng)前當(dāng)前PSW的內(nèi)容入棧的內(nèi)容入棧 清清IF、TF標(biāo)志為標(biāo)志為0 當(dāng)前當(dāng)前CS的內(nèi)容入棧的內(nèi)容入棧 當(dāng)前當(dāng)前IP的內(nèi)容入棧的內(nèi)容入棧 取內(nèi)存單元取內(nèi)存單元( 0 : N 4 )字內(nèi)容送字內(nèi)容送IP 取中斷子程取中斷子程 取內(nèi)存單元取內(nèi)存單元( 0 : N 4 + 2 )字內(nèi)容送字內(nèi)容送CS 入口地址入口地址 此時(shí)此時(shí)CS:IP指向中斷程序的入口,開(kāi)始執(zhí)行中斷程序。指向中斷程序的入口,開(kāi)始執(zhí)行中斷程序。保存現(xiàn)場(chǎng)保存現(xiàn)場(chǎng)內(nèi)內(nèi) 存存中斷向量表中斷向量表0:0 3FFH1000:150h3000:200h0: N40
11、: N4+20: 0000 、 、 0200h 3000h 、 、 、 MOV AX, 0 ADD AX, DX MOV DI, AX、 MOV BX,CX、 IRET、類(lèi)型類(lèi)型N中斷子程中斷子程 某中斷源發(fā)申請(qǐng)中斷,某中斷源發(fā)申請(qǐng)中斷,申請(qǐng)執(zhí)行類(lèi)型號(hào)為申請(qǐng)執(zhí)行類(lèi)型號(hào)為N的中斷子程的中斷子程響應(yīng)中斷前響應(yīng)中斷前 SS:SP 響應(yīng)中斷后響應(yīng)中斷后SS:SP 堆棧堆棧 (IP)原原 (CS)原原(PSW)(IP)=0200h(CS)=3000h0:3FFH0:001(PSW)500010從中斷子程返回?cái)帱c(diǎn)處,從中斷子程返回?cái)帱c(diǎn)處,靠的是執(zhí)行中斷子程最后的指令靠的是執(zhí)行中斷子程最后的指令I(lǐng)RET,從
12、堆棧中取出斷點(diǎn)地址給從堆棧中取出斷點(diǎn)地址給CS:IP,繼續(xù)執(zhí)行被中斷的程序。繼續(xù)執(zhí)行被中斷的程序。故中斷子程最后應(yīng)安排故中斷子程最后應(yīng)安排 IRET 指令。指令。1000:150h3000:200h0: N40: N4+20: 0000 、 、 0200h 3000h 、 、 、 MOV AX, 0 ADD AX, DX MOV DI, AX、 MOV BX,CX、 IRET、響應(yīng)中斷前響應(yīng)中斷前 SS:SP 響應(yīng)中斷后響應(yīng)中斷后SS:SP 堆棧堆棧執(zhí)行執(zhí)行IRET后后 (IP) (CS)(PSW)SS:SP (IP)=0200h(CS)=3000h01(PSW)5000107.4可編程中斷控
13、制器可編程中斷控制器8259A1.具有具有8級(jí)優(yōu)先級(jí)控制,通過(guò)級(jí)聯(lián)可擴(kuò)充到級(jí)優(yōu)先級(jí)控制,通過(guò)級(jí)聯(lián)可擴(kuò)充到64級(jí);級(jí);2.每一級(jí)中斷可由程序單獨(dú)屏蔽或允許;每一級(jí)中斷可由程序單獨(dú)屏蔽或允許;3.可提供中斷類(lèi)型號(hào)傳送給可提供中斷類(lèi)型號(hào)傳送給CPU;4.可通過(guò)編程選擇多種不同的工作方式??赏ㄟ^(guò)編程選擇多種不同的工作方式。 D7D0 RD WR A0 CS CAS0 CAS1 CAS2 SP/EN數(shù)據(jù)緩數(shù)據(jù)緩沖器沖器讀寫(xiě)邏讀寫(xiě)邏輯輯級(jí)聯(lián)級(jí)聯(lián)比較比較/緩緩沖沖控制邏輯控制邏輯 中斷屏蔽寄存器中斷屏蔽寄存器IMRISR PRIRRINTINTAIR0IR7VccGND8259A的結(jié)構(gòu)及引腳功能的結(jié)構(gòu)及引腳
14、功能一、內(nèi)部結(jié)構(gòu)一、內(nèi)部結(jié)構(gòu)IRR 中斷請(qǐng)求寄存器中斷請(qǐng)求寄存器 用來(lái)存放由外部輸入的中斷請(qǐng)求信號(hào)用來(lái)存放由外部輸入的中斷請(qǐng)求信號(hào)IR0IR7,允許,允許多位置多位置1。ISR 中斷服務(wù)寄存器中斷服務(wù)寄存器 保存、記錄正在處理中的中斷請(qǐng)求,當(dāng)任何一級(jí)中斷保存、記錄正在處理中的中斷請(qǐng)求,當(dāng)任何一級(jí)中斷被響應(yīng),被響應(yīng),CPU正在執(zhí)行它的中斷服務(wù)程序時(shí),正在執(zhí)行它的中斷服務(wù)程序時(shí),ISR相應(yīng)相應(yīng)位置位置1。PR 優(yōu)先級(jí)判別器優(yōu)先級(jí)判別器 對(duì)保存在對(duì)保存在IRR中的中斷請(qǐng)求進(jìn)行優(yōu)先級(jí)識(shí)別,送出最中的中斷請(qǐng)求進(jìn)行優(yōu)先級(jí)識(shí)別,送出最高級(jí)別中斷請(qǐng)求到高級(jí)別中斷請(qǐng)求到ISR中;當(dāng)出現(xiàn)多重中斷時(shí),中;當(dāng)出現(xiàn)多重
15、中斷時(shí),PR判定判定是否允許所出現(xiàn)的中斷去打斷正在處理的中斷。是否允許所出現(xiàn)的中斷去打斷正在處理的中斷。IMR 中斷屏蔽寄存器中斷屏蔽寄存器 實(shí)現(xiàn)對(duì)各級(jí)中斷的有選擇的屏蔽,當(dāng)某位為實(shí)現(xiàn)對(duì)各級(jí)中斷的有選擇的屏蔽,當(dāng)某位為1,表示禁,表示禁止這一級(jí)中斷請(qǐng)求進(jìn)入系統(tǒng)止這一級(jí)中斷請(qǐng)求進(jìn)入系統(tǒng)級(jí)聯(lián)比較級(jí)聯(lián)比較/緩沖器緩沖器CAS0CAS2是級(jí)聯(lián)信號(hào)是級(jí)聯(lián)信號(hào)SP/EN主片主片 輸出輸出從片從片 輸入輸入工作在非緩沖方式時(shí)工作在非緩沖方式時(shí)工作在緩沖方式時(shí)工作在緩沖方式時(shí) 控制數(shù)據(jù)收發(fā)器控制數(shù)據(jù)收發(fā)器 輸出輸出單片結(jié)構(gòu)單片結(jié)構(gòu) 輸入輸入接接“1”少量級(jí)聯(lián)結(jié)構(gòu)少量級(jí)聯(lián)結(jié)構(gòu) 輸入輸入主片主片 接接“1”從片從
16、片 接地接地控制電路控制電路 是是8259A的內(nèi)部控制器的內(nèi)部控制器 根據(jù)根據(jù)IRR的置位情況和的置位情況和IMR的設(shè)置情況,通過(guò)的設(shè)置情況,通過(guò)PR判判定優(yōu)先級(jí),向定優(yōu)先級(jí),向8259A內(nèi)部及其它部件發(fā)內(nèi)部及其它部件發(fā)控制信號(hào)控制信號(hào)和和INT,接收接收INTA使使ISR相應(yīng)位置相應(yīng)位置1,并使,并使IRR相應(yīng)位置相應(yīng)位置0,同,同時(shí)送時(shí)送中斷類(lèi)型號(hào)中斷類(lèi)型號(hào)。數(shù)據(jù)緩沖器數(shù)據(jù)緩沖器 雙向雙向8位三態(tài)緩沖器與系統(tǒng)數(shù)據(jù)總線(xiàn)接口位三態(tài)緩沖器與系統(tǒng)數(shù)據(jù)總線(xiàn)接口 與與CPU交換的信息包括交換的信息包括注:通常連接低注:通常連接低8位數(shù)據(jù)總線(xiàn)位數(shù)據(jù)總線(xiàn)讀寫(xiě)邏輯讀寫(xiě)邏輯 控制數(shù)據(jù)傳送方向及選擇數(shù)據(jù)端口控制
17、數(shù)據(jù)傳送方向及選擇數(shù)據(jù)端口寫(xiě)入寫(xiě)入8259A的編程控制字的編程控制字8259A狀態(tài)信息的讀出狀態(tài)信息的讀出中斷響應(yīng)時(shí)送出的中斷類(lèi)型號(hào)中斷響應(yīng)時(shí)送出的中斷類(lèi)型號(hào)CS RD WR A0 讀寫(xiě)操作讀寫(xiě)操作 0 0 1 0 從低位地址讀從低位地址讀 0 0 1 1 從高位地址讀從高位地址讀 0 1 0 0 向低位地址寫(xiě)向低位地址寫(xiě) 0 1 0 1 向高位地址寫(xiě)向高位地址寫(xiě) 1 無(wú)操作無(wú)操作 二、二、8259A的編程結(jié)構(gòu)的編程結(jié)構(gòu)SP/ENCA0CA1CA2IORIOW總線(xiàn)總線(xiàn)D0D7數(shù)數(shù) 據(jù)據(jù) 線(xiàn)線(xiàn)D0D7INTAINTRA0片片選選譯譯碼碼A5A9CSA0RD INTAWRINT 1 I3 I4IC
18、W1 芯片控制芯片控制 ICW2 中斷類(lèi)型號(hào)中斷類(lèi)型號(hào) ICW3 主從片連接關(guān)系主從片連接關(guān)系 ICW4 方式控制方式控制0111A01 0 0 1 0 1 0 0OCW1 中斷屏蔽寄存器中斷屏蔽寄存器 IMR 0 0 OCW2 優(yōu)先級(jí)設(shè)置、發(fā)優(yōu)先級(jí)設(shè)置、發(fā)EOI 0 1 OCW3特殊屏蔽特殊屏蔽,查詢(xún)方式設(shè)置查詢(xún)方式設(shè)置處理部分處理部分控制部分控制部分000 0 0 0 0 0 ISR當(dāng)前當(dāng)前中斷中斷服務(wù)服務(wù)寄存器寄存器PR優(yōu)先級(jí)優(yōu)先級(jí)裁決器裁決器VCCGND100A0IR0IR1IR2IR3IR4IR5IR6IR7IRR中斷中斷申請(qǐng)申請(qǐng)寄存器寄存器000 0 0 0 0 0 n4個(gè)初始化命
19、令寄存器個(gè)初始化命令寄存器 n ICW1、ICW2n ICW3、ICW4 n3個(gè)操作命令寄存器個(gè)操作命令寄存器 n OCW1(IMR)n OCW2、OCW3n當(dāng)前中斷服務(wù)寄存器當(dāng)前中斷服務(wù)寄存器 ISRn中斷申請(qǐng)寄存器中斷申請(qǐng)寄存器 IRR 8259A內(nèi)部有內(nèi)部有9個(gè)個(gè) 可讀寫(xiě)的寄存器可讀寫(xiě)的寄存器8259A的編程結(jié)構(gòu)的編程結(jié)構(gòu) 1 I3 I4ICW1 芯片控制芯片控制 ICW2 中斷類(lèi)型號(hào)中斷類(lèi)型號(hào) ICW3 主從片關(guān)系主從片關(guān)系 ICW4 方式控制方式控制處理部分處理部分控制部分控制部分000 0 0 0 0 0 ISR當(dāng)前當(dāng)前中斷中斷服務(wù)服務(wù)寄存器寄存器PR優(yōu)先級(jí)優(yōu)先級(jí)裁決器裁決器IRR
20、中斷申請(qǐng)中斷申請(qǐng)寄存器寄存器000 0 0 0 0 0 中斷屏蔽寄存器中斷屏蔽寄存器 IMROCW2 1 0 0 1 0 1 0 0 0 0 0 1 OCW3OCW18259A中斷控制器中斷控制器(1) 初始化命令字初始化命令字(ICW1- ICW4) 決定決定8259A的工作方式的工作方式n 通常是在計(jì)算機(jī)系統(tǒng)啟動(dòng)時(shí)在初始程序設(shè)置,通常是在計(jì)算機(jī)系統(tǒng)啟動(dòng)時(shí)在初始程序設(shè)置,n 一旦設(shè)定,一般在系統(tǒng)工作過(guò)程不再改變。一旦設(shè)定,一般在系統(tǒng)工作過(guò)程不再改變。例例 開(kāi)機(jī)后,開(kāi)機(jī)后,BIOS將將8259A初始化為:初始化為: IR0IR7中斷申請(qǐng)信號(hào)為上升沿觸發(fā)方式;中斷申請(qǐng)信號(hào)為上升沿觸發(fā)方式;n I
21、R0IR7對(duì)應(yīng)的中斷類(lèi)型號(hào)分別為對(duì)應(yīng)的中斷類(lèi)型號(hào)分別為08H0FH;n 優(yōu)先級(jí)優(yōu)先級(jí)IR0最高最高, IR7最低;最低;(2) 操作命令字操作命令字(OCW1,OCW2,OCW3)n 在應(yīng)用程序中設(shè)定,動(dòng)態(tài)地控制在應(yīng)用程序中設(shè)定,動(dòng)態(tài)地控制CPU處理中斷的處理中斷的過(guò)程過(guò)程(3) ISR和和IRR存放當(dāng)前存放當(dāng)前8259A的狀態(tài)的狀態(tài) 通過(guò)讀取通過(guò)讀取 ISR 和和 IRR 的內(nèi)容,可了解當(dāng)前的內(nèi)容,可了解當(dāng)前8259A工作情況工作情況三、引腳功能及與CPU連接8259AWRA1CSA0數(shù)數(shù) 據(jù)據(jù) 線(xiàn)線(xiàn) RDRDWRIR0IR1IR2IR3IR4IR5IR6IR7A5A0A4A3A2D0D7D
22、0D7VccSP/ENCA0CA1CA2GND+ 5V用于多片用于多片8259A級(jí)連情況級(jí)連情況INTAINT INTA INTR8086最小模式最小模式+ 5VM/IOGG2AG2BCBAY2分兩步分兩步:n(1)處理外設(shè)中斷申請(qǐng),決定是否向處理外設(shè)中斷申請(qǐng),決定是否向CPU發(fā)中斷申發(fā)中斷申請(qǐng)信號(hào)。請(qǐng)信號(hào)。n(2)若發(fā)中斷申請(qǐng)信號(hào),且若發(fā)中斷申請(qǐng)信號(hào),且CPU響應(yīng),則在響應(yīng),則在CPU中斷響應(yīng)周期送出中斷類(lèi)型號(hào)。中斷響應(yīng)周期送出中斷類(lèi)型號(hào)。四四. 8259A 的工作過(guò)程的工作過(guò)程(1) 處理外設(shè)中斷申請(qǐng),決定是否向處理外設(shè)中斷申請(qǐng),決定是否向CPU發(fā)中斷申請(qǐng)信號(hào)發(fā)中斷申請(qǐng)信號(hào) 中斷屏蔽寄存器
23、中斷屏蔽寄存器 IMR 決定決定 IRR 中的中斷申請(qǐng)中的中斷申請(qǐng) 是否進(jìn)入優(yōu)先級(jí)裁決器是否進(jìn)入優(yōu)先級(jí)裁決器 PR。n IMR對(duì)應(yīng)位為對(duì)應(yīng)位為 0,允許中斷申請(qǐng)進(jìn)入優(yōu)先級(jí)裁決器,允許中斷申請(qǐng)進(jìn)入優(yōu)先級(jí)裁決器,n 為為 1,不允許進(jìn)入,中斷申請(qǐng)被,不允許進(jìn)入,中斷申請(qǐng)被IMR屏蔽。屏蔽。 中斷申請(qǐng)寄存器中斷申請(qǐng)寄存器IRR 鎖存外部的中斷申請(qǐng)。鎖存外部的中斷申請(qǐng)。n 若若 IR0IR7 引腳上有中斷申請(qǐng),則將引腳上有中斷申請(qǐng),則將 IRR 相應(yīng)位置相應(yīng)位置1 當(dāng)前中斷服務(wù)寄存器當(dāng)前中斷服務(wù)寄存器 ISR 記錄記錄CPU正在響應(yīng)的中斷。正在響應(yīng)的中斷。n ISR中的某位為中的某位為1,表示,表示C
24、PU正在響應(yīng)此級(jí)中斷,正在響應(yīng)此級(jí)中斷,n ISR中的某位為中的某位為 0,表示,表示CPU沒(méi)有或已響應(yīng)完此級(jí)中斷,沒(méi)有或已響應(yīng)完此級(jí)中斷,n 優(yōu)先級(jí)裁決器優(yōu)先級(jí)裁決器PR 據(jù)新進(jìn)入的中斷申請(qǐng)和據(jù)新進(jìn)入的中斷申請(qǐng)和 ISR的內(nèi)容的內(nèi)容, 決定是否發(fā)中斷申請(qǐng)信號(hào)。決定是否發(fā)中斷申請(qǐng)信號(hào)。n 如果進(jìn)入的中斷申請(qǐng)比如果進(jìn)入的中斷申請(qǐng)比 ISR 中記錄的中斷優(yōu)先級(jí)高,中記錄的中斷優(yōu)先級(jí)高,n 則通過(guò)則通過(guò) 8259A 的的 INT 引腳向引腳向 CPU發(fā)出中斷請(qǐng)求信號(hào);發(fā)出中斷請(qǐng)求信號(hào);n 如果進(jìn)入的中斷申請(qǐng)不比如果進(jìn)入的中斷申請(qǐng)不比 ISR 中記錄的中斷優(yōu)先級(jí)高,中記錄的中斷優(yōu)先級(jí)高,n 同級(jí)或低級(jí)
25、,則不向同級(jí)或低級(jí),則不向 CPU 發(fā)中斷請(qǐng)求信號(hào)。發(fā)中斷請(qǐng)求信號(hào)。 中斷申請(qǐng)寄存器中斷申請(qǐng)寄存器IRR 鎖存外部的中斷申請(qǐng)。鎖存外部的中斷申請(qǐng)。n 若若 IR0IR7 引腳上有中斷申請(qǐng),則將引腳上有中斷申請(qǐng),則將 IRR 相應(yīng)位置相應(yīng)位置1IORIOW總線(xiàn)總線(xiàn)數(shù)數(shù) 據(jù)據(jù) 線(xiàn)線(xiàn)D0D7INTAA0片片選選譯譯碼碼A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中斷類(lèi)型號(hào)中斷類(lèi)型號(hào) ICW3 主從片關(guān)系主從片關(guān)系 ICW4 方式控制方式控制000 0 0 0 0 0 ISR當(dāng)前當(dāng)前中斷中斷服務(wù)服務(wù)寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7
26、OCW1 中斷屏蔽寄存器中斷屏蔽寄存器 IMR 0 0 OCW2 優(yōu)先級(jí)、發(fā)優(yōu)先級(jí)、發(fā)EOI OCW3 特殊屏蔽設(shè)置特殊屏蔽設(shè)置PR優(yōu)先級(jí)優(yōu)先級(jí)裁決器裁決器IRR中斷中斷申請(qǐng)申請(qǐng)寄存器寄存器000 0 0 0 0 0 1 0 0 1 0 1 0 0INTR11 中斷屏蔽寄存器中斷屏蔽寄存器 IMR 決定決定 IRR 中的中斷申請(qǐng)中的中斷申請(qǐng) 是否進(jìn)入優(yōu)先級(jí)裁決器是否進(jìn)入優(yōu)先級(jí)裁決器 PR。n IMR對(duì)應(yīng)位對(duì)應(yīng)位為為 0,允許允許中斷申請(qǐng)進(jìn)入優(yōu)先級(jí)裁決器,中斷申請(qǐng)進(jìn)入優(yōu)先級(jí)裁決器,n 為為 1,不允許不允許進(jìn)入,中斷申請(qǐng)被進(jìn)入,中斷申請(qǐng)被IMR屏蔽。屏蔽。IORIOW總線(xiàn)總線(xiàn)數(shù)數(shù) 據(jù)據(jù) 線(xiàn)線(xiàn)D0
27、D7INTAA0片片選選譯譯碼碼A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中斷類(lèi)型號(hào)中斷類(lèi)型號(hào) ICW3 主從片關(guān)系主從片關(guān)系 ICW4 方式控制方式控制000 0 0 0 0 0 ISR當(dāng)前當(dāng)前中斷中斷服務(wù)服務(wù)寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中斷屏蔽寄存器中斷屏蔽寄存器 IMR 0 0 OCW2 優(yōu)先級(jí)、發(fā)優(yōu)先級(jí)、發(fā)EOI OCW3 特殊屏蔽設(shè)置特殊屏蔽設(shè)置PR優(yōu)先級(jí)優(yōu)先級(jí)裁決器裁決器IRR中斷中斷申請(qǐng)申請(qǐng)寄存器寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR 當(dāng)前中斷服務(wù)寄存器當(dāng)前中
28、斷服務(wù)寄存器 ISR 記錄記錄CPU正在響應(yīng)的中斷。正在響應(yīng)的中斷。nISR中的某位中的某位為為1,表示,表示CPU正在響應(yīng)正在響應(yīng)此級(jí)中斷,此級(jí)中斷,n 即正在執(zhí)行此中斷源的中斷子程;即正在執(zhí)行此中斷源的中斷子程;nISR中的某位中的某位為為 0,表示,表示CPU沒(méi)有或已響應(yīng)完沒(méi)有或已響應(yīng)完此級(jí)中斷,此級(jí)中斷,n 即不在執(zhí)行此中斷源的中斷子程即不在執(zhí)行此中斷源的中斷子程IORIOW總線(xiàn)總線(xiàn)數(shù)數(shù) 據(jù)據(jù) 線(xiàn)線(xiàn)D0D7INTAA0片片選選譯譯碼碼A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中斷類(lèi)型號(hào)中斷類(lèi)型號(hào) ICW3 主從片關(guān)系主從片關(guān)系 ICW4 方
29、式控制方式控制001 0 0 0 0 0 ISR當(dāng)前當(dāng)前中斷中斷服務(wù)服務(wù)寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中斷屏蔽寄存器中斷屏蔽寄存器 IMR 0 0 OCW2 優(yōu)先級(jí)、發(fā)優(yōu)先級(jí)、發(fā)EOI OCW3 特殊屏蔽設(shè)置特殊屏蔽設(shè)置PR優(yōu)先級(jí)優(yōu)先級(jí)裁決器裁決器IRR中斷中斷申請(qǐng)申請(qǐng)寄存器寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR 優(yōu)先級(jí)裁決器優(yōu)先級(jí)裁決器PR據(jù)新進(jìn)入的中斷申請(qǐng)和據(jù)新進(jìn)入的中斷申請(qǐng)和 ISR的內(nèi)容的內(nèi)容, 決定是否發(fā)中斷申請(qǐng)信號(hào)。決定是否發(fā)中斷申請(qǐng)信號(hào)。n 如果進(jìn)入的中斷申請(qǐng)比如果進(jìn)入的中斷申請(qǐng)比 ISR 中記錄的中記錄的
30、中斷優(yōu)先級(jí)高中斷優(yōu)先級(jí)高,n 則通過(guò)則通過(guò) 8259A 的的 INT 引腳向引腳向 CPU發(fā)出中斷請(qǐng)求信號(hào);發(fā)出中斷請(qǐng)求信號(hào);n 如果進(jìn)入的中斷申請(qǐng)不比如果進(jìn)入的中斷申請(qǐng)不比 ISR 中記錄的中斷優(yōu)先級(jí)高,中記錄的中斷優(yōu)先級(jí)高,同級(jí)或低同級(jí)或低級(jí)級(jí), 則不向則不向 CPU 發(fā)中斷請(qǐng)求信號(hào)。發(fā)中斷請(qǐng)求信號(hào)。IORIOW總線(xiàn)總線(xiàn)數(shù)數(shù) 據(jù)據(jù) 線(xiàn)線(xiàn)D0D7INTAA0片片選選譯譯碼碼A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中斷類(lèi)型號(hào)中斷類(lèi)型號(hào) ICW3 主從片關(guān)系主從片關(guān)系 ICW4 方式控制方式控制001 0 0 0 0 0 ISR當(dāng)前當(dāng)前中斷中斷服務(wù)
31、服務(wù)寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中斷屏蔽寄存器中斷屏蔽寄存器 IMR 0 0 OCW2 優(yōu)先級(jí)、發(fā)優(yōu)先級(jí)、發(fā)EOI OCW3 特殊屏蔽設(shè)置特殊屏蔽設(shè)置PR優(yōu)先級(jí)優(yōu)先級(jí)裁決器裁決器IRR中斷中斷申請(qǐng)申請(qǐng)寄存器寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR(2) 若發(fā)中斷申請(qǐng)信號(hào),且若發(fā)中斷申請(qǐng)信號(hào),且CPU響應(yīng),則在響應(yīng),則在CPU中斷中斷響應(yīng)周期送出中斷類(lèi)型號(hào)響應(yīng)周期送出中斷類(lèi)型號(hào) CPU接收到接收到 INTR上的中斷申請(qǐng)信號(hào)后:上的中斷申請(qǐng)信號(hào)后:l如果如果 IF 標(biāo)志為標(biāo)志為0,則,則CPU不響應(yīng)此中斷申請(qǐng)信號(hào)不響應(yīng)此中斷
32、申請(qǐng)信號(hào),即即中斷申請(qǐng)被中斷申請(qǐng)被IF屏蔽。屏蔽。l如果如果 IF 標(biāo)志為標(biāo)志為1, 則處理完當(dāng)前的指令后則處理完當(dāng)前的指令后, 進(jìn)入中斷進(jìn)入中斷響應(yīng)周期:響應(yīng)周期: 通過(guò)通過(guò) INTA 引腳發(fā)出兩個(gè)負(fù)脈沖信號(hào),引腳發(fā)出兩個(gè)負(fù)脈沖信號(hào), 從數(shù)據(jù)總線(xiàn)上獲取中斷類(lèi)型號(hào),從數(shù)據(jù)總線(xiàn)上獲取中斷類(lèi)型號(hào), 進(jìn)入中斷響應(yīng)的過(guò)程。進(jìn)入中斷響應(yīng)的過(guò)程。向量類(lèi)型向量類(lèi)型 INTACLKAD7AD0T1T2T3T4第第 一一 個(gè)個(gè)中斷響應(yīng)周期中斷響應(yīng)周期T1T2T3T4第第 二二 個(gè)個(gè)中斷響應(yīng)周期中斷響應(yīng)周期 8086CPU中斷響應(yīng)周期時(shí)序中斷響應(yīng)周期時(shí)序 將將 ISR 中相應(yīng)位置中相應(yīng)位置1,表示表示 CPU 響
33、應(yīng)此級(jí)中斷,執(zhí)行此中斷源的中斷子程。響應(yīng)此級(jí)中斷,執(zhí)行此中斷源的中斷子程。8259A在接收到第一個(gè)在接收到第一個(gè)INTA中斷響應(yīng)信號(hào)后:中斷響應(yīng)信號(hào)后:001 0 0 0 0 0 ISR當(dāng)前當(dāng)前中斷中斷服務(wù)服務(wù)寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7PR優(yōu)先級(jí)優(yōu)先級(jí)裁決器裁決器IRR中斷中斷申請(qǐng)申請(qǐng)寄存器寄存器100 0 0 0 0 1 ICW1 芯片控制芯片控制 ICW2 中斷類(lèi)型號(hào)中斷類(lèi)型號(hào) ICW3 主從片關(guān)系主從片關(guān)系 ICW4 方式控制方式控制OCW1 中斷屏蔽寄存器中斷屏蔽寄存器 IMR 0 0 OCW2 優(yōu)先級(jí)、發(fā)優(yōu)先級(jí)、發(fā)EOI OCW3 特殊屏蔽設(shè)置特殊屏
34、蔽設(shè)置1 0 0 1 0 1 0 0IORIOW總線(xiàn)總線(xiàn)數(shù)數(shù) 據(jù)據(jù) 線(xiàn)線(xiàn)D0D7INTAA0片片選選譯譯碼碼A5A9CSA0RDWR INTAINTD0D7INTR01 把把 IRR中對(duì)應(yīng)的位清中對(duì)應(yīng)的位清0,清除,清除IRR中鎖存的中斷申請(qǐng)信號(hào)。中鎖存的中斷申請(qǐng)信號(hào)。 通過(guò)數(shù)據(jù)線(xiàn),將被響應(yīng)申請(qǐng)的中斷類(lèi)型號(hào)送給通過(guò)數(shù)據(jù)線(xiàn),將被響應(yīng)申請(qǐng)的中斷類(lèi)型號(hào)送給CPU。類(lèi)型號(hào)由類(lèi)型號(hào)由ICW2提供,在初始化提供,在初始化8259A時(shí)已設(shè)定好。時(shí)已設(shè)定好。8259A在接收到第二個(gè)在接收到第二個(gè)INTA中斷響應(yīng)信號(hào)后:中斷響應(yīng)信號(hào)后:001 0 0 0 0 0 ISR當(dāng)前當(dāng)前中斷中斷服務(wù)服務(wù)寄存器寄存器IR0
35、IR1IR2IR3IR4IR5IR6IR7PR優(yōu)先級(jí)優(yōu)先級(jí)裁決器裁決器IRR中斷中斷申請(qǐng)申請(qǐng)寄存器寄存器100 0 0 0 0 1 ICW1 芯片控制芯片控制 ICW2 中斷類(lèi)型號(hào)中斷類(lèi)型號(hào) ICW3 主從片關(guān)系主從片關(guān)系 ICW4 方式控制方式控制OCW1 中斷屏蔽寄存器中斷屏蔽寄存器 IMR 0 0 OCW2 優(yōu)先級(jí)、發(fā)優(yōu)先級(jí)、發(fā)EOI OCW3 特殊屏蔽設(shè)置特殊屏蔽設(shè)置1 0 0 1 0 1 0 0IORIOW總線(xiàn)總線(xiàn)數(shù)數(shù) 據(jù)據(jù) 線(xiàn)線(xiàn)D0D7INTAA0片片選選譯譯碼碼A5A9CSA0RDWR INTAINTD0D7INTR01 CPU獲得中斷類(lèi)型號(hào)后,進(jìn)入獲得中斷類(lèi)型號(hào)后,進(jìn)入CPU響
36、應(yīng)中斷的過(guò)程響應(yīng)中斷的過(guò)程, 執(zhí)行中斷子程,處理中斷源申請(qǐng)的功能。執(zhí)行中斷子程,處理中斷源申請(qǐng)的功能。 8259A的工作方式的工作方式一、中斷優(yōu)先級(jí)方式一、中斷優(yōu)先級(jí)方式全嵌套方式全嵌套方式 這是這是8259A的默認(rèn)方式,也是最基本最常用的工作方的默認(rèn)方式,也是最基本最常用的工作方式。該方式下式。該方式下8259A的中斷優(yōu)先級(jí)是從的中斷優(yōu)先級(jí)是從IR0IR7,優(yōu)先級(jí),優(yōu)先級(jí)依次降低。依次降低。自動(dòng)循環(huán)方式自動(dòng)循環(huán)方式 該方式下中斷的優(yōu)先級(jí)隊(duì)列隨時(shí)發(fā)生變化,當(dāng)某個(gè)外該方式下中斷的優(yōu)先級(jí)隊(duì)列隨時(shí)發(fā)生變化,當(dāng)某個(gè)外設(shè)的中斷請(qǐng)求得到設(shè)的中斷請(qǐng)求得到CPU響應(yīng)后,其中斷的優(yōu)先級(jí)自動(dòng)降為響應(yīng)后,其中斷的優(yōu)
37、先級(jí)自動(dòng)降為最低。(初始的優(yōu)先級(jí)隊(duì)列規(guī)定為最低。(初始的優(yōu)先級(jí)隊(duì)列規(guī)定為IR0 IR7)特殊循環(huán)方式特殊循環(huán)方式 與自動(dòng)循環(huán)方式不同之處是:特殊循環(huán)方式下的初始與自動(dòng)循環(huán)方式不同之處是:特殊循環(huán)方式下的初始優(yōu)先級(jí)隊(duì)列可由編程決定。優(yōu)先級(jí)隊(duì)列可由編程決定。特殊全嵌套方式特殊全嵌套方式 中斷正被處理時(shí),允許同級(jí)或更高優(yōu)先級(jí)的事件可以中斷正被處理時(shí),允許同級(jí)或更高優(yōu)先級(jí)的事件可以打斷當(dāng)前的中斷處理過(guò)程而被服務(wù)。打斷當(dāng)前的中斷處理過(guò)程而被服務(wù)。注注: 特殊全嵌套僅用于多個(gè)特殊全嵌套僅用于多個(gè)8259A級(jí)連時(shí)的主級(jí)連時(shí)的主8259A,而,而不能用于從屬不能用于從屬8259A或單或單8259A系統(tǒng)。系統(tǒng)。
38、二、中斷結(jié)束的管理方式(固定優(yōu)先級(jí)的二、中斷結(jié)束的管理方式(固定優(yōu)先級(jí)的中斷結(jié)束)中斷結(jié)束) 中斷結(jié)束的管理就是用不同的方式使中斷結(jié)束的管理就是用不同的方式使ISR中相中相應(yīng)位清零。應(yīng)位清零。普通結(jié)束方式普通結(jié)束方式EOI 8259A每得到一次每得到一次EOI命令,就將命令,就將ISR中已置位的各位中已置位的各位中優(yōu)先級(jí)最高的位復(fù)位。中優(yōu)先級(jí)最高的位復(fù)位。特殊結(jié)束方式特殊結(jié)束方式SEOI 該方式的特殊性在于,除了普通該方式的特殊性在于,除了普通EOI方式的功能外,方式的功能外,將明確指明本次復(fù)位的將明確指明本次復(fù)位的ISR位。位。自動(dòng)結(jié)束方式自動(dòng)結(jié)束方式AEOI 自動(dòng)自動(dòng)EOI方式是利用響應(yīng)中
39、斷時(shí)最后一個(gè)響應(yīng)脈沖方式是利用響應(yīng)中斷時(shí)最后一個(gè)響應(yīng)脈沖的后沿執(zhí)行一次普通的后沿執(zhí)行一次普通EOI,而不需要,而不需要CPU發(fā)送發(fā)送EOI指令。指令。三、循環(huán)優(yōu)先級(jí)的循環(huán)方法三、循環(huán)優(yōu)先級(jí)的循環(huán)方法 在循環(huán)優(yōu)先級(jí)方式中,與中斷結(jié)束方式聯(lián)合,有三在循環(huán)優(yōu)先級(jí)方式中,與中斷結(jié)束方式聯(lián)合,有三種循環(huán)結(jié)束,結(jié)束時(shí)并確定下面的優(yōu)先權(quán)排隊(duì)。種循環(huán)結(jié)束,結(jié)束時(shí)并確定下面的優(yōu)先權(quán)排隊(duì)。普通普通EOI循環(huán)方式循環(huán)方式特殊特殊EOI循環(huán)方式循環(huán)方式自動(dòng)自動(dòng)EOI循環(huán)方式循環(huán)方式IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 ISR 內(nèi)容內(nèi)容 0 0 1 0 0 1 0 0 原始原始狀狀 態(tài)態(tài) 優(yōu)先
40、級(jí)優(yōu)先級(jí) 7 6 5 4 3 2 1 0 ISR 內(nèi)容內(nèi)容 0 0 1 0 0 0 0 0 處理完處理完IR2 優(yōu)先級(jí)優(yōu)先級(jí) 4 3 2 1 0 7 6 5 ISR 內(nèi)容內(nèi)容 0 0 0 0 0 0 0 0 處理完處理完IR5 優(yōu)先級(jí)優(yōu)先級(jí) 1 0 7 6 5 4 3 2 IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 ISR 內(nèi)容內(nèi)容 0 1 0 0 0 1 0 0 原始原始狀狀 態(tài)態(tài) 優(yōu)先級(jí)優(yōu)先級(jí) 7 6 5 4 3 2 1 0 ISR 內(nèi)容內(nèi)容 0 1 0 0 0 1 0 0 執(zhí)行置位執(zhí)行置位 優(yōu)先權(quán)優(yōu)先權(quán) 優(yōu)先級(jí)優(yōu)先級(jí) 3 2 1 0 7 6 5 4 ISR內(nèi)容內(nèi)容 0
41、 1 0 0 0 0 0 0 處理完處理完IR2 優(yōu)先級(jí)優(yōu)先級(jí) 4 3 2 1 0 7 6 5 普通普通EOI循環(huán)方式循環(huán)方式特殊特殊EOI循環(huán)方式(正在處理循環(huán)方式(正在處理IR2)四、中斷源屏蔽方式四、中斷源屏蔽方式五、中斷請(qǐng)求引入方式五、中斷請(qǐng)求引入方式六、連接系統(tǒng)總線(xiàn)方式六、連接系統(tǒng)總線(xiàn)方式1.緩沖方式緩沖方式 2.非緩沖方式非緩沖方式 。8259A的編程方法的編程方法v初始化命令字初始化命令字ICW,操作命令字,操作命令字OCW;v系統(tǒng)復(fù)位后,應(yīng)初始化編程,系統(tǒng)復(fù)位后,應(yīng)初始化編程,按次序只寫(xiě)一次;按次序只寫(xiě)一次; 設(shè)定觸發(fā)方式、緩沖方式、類(lèi)型號(hào)基值、優(yōu)先級(jí)、設(shè)定觸發(fā)方式、緩沖方式、
42、類(lèi)型號(hào)基值、優(yōu)先級(jí)、結(jié)束方式結(jié)束方式v初始化后,在任何位置可操作編程,沒(méi)有嚴(yán)格順初始化后,在任何位置可操作編程,沒(méi)有嚴(yán)格順序,允許重置,以動(dòng)態(tài)改變序,允許重置,以動(dòng)態(tài)改變8259A的操作與控制。的操作與控制。8259A初始化流程圖初始化流程圖寫(xiě)寫(xiě)ICW1寫(xiě)寫(xiě)ICW2級(jí)連?級(jí)連?寫(xiě)寫(xiě)ICW3需需ICW4?寫(xiě)寫(xiě)ICW4NNYYA0=0A0=1A0=1A0=1芯片控制芯片控制類(lèi)型號(hào)基值類(lèi)型號(hào)基值級(jí)連控制級(jí)連控制方式控制方式控制一、初始化編程一、初始化編程 ICW10:不需要:不需要ICW41:需要:需要ICW40:級(jí)連使用:級(jí)連使用1:?jiǎn)纹褂茫簡(jiǎn)纹褂?0X86不用不用A7 A6 A5 1 LTI
43、M ADI SNGL IC4 D7 D6 D5 D4 D3 D2 D1 D00A0ICW180X86不用不用0:邊沿觸發(fā):邊沿觸發(fā)1:電平觸發(fā):電平觸發(fā) ICW2T7 T6 T5 T4 T3 0 0 0D7 D6 D5 D4 D3 D2 D1 D01A0ICW2中斷類(lèi)型碼高中斷類(lèi)型碼高5位位若若ICW2=60H,則,則IR0IR7的中斷類(lèi)型號(hào)分別為的中斷類(lèi)型號(hào)分別為60H、61H、62H、67H。S7 S6 S5 S4 S3 S2/ID2 S1/ID1 S0/ID01A0主主8259A的級(jí)聯(lián)標(biāo)志的級(jí)聯(lián)標(biāo)志1:相應(yīng)的:相應(yīng)的IR上有從上有從8259A0:相應(yīng)的:相應(yīng)的IR上無(wú)從上無(wú)從8259AI
44、D2ID0:從從8259A的的IR識(shí)別碼識(shí)別碼非緩沖方式非緩沖方式 0 緩沖方式從片緩沖方式從片 1 0 緩沖方式主片緩沖方式主片 1 1 0 0 0 SFNM BUF M/S AEOI PM1A00:一般的全嵌套方式:一般的全嵌套方式1:特殊的全嵌套方式:特殊的全嵌套方式0:808085方式方式1:80X860:非自動(dòng):非自動(dòng)EOI1:自動(dòng):自動(dòng)EOI ICW4 ICW3 D7 D6 D5 D4 D3 D2 D1 D0 D7 D6 D5 D4 D3 D2 D1 D0二、操作命令編程二、操作命令編程O(píng)CWOCW1 1中斷屏蔽命令字中斷屏蔽命令字OCW1M7 M6 M5 M4 M3 M2 M1
45、M0 D7 D6 D5 D4 D3 D2 D1 D01A00:清中斷屏蔽位:清中斷屏蔽位1:置中斷屏蔽位:置中斷屏蔽位 OCW OCW2 2中斷模式設(shè)置命令字中斷模式設(shè)置命令字0A00 0 0 1 1 1對(duì)應(yīng)對(duì)應(yīng)IRi的編碼的編碼無(wú)操作無(wú)操作010設(shè)置特殊循環(huán),由設(shè)置特殊循環(huán),由L2L0設(shè)定最低優(yōu)先級(jí)設(shè)定最低優(yōu)先級(jí)011 特殊特殊EOI循環(huán)循環(huán),由由L2L0指定結(jié)束指定結(jié)束IRi并置最低并置最低111取消自動(dòng)循環(huán)取消自動(dòng)循環(huán)(固定優(yōu)先權(quán)固定優(yōu)先權(quán))000設(shè)置自動(dòng)循環(huán)設(shè)置自動(dòng)循環(huán)001普通普通EOI循環(huán)循環(huán)101特殊特殊EOI結(jié)束,由結(jié)束,由L2L0指定結(jié)束指定結(jié)束IRi110普通普通EOI結(jié)束
46、結(jié)束100R=1:循環(huán)優(yōu)先權(quán):循環(huán)優(yōu)先權(quán)R=0:固定優(yōu)先權(quán):固定優(yōu)先權(quán)SL=1:由:由L2 L1 L0指定指定IR位位SL=0:L2 L1 L0無(wú)效無(wú)效EOI=1:中斷結(jié)束:中斷結(jié)束OCW2 R SL EOI 0 0 L2 L1 L0 D7 D6 D5 D4 D3 D2 D1 D0OCW3 D7 D6 D5 D4 D3 D2 D1 D00A0 ESMM SMM 0 1 P RR RIS10清除特清除特殊屏蔽殊屏蔽方式方式01設(shè)定特殊設(shè)定特殊屏蔽方式屏蔽方式無(wú)意義無(wú)意義10100:非查詢(xún)方式:非查詢(xún)方式1:查詢(xún)方式:查詢(xún)方式10隨后隨后讀讀IRR01隨后隨后讀讀ISR無(wú)無(wú)意意義義1010 OCW
47、3特殊屏蔽和查詢(xún)命令字特殊屏蔽和查詢(xún)命令字 8259A的操作編程并沒(méi)有固定順序,各命令字之的操作編程并沒(méi)有固定順序,各命令字之間用地址信號(hào)間用地址信號(hào)A0及特征位加以區(qū)分。及特征位加以區(qū)分。OCW3命令字有三個(gè)功能:命令字有三個(gè)功能:設(shè)置或撤消特殊屏蔽方式;設(shè)置或撤消特殊屏蔽方式;設(shè)置中斷查詢(xún)方式;設(shè)置中斷查詢(xún)方式;設(shè)置讀設(shè)置讀8259A內(nèi)部寄存器方式。內(nèi)部寄存器方式。 當(dāng)當(dāng)A0=0時(shí)時(shí):寫(xiě)入寫(xiě)入ICW1、OCW2、OCW3當(dāng)當(dāng)A0=1時(shí)時(shí):寫(xiě)入寫(xiě)入ICW2、ICW3、ICW4、OCW1說(shuō)說(shuō) 明明一、查詢(xún)方式一、查詢(xún)方式 OCW3中中D2位位P=1,關(guān)閉中斷,即可通過(guò)查,關(guān)閉中斷,即可通過(guò)查詢(xún)
48、方式響應(yīng)外設(shè)的服務(wù)請(qǐng)求:從數(shù)據(jù)總線(xiàn)上讀取詢(xún)方式響應(yīng)外設(shè)的服務(wù)請(qǐng)求:從數(shù)據(jù)總線(xiàn)上讀取一個(gè)字節(jié),內(nèi)容為:一個(gè)字節(jié),內(nèi)容為: 其中其中IR=1表示該表示該8259A芯片有外設(shè)服務(wù)請(qǐng)求,芯片有外設(shè)服務(wù)請(qǐng)求,W2W0表明了請(qǐng)求服務(wù)的最高優(yōu)先權(quán)編碼。表明了請(qǐng)求服務(wù)的最高優(yōu)先權(quán)編碼。IR=0則表示無(wú)請(qǐng)求。則表示無(wú)請(qǐng)求。 二、讀二、讀8259A 讀讀IMR:地址信號(hào):地址信號(hào)A0為為1時(shí)讀時(shí)讀8259A,可取得,可取得中斷屏蔽寄存器中斷屏蔽寄存器IMR的狀態(tài)。的狀態(tài)。 讀讀IRR:地址信號(hào):地址信號(hào)A0為為0,且當(dāng),且當(dāng)OCW3的的D1位位RR、D0位位RIS被置為被置為10時(shí),可在下一個(gè)讀脈沖時(shí),可在下一個(gè)讀脈沖期間讀得中斷請(qǐng)求寄存器期間讀得中斷請(qǐng)求寄存器IRR的狀態(tài)。的狀態(tài)。 讀讀ISR:地址信號(hào):地址信號(hào)A0為為0,且當(dāng),且當(dāng)OCW3的的RR、RIS位被置為位被置為11時(shí),可在下一個(gè)讀脈沖期間讀得時(shí),可在下一個(gè)讀脈沖期間讀得中斷服務(wù)寄存器中斷服務(wù)寄存器ISR的狀態(tài)。的狀態(tài)。 8259A的應(yīng)用舉例的應(yīng)用舉例例例1:8086最小模式與最小模式與8259A接口如下接口如下, 外設(shè)中斷請(qǐng)求分別外設(shè)中斷請(qǐng)求分別從從IR2 、IR4 、IR7引入引入, 中斷類(lèi)型號(hào)從中斷類(lèi)型號(hào)從0C0H0C7H,采用上升沿觸發(fā),寫(xiě)出采用上升沿觸發(fā),寫(xiě)出8259A初始化程序。初始化程序。 D0D7
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CMES 02002-2024鋁及鋁合金焊絲產(chǎn)品質(zhì)量等級(jí)評(píng)價(jià)規(guī)范
- T/CEMIA 040-202499氧化鋁陶瓷用造粒粉
- T/CSPSTC 133-2024地鐵隧道毛細(xì)管換熱系統(tǒng)技術(shù)規(guī)程
- T/CMA JY-122-2024燃油加油機(jī)檢測(cè)安全操作規(guī)范
- 上海社區(qū)考試真題及答案
- 制作大豆農(nóng)田轉(zhuǎn)讓合同8篇
- 借款合同(附擔(dān)保條款)5篇
- 【課件】氧氣-2024-2025學(xué)年九年級(jí)化學(xué)人教版(2024)上冊(cè)
- 基礎(chǔ)建設(shè)工程儲(chǔ)備設(shè)備貸款合同7篇
- 辦公室衛(wèi)生評(píng)比
- 【西安交通大學(xué)】2025年電力人工智能多模態(tài)大模型創(chuàng)新技術(shù)及應(yīng)用報(bào)告
- 分賬管理制度
- 電動(dòng)汽車(chē)車(chē)網(wǎng)互動(dòng)規(guī)?;l(fā)展策略與標(biāo)準(zhǔn)體系規(guī)劃
- 餐飲服務(wù)流程與標(biāo)準(zhǔn)操作指引
- (一模)石家莊市2025年高三年級(jí)教學(xué)質(zhì)量檢測(cè)(一)物理試卷(含標(biāo)準(zhǔn)答案)
- 產(chǎn)品供應(yīng)鏈合作協(xié)議與分銷(xiāo)合同簽訂備忘錄
- 老年人權(quán)益保障法課件
- 博弈論(中文版)
- 磁懸浮列車(chē)技術(shù)進(jìn)展-深度研究
- 七年級(jí)后進(jìn)生自我管理能力提升計(jì)劃
- OCT簡(jiǎn)介及其臨床應(yīng)用
評(píng)論
0/150
提交評(píng)論