




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、微機(jī)原理與接口技術(shù)微機(jī)原理與接口技術(shù)第第7章章 中斷系統(tǒng)中斷系統(tǒng)6. 8086CPU的中斷響應(yīng)過(guò)程的中斷響應(yīng)過(guò)程 n內(nèi)部中斷響應(yīng)過(guò)程內(nèi)部中斷響應(yīng)過(guò)程 n無(wú)無(wú)INTA#周期周期n中斷類型碼固定或由指令給出中斷類型碼固定或由指令給出n響應(yīng)過(guò)程主要步驟:響應(yīng)過(guò)程主要步驟: PUSH FLAG IF=0 PUSH CS PUSH IP 取中斷向量送入取中斷向量送入IP和和CS中斷響應(yīng)過(guò)程(續(xù))中斷響應(yīng)過(guò)程(續(xù))n外部中斷響應(yīng)過(guò)程外部中斷響應(yīng)過(guò)程n非屏蔽中斷,與內(nèi)部中斷響應(yīng)過(guò)程類似非屏蔽中斷,與內(nèi)部中斷響應(yīng)過(guò)程類似 n可屏蔽中斷可屏蔽中斷 INTA#(1),),PIC進(jìn)行優(yōu)先級(jí)排隊(duì)判優(yōu)處理進(jìn)行優(yōu)先級(jí)排隊(duì)
2、判優(yōu)處理 INTA#(2),),PIC把中斷類型碼放到把中斷類型碼放到DB上,上,CPU讀入讀入 PUSH FLAG IF=0 PUSH CS PUSH IP 取中斷向量送入取中斷向量送入IP和和CS與內(nèi)部中斷一樣與內(nèi)部中斷一樣7. 8086系統(tǒng)中各中斷的優(yōu)先級(jí)系統(tǒng)中各中斷的優(yōu)先級(jí)n優(yōu)先級(jí)從高到低順序如下:優(yōu)先級(jí)從高到低順序如下:n內(nèi)部中斷內(nèi)部中斷nNMInINTRn單步中斷單步中斷8. 中斷優(yōu)先權(quán)管理中斷優(yōu)先權(quán)管理n中斷優(yōu)先權(quán)中斷優(yōu)先權(quán)是事先根據(jù)中斷源的重要性給每是事先根據(jù)中斷源的重要性給每個(gè)中斷源確定一個(gè)中斷優(yōu)先級(jí)別個(gè)中斷源確定一個(gè)中斷優(yōu)先級(jí)別優(yōu)先權(quán)。優(yōu)先權(quán)。n中斷優(yōu)先權(quán)管理就是判別和確定
3、各個(gè)中斷源中斷優(yōu)先權(quán)管理就是判別和確定各個(gè)中斷源的中斷優(yōu)先權(quán)。的中斷優(yōu)先權(quán)。n中斷優(yōu)先權(quán)判別方法有軟件和硬件兩種方法。中斷優(yōu)先權(quán)判別方法有軟件和硬件兩種方法。 中斷優(yōu)先權(quán)管理中斷優(yōu)先權(quán)管理(1)軟件確定中斷優(yōu)先權(quán))軟件確定中斷優(yōu)先權(quán) 軟件法軟件法是在是在CPU響應(yīng)中斷后,用軟件查響應(yīng)中斷后,用軟件查詢確定哪個(gè)中斷源申請(qǐng)中斷,先被查詢的先詢確定哪個(gè)中斷源申請(qǐng)中斷,先被查詢的先響應(yīng)。響應(yīng)。 查詢次序決定了中斷優(yōu)先權(quán)次序,最先查詢次序決定了中斷優(yōu)先權(quán)次序,最先被查詢的中斷源具有最高的優(yōu)先權(quán)。被查詢的中斷源具有最高的優(yōu)先權(quán)。中斷優(yōu)先權(quán)管理中斷優(yōu)先權(quán)管理 如圖,如圖,8個(gè)外設(shè)只個(gè)外設(shè)只要有中斷請(qǐng)求,要有
4、中斷請(qǐng)求,CPU檢測(cè)到中斷請(qǐng)檢測(cè)到中斷請(qǐng)求信號(hào),響應(yīng)中斷;求信號(hào),響應(yīng)中斷; D7D0 CPU INTRI/O 端口端口地址 80H1外設(shè)A B C D E F G H 中斷請(qǐng)求 讀入端口讀入端口80H的內(nèi)容,逐位判別確定當(dāng)前申的內(nèi)容,逐位判別確定當(dāng)前申請(qǐng)中斷的優(yōu)先權(quán)最高的中斷源,從而進(jìn)入相應(yīng)的請(qǐng)中斷的優(yōu)先權(quán)最高的中斷源,從而進(jìn)入相應(yīng)的中斷服務(wù)程序。中斷服務(wù)程序。中斷優(yōu)先權(quán)管理中斷優(yōu)先權(quán)管理(1)軟件確定中斷優(yōu)先權(quán))軟件確定中斷優(yōu)先權(quán)保護(hù)現(xiàn)場(chǎng)外設(shè)A中斷服務(wù)程序外設(shè)B中斷服務(wù)程序外設(shè)C中斷服務(wù)程序A申請(qǐng)服務(wù)?B申請(qǐng)服務(wù)?C申請(qǐng)服務(wù)?恢復(fù)現(xiàn)場(chǎng)YYYNNN軟件查詢流程圖軟件查詢流程圖軟件查詢程序:軟
5、件查詢程序:IN AL,80H ;端口讀入狀態(tài)端口讀入狀態(tài)TEST AL,80H;JNZ SERVE_ATEST AL,40HJNZ SERVE_B TEST AL,01HJNZ SERVE_HHLT* 軟件查詢次序就是優(yōu)先權(quán)高低的次序;軟件查詢次序就是優(yōu)先權(quán)高低的次序;* 軟件確定中斷優(yōu)先權(quán)不需復(fù)雜的硬件電路,簡(jiǎn)單易實(shí)現(xiàn)軟件確定中斷優(yōu)先權(quán)不需復(fù)雜的硬件電路,簡(jiǎn)單易實(shí)現(xiàn);* 中斷源較多時(shí),查詢時(shí)間較長(zhǎng),中斷響應(yīng)較慢。中斷源較多時(shí),查詢時(shí)間較長(zhǎng),中斷響應(yīng)較慢。中斷優(yōu)先權(quán)管理中斷優(yōu)先權(quán)管理(2)硬件確定中斷優(yōu)先權(quán))硬件確定中斷優(yōu)先權(quán) 由由硬件硬件實(shí)現(xiàn)中斷優(yōu)先權(quán)的判別。實(shí)現(xiàn)中斷優(yōu)先權(quán)的判別。 * 常
6、用的硬件電路有:中斷優(yōu)先權(quán)編碼電常用的硬件電路有:中斷優(yōu)先權(quán)編碼電路,鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電路及專用硬件電路等。路,鏈?zhǔn)絻?yōu)先權(quán)排隊(duì)電路及專用硬件電路等。 * 利用利用中斷控制器中斷控制器8259A,它具有它具有8個(gè)優(yōu)個(gè)優(yōu)先權(quán)控制,可以通過(guò)級(jí)聯(lián),擴(kuò)展至先權(quán)控制,可以通過(guò)級(jí)聯(lián),擴(kuò)展至64級(jí)優(yōu)級(jí)優(yōu)先權(quán)控制,且每級(jí)中斷都可設(shè)置為允許或屏先權(quán)控制,且每級(jí)中斷都可設(shè)置為允許或屏蔽蔽 。圖圖6-4 6-4 8 8個(gè)以下的中斷結(jié)構(gòu)個(gè)以下的中斷結(jié)構(gòu) 圖圖6-5 6-5 8 8個(gè)以上的中斷結(jié)構(gòu)個(gè)以上的中斷結(jié)構(gòu)IRQ0IRQ0IRQ1IRQ1IRQ2IRQ2: IRQ7IRQ782598259 到到CPU三總線三總線 到
7、到CPU三總線三總線IRQ0IRQ0IRQ1IRQ1IRQ2IRQ2: IRQ7IRQ782598259 IRQ0IRQ0IRQ1IRQ1IRQ2IRQ2: IRQ7IRQ7INTINTINTINTIRQ1IRQ1 IRQ2IRQ2 IRQ3IRQ3 : IRQ7IRQ7IRQ0IRQ08259825982598259(主)(主)(從(從1 1)(從(從2 2)多于多于8個(gè)中斷源的中斷的硬件電路結(jié)構(gòu)個(gè)中斷源的中斷的硬件電路結(jié)構(gòu)8086/8088的中斷系統(tǒng)的中斷系統(tǒng)n 8086/8088CPU具有一個(gè)管理高效且簡(jiǎn)便具有一個(gè)管理高效且簡(jiǎn)便靈活的中斷系統(tǒng),可以處理多達(dá)靈活的中斷系統(tǒng),可以處理多達(dá)25
8、6種中斷種中斷源。源。n采用采用向量中斷方法向量中斷方法,對(duì),對(duì)256種中斷只需一次種中斷只需一次間接訪問(wèn),就可獲得任一中斷源的中斷服務(wù)間接訪問(wèn),就可獲得任一中斷源的中斷服務(wù)程序的入口地址,中斷響應(yīng)快速。程序的入口地址,中斷響應(yīng)快速。12主要內(nèi)容主要內(nèi)容7.1 中斷系統(tǒng)概述中斷系統(tǒng)概述7.2 8086CPU的中斷系統(tǒng)的中斷系統(tǒng)7.3 可編程中斷控制器可編程中斷控制器8259A7.4 小結(jié)小結(jié)7.3 Intel 8259A可編程中斷控制器可編程中斷控制器問(wèn)題的提出問(wèn)題的提出: : 8086 8086只有一個(gè)可屏蔽中斷輸入線只有一個(gè)可屏蔽中斷輸入線, ,如何實(shí)如何實(shí)現(xiàn)處理多個(gè)外部中斷請(qǐng)求現(xiàn)處理多個(gè)
9、外部中斷請(qǐng)求? ? 解決的辦法是用專用的中斷控制器接口電解決的辦法是用專用的中斷控制器接口電路路82598259可編程中斷控制器可編程中斷控制器1 1功能及工作特點(diǎn)功能及工作特點(diǎn)1)1)管理和控制管理和控制80868086的外部可屏蔽中斷請(qǐng)求的外部可屏蔽中斷請(qǐng)求2)2)實(shí)現(xiàn)中斷判優(yōu):實(shí)現(xiàn)中斷判優(yōu):每一片每一片8259A可以管理可以管理8個(gè)中斷請(qǐng)個(gè)中斷請(qǐng)求,并把當(dāng)前優(yōu)先級(jí)最高的中斷請(qǐng)求送到求,并把當(dāng)前優(yōu)先級(jí)最高的中斷請(qǐng)求送到CPU的的INTR端。端。3)3)提供中斷類型碼,迅速地轉(zhuǎn)至中斷服務(wù)程序。提供中斷類型碼,迅速地轉(zhuǎn)至中斷服務(wù)程序。4)4)可屏蔽中斷輸入,每一個(gè)中斷請(qǐng)求都可以屏蔽或允可屏蔽中
10、斷輸入,每一個(gè)中斷請(qǐng)求都可以屏蔽或允許。單片許。單片8259A8259A可以管理可以管理8 8級(jí)中斷,采用級(jí)聯(lián)方式,最級(jí)中斷,采用級(jí)聯(lián)方式,最多可管理多可管理6464級(jí)中斷。級(jí)中斷。5)5) 通過(guò)編程使通過(guò)編程使8259A8259A工作在多種不同的方式。工作在多種不同的方式。7.3.1 8259A的功能、框圖和引腳的功能、框圖和引腳2、8259A的引腳的引腳圖6-14 8259A的引腳8259ACSWRRDD7D6D5D4D3D2D1D0CAS0CAS1GNDINTAIR7INTCAS2A0VCCIR6IR5IR4IR3IR2IR1IR0EN/SP28272625242322212019171
11、8151612345678910121114131)CS:片選信號(hào),輸:片選信號(hào),輸入,低電平有效,來(lái)自入,低電平有效,來(lái)自地址譯碼器的輸出。地址譯碼器的輸出。2)WR:寫(xiě)信號(hào),輸:寫(xiě)信號(hào),輸入,低電平有效。入,低電平有效。3)RD:讀信號(hào),輸入,:讀信號(hào),輸入,低電平有效。低電平有效。 8259ACSWRRDD7D6D5D4D3D2D1D0CAS0CAS1GNDINTAIR7INTCAS2A0VCCIR6IR5IR4IR3IR2IR1IR0EN/SP282726252423222120191718151612345678910121114134)D7 D0:雙向、三態(tài):雙向、三態(tài)數(shù)據(jù)線,接系
12、統(tǒng)數(shù)據(jù)總線數(shù)據(jù)線,接系統(tǒng)數(shù)據(jù)總線的的D7 D0。5)IR7 IR0:中斷請(qǐng)求:中斷請(qǐng)求信號(hào),輸入。信號(hào),輸入。6)INT:8259A向向CPU發(fā)出的中斷請(qǐng)求信號(hào)發(fā)出的中斷請(qǐng)求信號(hào),高電平有效。高電平有效。7)INTA:中斷響應(yīng)信:中斷響應(yīng)信號(hào),輸入,號(hào),輸入,接收接收CPU發(fā)發(fā)來(lái)的中斷響應(yīng)脈沖以通來(lái)的中斷響應(yīng)脈沖以通知知8259A中斷請(qǐng)求已被中斷請(qǐng)求已被響應(yīng),使其將中斷類型響應(yīng),使其將中斷類型號(hào)送到數(shù)據(jù)總線上。號(hào)送到數(shù)據(jù)總線上。 8 8)CAS0CAS0 CAS2CAS2:級(jí)聯(lián)總線,輸入或輸出,用于區(qū)分特:級(jí)聯(lián)總線,輸入或輸出,用于區(qū)分特定的從控制器。定的從控制器。9 9)SP/ENSP/EN
13、:主從片信號(hào),輸入。:主從片信號(hào),輸入。 SP/ENSP/EN1 1,8259A8259A為為主控制器;主控制器; SP/ENSP/EN0 0,為從控制器。,為從控制器。1010)A0:A0:地址線,輸入。用來(lái)指出當(dāng)前地址線,輸入。用來(lái)指出當(dāng)前8259A的哪個(gè)的哪個(gè)端口被訪問(wèn),選擇內(nèi)部寄存器的端口地址。端口被訪問(wèn),選擇內(nèi)部寄存器的端口地址。n在標(biāo)準(zhǔn)在標(biāo)準(zhǔn)AT機(jī)中,使用兩片機(jī)中,使用兩片8259A構(gòu)成主從式中斷系構(gòu)成主從式中斷系統(tǒng):統(tǒng):n主主8259A的端口地址:的端口地址:20H,21Hn從從8259A的端口地址:的端口地址:A0H,A1H 3. Intel 8259A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)圖6
14、-14 8259A內(nèi)部組成結(jié)構(gòu)圖 D7-D0SP/ENCAS0CAS1CAS2數(shù)據(jù)總線緩沖器 讀/寫(xiě) 控制邏輯 讀/寫(xiě) 控制邏輯 讀/寫(xiě) 控制邏輯 讀寫(xiě)控制邏輯 RDWRA0CS控制邏輯 中斷屏蔽寄存器IMRINTA INT 內(nèi)部總線 IR0IR1IR2IR3IR4IR5IR6IR7 級(jí)連緩沖比較器中斷服務(wù)寄存器ISR優(yōu)先權(quán)判斷電路PR中斷請(qǐng)求寄存器IRR19(1)中斷請(qǐng)求寄存器)中斷請(qǐng)求寄存器IRRn具有鎖存功能的具有鎖存功能的8位寄存器,通過(guò)輸入信號(hào)位寄存器,通過(guò)輸入信號(hào)IR0IR7接收外部中斷請(qǐng)求,每一位對(duì)應(yīng)著一個(gè)接收外部中斷請(qǐng)求,每一位對(duì)應(yīng)著一個(gè)外部設(shè)備。外部設(shè)備。外部外部中斷中斷請(qǐng)求
15、請(qǐng)求(2)當(dāng)前服務(wù)寄存器)當(dāng)前服務(wù)寄存器ISRn用于存放當(dāng)前正在進(jìn)行處理的中斷用于存放當(dāng)前正在進(jìn)行處理的中斷,ISRi與與IRi中斷源一一中斷源一一對(duì)應(yīng),用來(lái)記錄對(duì)應(yīng),用來(lái)記錄CPU當(dāng)前正在對(duì)哪些中斷源服務(wù)。當(dāng)前正在對(duì)哪些中斷源服務(wù)。n在在CPU響應(yīng)響應(yīng)IRi時(shí),在第一個(gè)中斷應(yīng)答周期時(shí),在第一個(gè)中斷應(yīng)答周期INTA將對(duì)應(yīng)的將對(duì)應(yīng)的ISRi置置“1”。n當(dāng)當(dāng)ISR全為全為0時(shí),表示時(shí),表示CPU正在執(zhí)行主程序,無(wú)任何中斷服正在執(zhí)行主程序,無(wú)任何中斷服務(wù)。務(wù)。nISR的置的置“1”位一直保持到該中斷源的中斷處理結(jié)束為止,位一直保持到該中斷源的中斷處理結(jié)束為止,在收到針對(duì)在收到針對(duì)8259A的結(jié)束命
16、令后,該位才會(huì)被清的結(jié)束命令后,該位才會(huì)被清0。(3)中斷屏蔽寄存器)中斷屏蔽寄存器IMRn用來(lái)保存程序員寫(xiě)入的中斷屏蔽字的用來(lái)保存程序員寫(xiě)入的中斷屏蔽字的8位寄存器位寄存器nIMRi為為“1”時(shí),可以屏蔽對(duì)應(yīng)的時(shí),可以屏蔽對(duì)應(yīng)的IRi輸入的中斷請(qǐng)求,使之輸入的中斷請(qǐng)求,使之不能送達(dá)不能送達(dá)8259A的優(yōu)先權(quán)判別電路。的優(yōu)先權(quán)判別電路。 IMRi為為“0”時(shí),開(kāi)放時(shí),開(kāi)放相應(yīng)位相應(yīng)位IRi的中斷請(qǐng)求。的中斷請(qǐng)求。(4)優(yōu)先權(quán)判別器)優(yōu)先權(quán)判別器PRn檢查中斷源的優(yōu)先級(jí)檢查中斷源的優(yōu)先級(jí),并與,并與ISR比較,確定是否將比較,確定是否將此中斷請(qǐng)求送給此中斷請(qǐng)求送給CPU。n當(dāng)多個(gè)中斷請(qǐng)求同時(shí)產(chǎn)生
17、時(shí),由當(dāng)多個(gè)中斷請(qǐng)求同時(shí)產(chǎn)生時(shí),由PR判定哪個(gè)中斷判定哪個(gè)中斷請(qǐng)求的優(yōu)先權(quán)最高請(qǐng)求的優(yōu)先權(quán)最高n當(dāng)當(dāng)CPU正在響應(yīng)某個(gè)中斷請(qǐng)求時(shí),若出現(xiàn)新的中斷正在響應(yīng)某個(gè)中斷請(qǐng)求時(shí),若出現(xiàn)新的中斷請(qǐng)求,請(qǐng)求,PR將判定新的中斷請(qǐng)求與將判定新的中斷請(qǐng)求與ISR中正在服務(wù)的中正在服務(wù)的中斷請(qǐng)求哪個(gè)優(yōu)先級(jí)更高,以決定是否需要馬上響中斷請(qǐng)求哪個(gè)優(yōu)先級(jí)更高,以決定是否需要馬上響應(yīng)新的中斷請(qǐng)求應(yīng)新的中斷請(qǐng)求(5)數(shù)據(jù)總線緩沖器)數(shù)據(jù)總線緩沖器n8位雙向三態(tài)緩沖器,是位雙向三態(tài)緩沖器,是8259A與與CPU之間的數(shù)據(jù)接口。之間的數(shù)據(jù)接口。n8259A初始化所需的一系列初始化命令字(初始化所需的一系列初始化命令字(ICW)
18、和操作)和操作命令字(命令字(OCW),都是通過(guò)數(shù)據(jù)總線緩沖器寫(xiě)入的),都是通過(guò)數(shù)據(jù)總線緩沖器寫(xiě)入的n當(dāng)當(dāng)CPU對(duì)對(duì)8259A執(zhí)行讀操作時(shí),可以通過(guò)數(shù)據(jù)總線緩沖器執(zhí)行讀操作時(shí),可以通過(guò)數(shù)據(jù)總線緩沖器傳輸傳輸8259A的內(nèi)部狀態(tài)信息、中斷類型碼的內(nèi)部狀態(tài)信息、中斷類型碼(6)讀寫(xiě)邏輯)讀寫(xiě)邏輯n根據(jù)根據(jù)CPU送來(lái)的讀送來(lái)的讀/寫(xiě)信號(hào)和地址信息,通過(guò)數(shù)據(jù)總線緩沖寫(xiě)信號(hào)和地址信息,通過(guò)數(shù)據(jù)總線緩沖器完成器完成CPU對(duì)對(duì)8259A的讀寫(xiě)操作的讀寫(xiě)操作n與讀與讀/寫(xiě)邏輯有關(guān)的信號(hào)包括:寫(xiě)邏輯有關(guān)的信號(hào)包括:n片選信號(hào)CSn寫(xiě)控制信號(hào)WRn讀控制信號(hào)RDn端口選擇信號(hào)A0(7)控制邏輯)控制邏輯n8259
19、A的功能核心,通過(guò)編程設(shè)置方式來(lái)管的功能核心,通過(guò)編程設(shè)置方式來(lái)管理理8259A的工作方式的工作方式(8)級(jí)聯(lián)緩沖器)級(jí)聯(lián)緩沖器 / 比較器比較器n一片一片8259A最多可以管理最多可以管理8級(jí)中斷源級(jí)中斷源n多片多片8259A級(jí)聯(lián),可以管理更多的中斷源級(jí)聯(lián),可以管理更多的中斷源n級(jí)聯(lián)時(shí),一片級(jí)聯(lián)時(shí),一片8259A作為主片,另外作為主片,另外18片作為從片,主片作為從片,主從片的引腳從片的引腳CAS0CAS2相互連接成為級(jí)聯(lián)總線相互連接成為級(jí)聯(lián)總線n當(dāng)從片上的中斷源提出中斷請(qǐng)求時(shí),從片通過(guò)自己的當(dāng)從片上的中斷源提出中斷請(qǐng)求時(shí),從片通過(guò)自己的INT信信號(hào)線向主片的某個(gè)號(hào)線向主片的某個(gè)IRi發(fā)出請(qǐng)
20、求,再由主片代替從片向發(fā)出請(qǐng)求,再由主片代替從片向CPU發(fā)出真正的請(qǐng)求信號(hào)發(fā)出真正的請(qǐng)求信號(hào)n當(dāng)中斷請(qǐng)求被響應(yīng)后,主片將請(qǐng)求被響應(yīng)從片的編碼通過(guò)當(dāng)中斷請(qǐng)求被響應(yīng)后,主片將請(qǐng)求被響應(yīng)從片的編碼通過(guò)CAS0 CAS2送往從片,所有從片都會(huì)收到這個(gè)編碼,但送往從片,所有從片都會(huì)收到這個(gè)編碼,但只有匹配的從片才會(huì)響應(yīng),在第二個(gè)中斷響應(yīng)周期中,該從只有匹配的從片才會(huì)響應(yīng),在第二個(gè)中斷響應(yīng)周期中,該從片將請(qǐng)求的中斷源類型號(hào)送到數(shù)據(jù)總線,片將請(qǐng)求的中斷源類型號(hào)送到數(shù)據(jù)總線,CPU讀取后就轉(zhuǎn)讀取后就轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序進(jìn)行處理入相應(yīng)的中斷服務(wù)程序進(jìn)行處理兩片兩片8259A的級(jí)聯(lián)(簡(jiǎn)化示意)的級(jí)聯(lián)(簡(jiǎn)化示意)
21、n 主片中斷源主片中斷源從片中斷源從片中斷源CAS0CAS2287.3.2 8259A的中斷管理的中斷管理n對(duì)中斷源進(jìn)行優(yōu)先級(jí)排隊(duì)管理對(duì)中斷源進(jìn)行優(yōu)先級(jí)排隊(duì)管理n接受和擴(kuò)充外部設(shè)備的中斷請(qǐng)求接受和擴(kuò)充外部設(shè)備的中斷請(qǐng)求n提供中斷類型號(hào)提供中斷類型號(hào)n進(jìn)行中斷請(qǐng)求的屏蔽和開(kāi)放進(jìn)行中斷請(qǐng)求的屏蔽和開(kāi)放298259A中斷請(qǐng)求處理過(guò)程中斷請(qǐng)求處理過(guò)程nIRR寄存來(lái)自寄存來(lái)自IR0IR7的中斷源的中斷請(qǐng)求;的中斷源的中斷請(qǐng)求;n經(jīng)過(guò)經(jīng)過(guò)IMR的篩選后,未被屏蔽的請(qǐng)求送至的篩選后,未被屏蔽的請(qǐng)求送至PR進(jìn)行進(jìn)行判優(yōu);判優(yōu);nPR選中優(yōu)先級(jí)最高的中斷源,通過(guò)引腳選中優(yōu)先級(jí)最高的中斷源,通過(guò)引腳INT向向CP
22、U發(fā)出中斷請(qǐng)求信號(hào);發(fā)出中斷請(qǐng)求信號(hào);n在滿足響應(yīng)條件時(shí),在滿足響應(yīng)條件時(shí),CPU通過(guò)通過(guò)INTA#引腳向引腳向8259A發(fā)出兩個(gè)負(fù)脈沖,即中斷響應(yīng)信號(hào);發(fā)出兩個(gè)負(fù)脈沖,即中斷響應(yīng)信號(hào);n8259A收到第一個(gè)收到第一個(gè)INTA#信號(hào)后,信號(hào)后, ISR相應(yīng)位置相應(yīng)位置“1”,IRR相應(yīng)位清相應(yīng)位清“0”;n8259A收到第二個(gè)收到第二個(gè)INTA#信號(hào)后,信號(hào)后,8259A把被選把被選中的中斷源的中斷類型碼中的中斷源的中斷類型碼 n 通過(guò)數(shù)據(jù)線送往通過(guò)數(shù)據(jù)線送往CPU;nCPU根據(jù)根據(jù) n 從中斷向量表讀取中斷向量并送往從中斷向量表讀取中斷向量并送往CS:IP,開(kāi)始執(zhí)行中斷服務(wù)程序。,開(kāi)始執(zhí)行中
23、斷服務(wù)程序。7.3.3 8259A的工作方式的工作方式n8259A的工作方式有如下幾類:的工作方式有如下幾類:n中斷觸發(fā)方式中斷觸發(fā)方式n屏蔽中斷源的方式屏蔽中斷源的方式n中斷優(yōu)先方式與中斷嵌套中斷優(yōu)先方式與中斷嵌套n中斷結(jié)束處理方式中斷結(jié)束處理方式 n級(jí)聯(lián)工作方式級(jí)聯(lián)工作方式中斷觸發(fā)方式中斷觸發(fā)方式n邊沿觸發(fā)邊沿觸發(fā) 以上跳沿向以上跳沿向8259A請(qǐng)求中斷,上跳沿后可一直請(qǐng)求中斷,上跳沿后可一直維持高電平,不會(huì)再產(chǎn)生中斷。維持高電平,不會(huì)再產(chǎn)生中斷。n電平觸發(fā)電平觸發(fā) 以高電平請(qǐng)求中斷,但在響應(yīng)中斷后必須及時(shí)清以高電平請(qǐng)求中斷,但在響應(yīng)中斷后必須及時(shí)清除高電平,以免引起第二次中斷。除高電平,
24、以免引起第二次中斷。n在第在第1個(gè)個(gè)INTA#結(jié)束前,結(jié)束前,IRi必須保持高電平必須保持高電平 32屏蔽中斷源的方式屏蔽中斷源的方式n通常屏蔽方式通常屏蔽方式(掌握掌握) IMR屏蔽字決定了屏蔽字決定了允許或禁止允許或禁止某位某位IRi所對(duì)應(yīng)的所對(duì)應(yīng)的中斷中斷:IMi=1 禁止,禁止, IMi=0 允許。利用操作命令允許。利用操作命令字字OCW1來(lái)設(shè)定來(lái)設(shè)定IMR。n特殊屏蔽方式特殊屏蔽方式(不要求不要求) 在某些場(chǎng)合,在執(zhí)行某一個(gè)中斷服務(wù)程序時(shí),在某些場(chǎng)合,在執(zhí)行某一個(gè)中斷服務(wù)程序時(shí),要求允許另一個(gè)優(yōu)先級(jí)比它低的中斷請(qǐng)求被響應(yīng)。要求允許另一個(gè)優(yōu)先級(jí)比它低的中斷請(qǐng)求被響應(yīng)。可通過(guò)可通過(guò)OCW
25、3的的D6D5=11來(lái)設(shè)定來(lái)設(shè)定中斷優(yōu)先方式與中斷嵌套中斷優(yōu)先方式與中斷嵌套n中斷優(yōu)先方式中斷優(yōu)先方式 兩類優(yōu)先級(jí)控制方式:兩類優(yōu)先級(jí)控制方式:固定優(yōu)先級(jí)固定優(yōu)先級(jí)和和循環(huán)優(yōu)先級(jí)循環(huán)優(yōu)先級(jí)n固定優(yōu)先級(jí)方式固定優(yōu)先級(jí)方式(掌握掌握)n所有中斷請(qǐng)求所有中斷請(qǐng)求IRi的中斷優(yōu)先級(jí)固定不變的中斷優(yōu)先級(jí)固定不變n優(yōu)先級(jí)排列順序可編程改變優(yōu)先級(jí)排列順序可編程改變n加電后加電后8259A的默認(rèn)方式,默認(rèn)優(yōu)先級(jí)順序從高到的默認(rèn)方式,默認(rèn)優(yōu)先級(jí)順序從高到低為低為IR0IR7IR7IR6IR5IR4IR3IR2IR1IR07654321032107654最低級(jí)最高級(jí)最高級(jí)最低級(jí)優(yōu)先級(jí)優(yōu)先級(jí)IR7IR6IR5IR4
26、IR3IR2IR1IR0默認(rèn)優(yōu)先級(jí)默認(rèn)優(yōu)先級(jí)優(yōu)先級(jí)可編程改變優(yōu)先級(jí)可編程改變34n固定優(yōu)先級(jí)方式固定優(yōu)先級(jí)方式(掌握掌握)n全嵌套方式全嵌套方式 中斷優(yōu)先級(jí)按中斷優(yōu)先級(jí)按07順序進(jìn)行排隊(duì),只允許中斷級(jí)順序進(jìn)行排隊(duì),只允許中斷級(jí)別高的中斷源打斷級(jí)別低的中斷服務(wù)程序。別高的中斷源打斷級(jí)別低的中斷服務(wù)程序。n特殊全嵌套方式特殊全嵌套方式 同全嵌套方式基本相同,不同在于,允許響應(yīng)同級(jí)同全嵌套方式基本相同,不同在于,允許響應(yīng)同級(jí)的中斷請(qǐng)求。用于多片級(jí)聯(lián)。的中斷請(qǐng)求。用于多片級(jí)聯(lián)。n循環(huán)優(yōu)先級(jí)方式循環(huán)優(yōu)先級(jí)方式(不要求不要求) 優(yōu)先級(jí)順序不是固定不變的,一個(gè)設(shè)備受到中斷服務(wù)后,其優(yōu)先級(jí)自動(dòng)降為最低。初始優(yōu)
27、先級(jí)順序規(guī)定為IR0IR7。中斷優(yōu)先方式與中斷嵌套中斷優(yōu)先方式與中斷嵌套中斷優(yōu)先方式與中斷嵌套(續(xù))中斷優(yōu)先方式與中斷嵌套(續(xù))n中斷嵌套中斷嵌套方式方式n8259A有兩種中斷嵌套方式:有兩種中斷嵌套方式:n普通全嵌套方式(默認(rèn)方式)普通全嵌套方式(默認(rèn)方式) 一中斷正被處理時(shí),只有一中斷正被處理時(shí),只有更高優(yōu)先級(jí)更高優(yōu)先級(jí)的事件可以打的事件可以打斷當(dāng)前的中斷處理過(guò)程而被服務(wù)斷當(dāng)前的中斷處理過(guò)程而被服務(wù)(單片或者從單片或者從8259A使用使用)。n特殊全嵌套方式特殊全嵌套方式 (級(jí)聯(lián)時(shí)主級(jí)聯(lián)時(shí)主8259A使用使用)一中斷正被處理時(shí),允許一中斷正被處理時(shí),允許同級(jí)或更高優(yōu)先級(jí)同級(jí)或更高優(yōu)先級(jí)的事
28、件的事件可以打斷當(dāng)前的中斷處理過(guò)程而被服務(wù)。可以打斷當(dāng)前的中斷處理過(guò)程而被服務(wù)。D.主主8259AIR0IR1IR2IR3IR4IR5IR6IR7一般嵌套方式:一般嵌套方式:從片的從片的INT被主片封被主片封鎖,故更鎖,故更高高級(jí)別的級(jí)別的IR0-IR2中斷也無(wú)法中斷也無(wú)法得到響應(yīng)得到響應(yīng)特殊嵌套方式:特殊嵌套方式:因主片不封鎖從片的因主片不封鎖從片的INT,故級(jí)別高的,故級(jí)別高的IR0-IR2中斷可以得到響應(yīng)。中斷可以得到響應(yīng)。( (但但I(xiàn)R3-IR7仍被本從仍被本從片封鎖片封鎖) )C.假定假定IR3發(fā)生中發(fā)生中斷斷,并獲得服務(wù)并獲得服務(wù)一般嵌套方式:一般嵌套方式:IR4的中斷被服務(wù)的中斷
29、被服務(wù)時(shí),這些中斷將時(shí),這些中斷將被封鎖。被封鎖。B.特殊嵌套方式:特殊嵌套方式:IR4的中斷被服的中斷被服務(wù) 時(shí) , 只 封 鎖務(wù) 時(shí) , 只 封 鎖IR5-IR7。A.INTE.從從8259AINTIR0IR1IR2IR3IR4IR5IR6IR7n一般全嵌套方式與特殊全嵌套方式的區(qū)別一般全嵌套方式與特殊全嵌套方式的區(qū)別 去去CPU中斷結(jié)束處理方式中斷結(jié)束處理方式n當(dāng)某一當(dāng)某一IRi中斷被服務(wù)時(shí),中斷被服務(wù)時(shí),ISR中的相應(yīng)位中的相應(yīng)位ISRi=1。當(dāng)服務(wù)結(jié)束后,則必須清零該當(dāng)服務(wù)結(jié)束后,則必須清零該ISRi位。使位。使ISRi=0是通過(guò)向是通過(guò)向8259A發(fā)出中斷結(jié)束命令(發(fā)出中斷結(jié)束命令
30、(EOI命令)命令)實(shí)現(xiàn)的。實(shí)現(xiàn)的。n三種三種EOI命令命令n自動(dòng)自動(dòng)EOI(AEOI)(自動(dòng)(自動(dòng)EOI方式)方式)n非指定非指定EOI(NSEOI)(正常(正常EOI方式)方式)n指定指定EOI(SEOI)(特殊(特殊EOI方式方式) nAEOI:在第在第2個(gè)個(gè)INTA#結(jié)束時(shí),由結(jié)束時(shí),由8259A使使ISRi自動(dòng)復(fù)位;自動(dòng)復(fù)位;n因不保留當(dāng)前正在服務(wù)的中斷的狀態(tài),故因不保留當(dāng)前正在服務(wù)的中斷的狀態(tài),故AEOI用在用在多個(gè)中斷不會(huì)嵌套的系統(tǒng)中。多個(gè)中斷不會(huì)嵌套的系統(tǒng)中。nNSEOI:由由CPU發(fā)出正常發(fā)出正常EOI命令,該命令,該EOI命令命令使使ISRi=1的位中優(yōu)先級(jí)最高的那一位復(fù)位
31、。的位中優(yōu)先級(jí)最高的那一位復(fù)位。n用于嵌套方式用于嵌套方式nSEOI:由:由CPU發(fā)出一條發(fā)出一條SEOI命令,該命令,該EOI命令命令中指出了所要復(fù)位的中指出了所要復(fù)位的ISR的位號(hào)。的位號(hào)。 n用于特殊屏蔽方式用于特殊屏蔽方式向從PIC發(fā)EOI命令讀從PIC的ISR全0?向主PIC發(fā)EOI命令YIRET恢復(fù)現(xiàn)場(chǎng)Nn特殊全嵌套方式下的特殊全嵌套方式下的EOI處理處理n只有當(dāng)從只有當(dāng)從8259A的中斷全部處理完后,才能向的中斷全部處理完后,才能向主主8259A發(fā)發(fā)EOI命令命令主主8259AIR0IR1IR2IR3IR4IR5IR6IR7INT從從8259AINTIR0IR1IR2IR3IR4
32、IR5IR6IR7去去CPU級(jí)聯(lián)工作方式級(jí)聯(lián)工作方式n單片單片8259A可支持可支持8個(gè)中斷源;個(gè)中斷源;n采用多片采用多片8259A級(jí)連,可最多支持級(jí)連,可最多支持64個(gè)中斷個(gè)中斷源。源。n級(jí)連時(shí)只能有一片級(jí)連時(shí)只能有一片8259A為主片,其余的均為主片,其余的均為從屬片;為從屬片;級(jí)連電路連接方法級(jí)連電路連接方法42 7.3.4 8259A 編程編程 8259A是可編程中斷控制器,在它工作之前必須通過(guò)軟是可編程中斷控制器,在它工作之前必須通過(guò)軟件向其寫(xiě)入命令,使其在人們所希望的狀態(tài)下工作。件向其寫(xiě)入命令,使其在人們所希望的狀態(tài)下工作。n命令有兩種:命令有兩種:n設(shè)置工作方式:初始化命令字(
33、設(shè)置工作方式:初始化命令字(ICW1ICW4)n控制操作:操作命令字(控制操作:操作命令字( OCW1 OCW3 ) ICW往往是在系統(tǒng)啟動(dòng)時(shí)由初始化程序設(shè)置的,初始往往是在系統(tǒng)啟動(dòng)時(shí)由初始化程序設(shè)置的,初始化命令字一旦設(shè)定,在系統(tǒng)工作中就一般不再改變。在初始化命令字一旦設(shè)定,在系統(tǒng)工作中就一般不再改變。在初始化后,化后,CPU可以用操作命令字來(lái)控制可以用操作命令字來(lái)控制8259A執(zhí)行不同的操執(zhí)行不同的操作。作。 OCW 可以在初始化后任何時(shí)刻寫(xiě)入可以在初始化后任何時(shí)刻寫(xiě)入8259A,并可多,并可多次設(shè)置。次設(shè)置。8259A的編程使用的編程使用n8259A的控制命令分為的控制命令分為n初始化命
34、令字初始化命令字ICWnICW1ICW4n向向8259A寫(xiě)入寫(xiě)入ICW的過(guò)程稱為的過(guò)程稱為初始化編程初始化編程n操作命令字操作命令字OCW nOCW1OCW3n向向8259A寫(xiě)入寫(xiě)入OCW的過(guò)程稱為的過(guò)程稱為操作方式編程操作方式編程1. 8259A內(nèi)部寄存器的尋址方法內(nèi)部寄存器的尋址方法CS# RD# WR#A0D4D3讀寫(xiě)操作讀寫(xiě)操作010000寫(xiě)寫(xiě)OCW2001寫(xiě)寫(xiě)OCW301x寫(xiě)寫(xiě)ICW11xx寫(xiě)寫(xiě)ICW2,ICW3,ICW4,OCW1(順序?qū)戫樞驅(qū)懭肴?0010 xx讀出讀出IRR、ISR1xx讀出讀出IMRn需要需要CS#、A0、RD#、WR#和和D4、D3的配合的配合n內(nèi)部寄存器的
35、訪問(wèn)方法如下表:內(nèi)部寄存器的訪問(wèn)方法如下表: n在在PC/XT系統(tǒng)中,占用系統(tǒng)中,占用20H、21Hn在在PC/AT系統(tǒng)中,占用系統(tǒng)中,占用20H、21H、A0H、A1H2. 8259A的初始化順序的初始化順序 n8259的初始化流的初始化流程如圖程如圖n注意次序不可顛倒注意次序不可顛倒 寫(xiě)寫(xiě)ICW1寫(xiě)寫(xiě)ICW2級(jí)連?級(jí)連?寫(xiě)寫(xiě)ICW3需需ICW4?寫(xiě)寫(xiě)ICW4(8086必須寫(xiě)必須寫(xiě))NNYY3. 初始化命令字初始化命令字ICWn初始化初始化8259A必須從必須從ICW1開(kāi)始開(kāi)始n寫(xiě)寫(xiě)ICW1意味著重新初始化意味著重新初始化8259An寫(xiě)入寫(xiě)入ICW1后,后,8259A的狀態(tài)如下:的狀態(tài)如下:
36、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。ICW1初始化字初始化字nLTIM: 觸發(fā)方式觸發(fā)方式n=1 高電平觸發(fā)高電平觸發(fā)n=0 上升沿觸發(fā)上升沿觸發(fā)nSNGL: 級(jí)連控制級(jí)連控制n=1 單片單片n=0 級(jí)連級(jí)連nICW4: ICW4控制控制(8086必須寫(xiě)必須寫(xiě)ICW4)n=1 要寫(xiě)要寫(xiě)ICW4n=0 不寫(xiě)不寫(xiě)ICW4(默認(rèn)(默認(rèn)ICW4為全為全0)A0
37、 D7D6 D5 D4 D3 D2 D1 D0 0 0 0 0 1 LTIM 0 SNGL IC4nICW1規(guī)定規(guī)定8259的連接方式的連接方式(單片或級(jí)聯(lián)單片或級(jí)聯(lián))與中斷源請(qǐng)求信號(hào)的與中斷源請(qǐng)求信號(hào)的有效形式。利用有效形式。利用A0=0、D4=1尋址。尋址。分析下面指令的含義分析下面指令的含義 MOV AL, 00011011B OUT 20H,AL ICW2中斷向量碼中斷向量碼nT7T3: 中斷向量碼的高中斷向量碼的高5位位nD2D0: 最低最低3位為中斷源的序號(hào)位為中斷源的序號(hào)IRnn000111分別對(duì)應(yīng)分別對(duì)應(yīng)IR0IR7n由由8259A根據(jù)中斷源的序號(hào)自動(dòng)填入根據(jù)中斷源的序號(hào)自動(dòng)填
38、入 例如:例如:若若ICW2命令字為命令字為48H,則,則IR0的中斷向量碼為的中斷向量碼為48H,IR1的中斷向量碼為的中斷向量碼為49H, IR2中斷向量碼為中斷向量碼為4AH,等等。,等等。 A0 D7D6 D5 D4 D3 D2 D1 D0 1 T7 T6 T5 T4 T3 x x x例例 P206(錯(cuò)錯(cuò))n在在PC-AT系列微機(jī)系統(tǒng)中,采用系列微機(jī)系統(tǒng)中,采用2片片8259A級(jí)聯(lián),提供級(jí)聯(lián),提供15個(gè)個(gè)IR輸入。其中主片的中斷類輸入。其中主片的中斷類型碼型碼08H0FH,從片的中斷類型碼,從片的中斷類型碼70H77H(硬盤(pán)中斷請(qǐng)求硬盤(pán)中斷請(qǐng)求IR14,中斷類型碼,中斷類型碼76H)M
39、OV AL, 08H OUT 21H, AL ;寫(xiě)入主片寫(xiě)入主片ICW2 MOV AL,70HOUT A1H,AL ;寫(xiě)入從片寫(xiě)入從片ICW2 ICW3級(jí)連控制字級(jí)連控制字 n主片的級(jí)聯(lián)控制字主片的級(jí)聯(lián)控制字 nSi=1 對(duì)應(yīng)對(duì)應(yīng)IRi線上連接了從片線上連接了從片 A0 D7D6 D5 D4 D3 D2 D1 D0 1 S7 S6 S5 S4 S3 S2 S1 S0n從片的級(jí)聯(lián)控制字從片的級(jí)聯(lián)控制字 nID2ID0 標(biāo)識(shí)碼,說(shuō)明本從片連接到主片的哪標(biāo)識(shí)碼,說(shuō)明本從片連接到主片的哪個(gè)個(gè)IR引腳上。引腳上。 000111分別對(duì)應(yīng)分別對(duì)應(yīng)IR0IR7。 A0 D7D6 D5 D4 D3 D2 D1
40、D0 1 0 0 0 0 0 ID2 ID1 ID0ICW3級(jí)連控制字(續(xù))級(jí)連控制字(續(xù))nICW3必須與主從片的必須與主從片的連接關(guān)系一致:連接關(guān)系一致:PCAT中,主片的中,主片的IR2與與從片的從片的INT線連接,則線連接,則主片的主片的ICW3=04H,從,從片的片的ICW3=02H。n中斷響應(yīng)時(shí),主片通過(guò)中斷響應(yīng)時(shí),主片通過(guò)級(jí)連線級(jí)連線CAS2-CAS0送出送出被允許中斷的從片標(biāo)識(shí)被允許中斷的從片標(biāo)識(shí)碼,各從片用自己的碼,各從片用自己的ICW3與與CAS2-CAS0比比較,二者一致的從片才較,二者一致的從片才可發(fā)送中斷向量碼。可發(fā)送中斷向量碼。例例 P207n主片的主片的IR3和和
41、IR6兩個(gè)輸入端分別連接了從片兩個(gè)輸入端分別連接了從片A與與B的的INT,n主片地址為主片地址為20H,從片,從片A地址為地址為0A0H,從片,從片B地址為地址為0B0H,普通級(jí)聯(lián)普通級(jí)聯(lián)從片從片A從片從片B主片的主片的ICW3n8259A主片的主片的IR3和和IR6分別接了從片分別接了從片D7D6D5D4D3D2D1D001001000從片從片B從片從片A從片的從片的ICW3D7D6D5D4D3D2D1D000000110D7D6D5D4D3D2D1D000000011我是從片我是從片A我是從片我是從片B例例n主片的主片的ICW3=01001000B=48Hn從片從片A的的ICW3=0000
42、0011B=03Hn從片從片B的的ICW3=00000110B=06HMOV AL,48H ;ICW3(主主)OUT 21H,AL ;ICW3(主主)端口端口(A0=1)MOV AL,03H ;ICW3(從片從片A)OUT 0A1H,AL ;ICW3(從片從片A)端口端口(A0=1)MOV AL,06H ;ICW3(從片從片B)OUT 0B1H,AL ;ICW3(從片從片B)端口端口(A0=1)ICW4中斷結(jié)束方式字中斷結(jié)束方式字 nSFNM: 特殊全嵌套特殊全嵌套1 特殊全嵌套方式特殊全嵌套方式0 一般全嵌套方式一般全嵌套方式nAEOI: 自動(dòng)自動(dòng)EOI1 自動(dòng)自動(dòng)EOI方式方式0 非自動(dòng)非
43、自動(dòng)EOI方式方式A0 D7D6 D5 D4 D3 D2 D1 D0 1 0 0 0 SFNM BUF M/S AEOI 1nBUF: 緩沖方式緩沖方式 M/S: 主主/從緩沖選擇從緩沖選擇BUF M/S 1 1 緩沖方式緩沖方式/主主PIC 1 0 緩沖方式緩沖方式/從從PIC 0 x 非緩沖方式非緩沖方式/正常正常nD0:1: 8086/8088, 0: 8080/808557例例 P208nPC/AT機(jī)中采用普通中斷結(jié)束方式,使用兩片機(jī)中采用普通中斷結(jié)束方式,使用兩片8259A,非緩沖方式,為使從片也能提出中斷請(qǐng)求,非緩沖方式,為使從片也能提出中斷請(qǐng)求,主片采用特殊完全嵌套方式。如何初始
44、化主、從片主片采用特殊完全嵌套方式。如何初始化主、從片的的ICW4? MOV AL,11H ;ICW4(特殊嵌套、非自動(dòng)特殊嵌套、非自動(dòng)EOI) OUT 21H,AL ;ICW4的端口的端口(A0=1)MOV AL,01H ; ICW4(普通嵌套、非自動(dòng)普通嵌套、非自動(dòng)EOI) OUT A1H,AL ;ICW4的端口的端口(A0=1)A0 D7D6 D5 D4 D3 D2 D1 D0 1 0 0 0 SFNMBUF M/S AEOI 14. 操作命令字操作命令字OCW n在對(duì)在對(duì)8259A用初始化命令字進(jìn)行初始化后,就用初始化命令字進(jìn)行初始化后,就進(jìn)入工作狀態(tài),準(zhǔn)備好接收進(jìn)入工作狀態(tài),準(zhǔn)備好接
45、收IR輸入的中斷請(qǐng)求輸入的中斷請(qǐng)求信號(hào)。在信號(hào)。在8259A工作期間,工作期間, 可通過(guò)操作命令字可通過(guò)操作命令字來(lái)使它按不同的方式進(jìn)行操作。來(lái)使它按不同的方式進(jìn)行操作。n操作命令字共有三個(gè),可以獨(dú)立使用。操作命令字共有三個(gè),可以獨(dú)立使用。OCW1中斷屏蔽字中斷屏蔽字 nMi=1 中斷請(qǐng)求線中斷請(qǐng)求線IRi被屏蔽被屏蔽(不允許中斷不允許中斷) =0 允許該允許該IRi中斷中斷 nOCW1將寫(xiě)入將寫(xiě)入IMR寄存器。寄存器。nA0=1時(shí)可讀出用時(shí)可讀出用OCW1設(shè)置的設(shè)置的IMR內(nèi)容。內(nèi)容。 A0 D7D6 D5 D4 D3 D2 D1 D0 1 M7 M6 M5 M4 M3 M2 M1 M0例:
46、要使中斷源例:要使中斷源IR4開(kāi)放,其余均被屏蔽,開(kāi)放,其余均被屏蔽,OCW1=11101111B。MOV AL,0EFH ;OCW1內(nèi)容內(nèi)容OUT 21H,AL ;OCW1端口端口(A0=1)OCW2中斷結(jié)束中斷結(jié)束和優(yōu)先級(jí)循環(huán)和優(yōu)先級(jí)循環(huán) nL2L0: 優(yōu)先級(jí)編碼優(yōu)先級(jí)編碼nR: 優(yōu)先級(jí)自動(dòng)循環(huán)優(yōu)先級(jí)自動(dòng)循環(huán)nSL: 指定優(yōu)先級(jí)指定優(yōu)先級(jí)nEOI: 結(jié)束中斷命令結(jié)束中斷命令A(yù)0 D7D6 D5 D4 D3 D2 D1 D0 0 R SL EOI 0 0 L2 L1 L0最常用的命令是最常用的命令是20HCS#RD#WR#A0D4D3讀寫(xiě)操作讀寫(xiě)操作010000寫(xiě)寫(xiě)OCW2001寫(xiě)寫(xiě)OCW3
47、01x寫(xiě)寫(xiě)ICW11xx寫(xiě)寫(xiě)ICW2,ICW3,ICW4,OCW1(順序?qū)懭腠樞驅(qū)懭?0010 xx讀出讀出IRR、ISR1xx讀出讀出IMROCW3屏蔽方式和屏蔽方式和讀出控制字讀出控制字 nESMM: 允許使能特殊屏蔽方式允許使能特殊屏蔽方式nSMM: 特殊屏蔽方式特殊屏蔽方式ESMM SMM1 1 特殊屏蔽方式置位特殊屏蔽方式置位1 0 特殊屏蔽方式復(fù)位特殊屏蔽方式復(fù)位0 x 非特殊屏蔽方式非特殊屏蔽方式P(Polling): =1 查詢方式查詢方式 =0 中斷方式中斷方式A0 D7D6 D5 D4 D3 D2 D1 D0 0 0 ESMM SMM 0 1 P RR RISnRR: 讀寄
48、存器讀寄存器nRIS: ISR/IRR選擇選擇RR RIS1 1 讀讀ISR1 0 讀讀IRR0 x 無(wú)效無(wú)效n讀讀IRR/ISR:寫(xiě)入此:寫(xiě)入此命令后,隨后再對(duì)同命令后,隨后再對(duì)同一地址讀,即可得到一地址讀,即可得到IRR或或ISR的內(nèi)容。的內(nèi)容。62讀狀態(tài)讀狀態(tài)n8259A內(nèi)部有內(nèi)部有3個(gè)寄存器個(gè)寄存器(IRR、ISR、IMR),CPU可以讀出它們的當(dāng)前內(nèi)容。可以讀出它們的當(dāng)前內(nèi)容。n對(duì)于對(duì)于IRR和和ISR,CPU在發(fā)讀命令之前,先要指定在發(fā)讀命令之前,先要指定讀哪個(gè)寄存器,然后再發(fā)讀指令,才能讀取讀哪個(gè)寄存器,然后再發(fā)讀指令,才能讀取ISR和和IRR中的狀態(tài)信息。若讀狀態(tài)寄存器不變,就
49、不必中的狀態(tài)信息。若讀狀態(tài)寄存器不變,就不必每次都指定所要讀的寄存器。當(dāng)每次都指定所要讀的寄存器。當(dāng)8259A初始化后,初始化后,自動(dòng)指向讀自動(dòng)指向讀IRR。n對(duì)于對(duì)于IMR寄存器的讀出,不需要事先發(fā)指定命令,寄存器的讀出,不需要事先發(fā)指定命令,只要讀奇數(shù)地址端口就行。只要讀奇數(shù)地址端口就行。CS# RD# WR#A0D4D3讀操作讀操作00101xx讀出讀出IRR、ISR讀出讀出IMR63例例 通過(guò)通過(guò)OCW3命令讀取命令讀取8259A的狀態(tài)的狀態(tài)n通過(guò)通過(guò)OCW3命令指定被讀寄存器命令指定被讀寄存器nOCW3為為00001010B時(shí),表示下一個(gè)脈沖要讀時(shí),表示下一個(gè)脈沖要讀IRR寄存器的內(nèi)
50、容;寄存器的內(nèi)容;nOCW3為為00001011B時(shí),表示下一個(gè)脈沖要讀時(shí),表示下一個(gè)脈沖要讀ISR寄存器的內(nèi)容。寄存器的內(nèi)容。n用輸入指令才可讀出用輸入指令才可讀出IRR或或ISR的內(nèi)容。的內(nèi)容。BIOS中讀取中讀取ISR寄存器的程序段:寄存器的程序段:MOV AL,0BH ;OCW3表示要讀表示要讀ISROUT A0H,AL ;20H為為OCW3口地址口地址NOP ;稍微留一點(diǎn)等待時(shí)間;稍微留一點(diǎn)等待時(shí)間IN AL,A0H ;讀;讀ISR寄存器內(nèi)容寄存器內(nèi)容MOV AH,AL ;保存;保存ISRAHOR AL,AL ;是否全為;是否全為0?JNZ AW-INT ;否,不向主;否,不向主82
51、59A發(fā)發(fā)EOI64 8259A的編程命令的編程命令n 初始化命令初始化命令 計(jì)算機(jī)系統(tǒng)初始化時(shí),必須按規(guī)定的順序向計(jì)算機(jī)系統(tǒng)初始化時(shí),必須按規(guī)定的順序向8259A寫(xiě)入一系列初始化命令字。寫(xiě)入一系列初始化命令字。 對(duì)于對(duì)于16位微機(jī),位微機(jī),ICW1、ICW2和和ICW4是必須有的。是必須有的。如果系統(tǒng)中使用了多片如果系統(tǒng)中使用了多片8259A,則必須向主片與從片分,則必須向主片與從片分別寫(xiě)入別寫(xiě)入ICW3。 286以上以上PC微機(jī)的中斷系統(tǒng)有微機(jī)的中斷系統(tǒng)有15級(jí)中斷,使用兩級(jí)中斷,使用兩片片8259A,故,故4個(gè)初始化命令個(gè)初始化命令I(lǐng)CW1ICW4全部要寫(xiě)。全部要寫(xiě)。n操作命令操作命令
52、OCW不需要按順序發(fā)送,一般也不要求安排在程序不需要按順序發(fā)送,一般也不要求安排在程序開(kāi)頭,而是根據(jù)需要在程序中任意安排。開(kāi)頭,而是根據(jù)需要在程序中任意安排。65單片單片8259A系統(tǒng)的初始化編程系統(tǒng)的初始化編程nCAS2CAS0不用,不用, / 接接+5Vn端口地址端口地址020H和和021H兩個(gè)端口兩個(gè)端口n8個(gè)中斷請(qǐng)求輸入信號(hào)個(gè)中斷請(qǐng)求輸入信號(hào)IR0IR7均為邊沿觸發(fā),采用完全均為邊沿觸發(fā),采用完全嵌套方式嵌套方式n0級(jí)為最高優(yōu)先級(jí),級(jí)為最高優(yōu)先級(jí),7級(jí)為最低優(yōu)先級(jí)級(jí)為最低優(yōu)先級(jí)n中斷類型號(hào)中斷類型號(hào)08H0FHSPENIBM PC 中斷系統(tǒng)中斷系統(tǒng)82598259應(yīng)用設(shè)計(jì)應(yīng)用設(shè)計(jì)圖6-18 8259在系統(tǒng)中的連接方式D0RDWRINTRINTAA0A15A1M/IO譯碼器A0INTAINTRWRRDD7D0CSIR0IR1中斷源中斷請(qǐng)求IR78259+5VSP/EN紅線框中的地址可以是9位,用A1A9做譯碼線D7 中斷源中斷源67 8259A的編程舉例的編程舉例 系統(tǒng)上電期間,對(duì)系統(tǒng)上電期間,對(duì)8259A執(zhí)行的初始化程序段執(zhí)行的初始化程序段如下:如下:.MOV AL, 13H ;ICW1:邊沿觸發(fā)、單片、要:邊沿觸發(fā)、單片、要ICW4OUT 20H, ALMOV AL, 8 ;ICW2:中斷類型號(hào)的高:中斷類型
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 國(guó)際貿(mào)易代理基礎(chǔ)知識(shí)考核試卷
- 珠寶首飾表面處理技術(shù)考核試卷
- 玻璃制品耐候性測(cè)試與優(yōu)化考核試卷
- 稻谷種植農(nóng)業(yè)氣象服務(wù)需求與供給考核試卷
- 新材料新技術(shù)引領(lǐng)可持續(xù)發(fā)展的新方向考核試卷
- 果蔬汁飲料的企業(yè)文化與品牌建設(shè)考核試卷
- 紡織企業(yè)成本分析與控制考核試卷
- 勞務(wù)派遣企業(yè)招聘渠道分析與優(yōu)化考核試卷
- 濟(jì)南大學(xué)《模特經(jīng)紀(jì)管理》2023-2024學(xué)年第二學(xué)期期末試卷
- 江西服裝學(xué)院《嬰幼兒護(hù)理與急救》2023-2024學(xué)年第二學(xué)期期末試卷
- 水資源論證工作大綱
- 中考物理命題培訓(xùn)講座
- 生產(chǎn)安全事故風(fēng)險(xiǎn)評(píng)估報(bào)告(參考模板)
- 125萬(wàn)噸硫鐵礦斜坡道施工組織設(shè)計(jì)
- 畢業(yè)設(shè)計(jì)10層框架—剪力墻結(jié)構(gòu)體系設(shè)計(jì)計(jì)算書(shū)
- 東南大學(xué)論文模板v1.1
- 神經(jīng)系統(tǒng)體格檢查-PPT課件
- 賽英公司FOD監(jiān)測(cè)雷達(dá)系統(tǒng)
- 固體制劑車間主要過(guò)程控制點(diǎn)
- 膿毒癥的診療規(guī)范 中醫(yī)
- 關(guān)于基礎(chǔ)底板“跳倉(cāng)法”施工熱工計(jì)算
評(píng)論
0/150
提交評(píng)論