第7章中斷系統(tǒng)_第1頁(yè)
第7章中斷系統(tǒng)_第2頁(yè)
第7章中斷系統(tǒng)_第3頁(yè)
第7章中斷系統(tǒng)_第4頁(yè)
第7章中斷系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、計(jì)算機(jī)原理講義8086 中斷結(jié)構(gòu)第7.1節(jié) 8086中斷結(jié)構(gòu)一. 硬件中斷1. 可屏蔽中斷可屏蔽中斷 輸入為輸入為INTR引腳,高電平有效,受引腳,高電平有效,受IF標(biāo)志控制標(biāo)志控制 CPU在每條指令的最后一個(gè)在每條指令的最后一個(gè)T狀態(tài)檢測(cè)該引腳,若狀態(tài)檢測(cè)該引腳,若CPU響應(yīng)中斷響應(yīng)中斷請(qǐng)求,則輸出請(qǐng)求,則輸出/INTA低電平有效,從外設(shè)讀取中斷類型碼。低電平有效,從外設(shè)讀取中斷類型碼。 中斷類型碼:中斷類型碼:用用1個(gè)字節(jié)對(duì)個(gè)字節(jié)對(duì)8086的的256個(gè)中斷類型進(jìn)行的編碼個(gè)中斷類型進(jìn)行的編碼 每個(gè)中斷類型碼對(duì)應(yīng)每個(gè)中斷類型碼對(duì)應(yīng)1種中斷類型,也對(duì)應(yīng)種中斷類型,也對(duì)應(yīng)4字節(jié)的字節(jié)的中斷服務(wù)程序

2、中斷服務(wù)程序入口地址入口地址(段地址段地址:偏移量偏移量),中斷服務(wù)程序入口地址又稱,中斷服務(wù)程序入口地址又稱中斷向量中斷向量。2. 非屏蔽中斷非屏蔽中斷 輸入為輸入為NMI引腳,上升沿有效,不受引腳,上升沿有效,不受IF控制控制 中斷類型碼為中斷類型碼為2,該中斷一般用于非常事件。,該中斷一般用于非常事件。PC/XT機(jī)中用于系機(jī)中用于系統(tǒng)板上統(tǒng)板上RAM奇偶錯(cuò),奇偶錯(cuò),I/O通道奇偶錯(cuò)和通道奇偶錯(cuò)和8087異常中斷。異常中斷。計(jì)算機(jī)原理講義8086 中斷結(jié)構(gòu)二. 軟件中斷1. 除法溢出中斷(除法溢出中斷( DIV和和IDIV)()(INT 0) 若除數(shù)為若除數(shù)為0或商超過(guò)寄存器所能表達(dá)的范圍

3、,則產(chǎn)生類型為或商超過(guò)寄存器所能表達(dá)的范圍,則產(chǎn)生類型為0的軟件中斷的軟件中斷2. 單步中斷單步中斷 (INT 1) 若若TF=1,則,則CPU每執(zhí)行完一條指令后便產(chǎn)生類型碼為每執(zhí)行完一條指令后便產(chǎn)生類型碼為1的軟件中斷的軟件中斷3. 執(zhí)行執(zhí)行 INT 指令引起的中斷指令引起的中斷 (INT n) 執(zhí)行執(zhí)行INT n指令則會(huì)引起中斷類型碼為指令則會(huì)引起中斷類型碼為n的軟件中斷的軟件中斷4. 執(zhí)行執(zhí)行 INTO 指令引起的中斷(指令引起的中斷(INT 4) 若若OF=1,則指令,則指令I(lǐng)NTO引起中斷類型碼為引起中斷類型碼為4的軟件中斷的軟件中斷三. 中斷優(yōu)先級(jí)1.軟件中斷(單步中斷除外)軟件中

4、斷(單步中斷除外) 優(yōu)先級(jí)最高優(yōu)先級(jí)最高2.NMI中斷中斷3.INTR中斷中斷4.單步中斷單步中斷 優(yōu)先級(jí)最低優(yōu)先級(jí)最低計(jì)算機(jī)原理講義中斷向量表四. 中斷向量表 8086在內(nèi)存在內(nèi)存00000H003FFH的的1KB地址空間建立了一個(gè)地址空間建立了一個(gè)中斷中斷向量表向量表,用于存放,用于存放256個(gè)中斷向量,每個(gè)向量占個(gè)中斷向量,每個(gè)向量占4個(gè)字節(jié),前兩個(gè)字節(jié)個(gè)字節(jié),前兩個(gè)字節(jié)為中斷服務(wù)程序的偏移地址為中斷服務(wù)程序的偏移地址IP,后后兩個(gè)字節(jié)為段地址兩個(gè)字節(jié)為段地址CS。因此:。因此: 中斷向量位置中斷向量位置 = 中斷類型碼中斷類型碼 4例:例:INT 21H指令調(diào)用第指令調(diào)用第21號(hào)中斷服

5、務(wù)程序,號(hào)中斷服務(wù)程序,其入口地址存放在中斷向量表中其入口地址存放在中斷向量表中84H87H的的連續(xù)連續(xù)4個(gè)字節(jié)(個(gè)字節(jié)(21H484H)偏移量低偏移量低8位位偏移量高偏移量高8位位段地址低段地址低8位位段地址高段地址高8位位87H86H85H84HIPCS類型類型255指針指針除數(shù)為除數(shù)為0 單步單步非屏蔽非屏蔽斷點(diǎn)斷點(diǎn)溢出溢出003FCH00000H00004H00008H0000CH00010HCSIP段地址段地址偏移量偏移量類型類型0類型類型1類型類型2類型類型3類型類型4中斷向量中斷向量(地址)(地址)地址地址一個(gè)中斷服務(wù)程序的入口地址稱為一個(gè)中斷服務(wù)程序的入口地址稱為中斷向量中斷向

6、量,中斷向量表就是中斷服,中斷向量表就是中斷服務(wù)程序入口地址表。務(wù)程序入口地址表。類型碼類型碼類型類型FF計(jì)算機(jī)原理講義中斷向量表 由于由于每個(gè)中斷類型碼對(duì)應(yīng)每個(gè)中斷類型碼對(duì)應(yīng)4 4個(gè)字節(jié)的程序入口地址,因個(gè)字節(jié)的程序入口地址,因此此中斷類型碼乘以中斷類型碼乘以4便可得到中斷向量表中存放中斷服務(wù)程便可得到中斷向量表中存放中斷服務(wù)程序入口地址的存儲(chǔ)單元的偏移量。序入口地址的存儲(chǔ)單元的偏移量。 256個(gè)中斷向量中個(gè)中斷向量中0 4: 專用中斷類型專用中斷類型5 1FH: 保留中斷類型保留中斷類型 20H0FFH:用戶可用中斷類型:用戶可用中斷類型其中其中 080FH是是8個(gè)硬件中斷個(gè)硬件中斷例:例

7、:INT 21H指令調(diào)用第指令調(diào)用第21號(hào)中斷服務(wù)號(hào)中斷服務(wù)程序,其入口地址存放在中斷向量表中程序,其入口地址存放在中斷向量表中84H87H的連續(xù)的連續(xù)4個(gè)字節(jié)。個(gè)字節(jié)。(21H484H)偏移量低偏移量低8位位偏移量高偏移量高8位位段地址低段地址低8位位段地址高段地址高8位位84H85H86H87HIPCS中斷向量位置中斷向量位置 = 中斷類型碼中斷類型碼 4計(jì)算機(jī)原理講義8086/8088中斷總結(jié) 8086/8088中斷總結(jié)中斷總結(jié) PC機(jī)中,由機(jī)中,由8259A管理多個(gè)可屏蔽中斷請(qǐng)求的優(yōu)先級(jí),管理多個(gè)可屏蔽中斷請(qǐng)求的優(yōu)先級(jí),IR0 IR7優(yōu)先優(yōu)先級(jí)由高到低級(jí)由高到低,中斷類型碼為,中斷類型

8、碼為08H0FH, 例:例:IR0對(duì)應(yīng)中斷類型碼對(duì)應(yīng)中斷類型碼08H中斷控制邏輯中斷控制邏輯INT 3指令指令I(lǐng)NTO指令指令單步單步中斷中斷除數(shù)為除數(shù)為0中斷中斷INT n 指令指令非屏蔽中斷非屏蔽中斷IR0IR1IR2IR3IR4IR5IR6IR78259AINTINTR可屏蔽中斷請(qǐng)求可屏蔽中斷請(qǐng)求1NMI軟件中斷軟件中斷硬件中斷硬件中斷可屏蔽可屏蔽中斷中斷可屏蔽中斷請(qǐng)求可屏蔽中斷請(qǐng)求8計(jì)算機(jī)原理講義8259級(jí)聯(lián) IBM PC/XT機(jī)中一般使用兩片機(jī)中一般使用兩片8259A級(jí)連級(jí)連8259級(jí)聯(lián)后可管理級(jí)聯(lián)后可管理15個(gè)外設(shè),只能兩級(jí)級(jí)聯(lián)個(gè)外設(shè),只能兩級(jí)級(jí)聯(lián)優(yōu)先級(jí):優(yōu)先級(jí):0 1 ( 8 1

9、5 ) 3 7 高高 低低IR0IR1IR2IR3IR4IR5IR6IR7 主片主片8259AINTRINTRCPUIR8IR9IR10IR11IR12IR13IR14IR15從片從片8259AINTR計(jì)算機(jī)原理講義8259內(nèi)部結(jié)構(gòu)第7.2節(jié) 可編程中斷控制器8259一. 8259功能及內(nèi)部結(jié)構(gòu)INTAINT數(shù)據(jù)總線數(shù)據(jù)總線 緩沖器緩沖器讀讀/寫寫控控 制制邏邏 輯輯級(jí)級(jí) 連連緩緩 沖沖比比 較較SP/EN控制電路控制電路控制邏輯控制邏輯初始化命令初始化命令 寄存器組寄存器組操作命令操作命令寄存器組寄存器組 中斷中斷 請(qǐng)求請(qǐng)求 寄存寄存 器器(IRR)IR0IR1IR2IR3IR4IR5IR6

10、IR7 中斷中斷服務(wù)服務(wù)寄存器寄存器(ISR)中斷中斷優(yōu)先優(yōu)先級(jí)分級(jí)分析器析器中斷屏蔽寄存器中斷屏蔽寄存器 (IMR)D7D0RDWRCSA0CAS1CAS2CAS0功能簡(jiǎn)介:功能簡(jiǎn)介: 具有具有8級(jí)優(yōu)先權(quán)控級(jí)優(yōu)先權(quán)控制制,通過(guò)級(jí)聯(lián)可擴(kuò)展通過(guò)級(jí)聯(lián)可擴(kuò)展至至64級(jí)級(jí) 每一級(jí)中斷都可每一級(jí)中斷都可以屏蔽和允許以屏蔽和允許 中斷申請(qǐng)可以中斷申請(qǐng)可以有有電平觸發(fā),也可電平觸發(fā),也可有有邊沿觸發(fā)邊沿觸發(fā) 級(jí)聯(lián)邏輯控制級(jí)聯(lián)邏輯控制8259A的主從工的主從工作方式作方式計(jì)算機(jī)原理講義8259內(nèi)部結(jié)構(gòu)說(shuō)明內(nèi)部結(jié)構(gòu)說(shuō)明內(nèi)部結(jié)構(gòu)說(shuō)明lIRR 中斷請(qǐng)求寄存器,保存中斷請(qǐng)求寄存器,保存 8個(gè)輸入端個(gè)輸入端IR0IR7

11、的中斷申請(qǐng)狀態(tài),輸入可的中斷申請(qǐng)狀態(tài),輸入可高電平有效,也可上升沿有效;高電平有效,也可上升沿有效;lISR 中斷服務(wù)寄存器,保存中斷服務(wù)寄存器,保存CPU正在處理的中斷請(qǐng)求;正在處理的中斷請(qǐng)求;lIMR 中斷屏蔽寄存器,對(duì)中斷申請(qǐng)進(jìn)行屏蔽控制中斷屏蔽寄存器,對(duì)中斷申請(qǐng)進(jìn)行屏蔽控制;l中斷優(yōu)先級(jí)分析器決定中斷申請(qǐng)的優(yōu)先級(jí)中斷優(yōu)先級(jí)分析器決定中斷申請(qǐng)的優(yōu)先級(jí); 把初始化命令字和操作命令字結(jié)合進(jìn)行設(shè)置,可以有四種優(yōu)先級(jí)管理方式:把初始化命令字和操作命令字結(jié)合進(jìn)行設(shè)置,可以有四種優(yōu)先級(jí)管理方式:1 1、全嵌套方式、全嵌套方式( (中斷請(qǐng)求按優(yōu)先級(jí)中斷請(qǐng)求按優(yōu)先級(jí)0-70-7進(jìn)行處理,進(jìn)行處理,0 0

12、級(jí)中斷的優(yōu)先級(jí)最高級(jí)中斷的優(yōu)先級(jí)最高) )2 2、自動(dòng)循環(huán)方式(優(yōu)先級(jí)相等。這種方式下,優(yōu)先級(jí)隊(duì)列是在變化的,一個(gè)、自動(dòng)循環(huán)方式(優(yōu)先級(jí)相等。這種方式下,優(yōu)先級(jí)隊(duì)列是在變化的,一個(gè)設(shè)備受到中斷服務(wù)后,它的優(yōu)先級(jí)自動(dòng)降為最低)設(shè)備受到中斷服務(wù)后,它的優(yōu)先級(jí)自動(dòng)降為最低)3 3、特殊循環(huán)方式(設(shè)置最低優(yōu)先級(jí))、特殊循環(huán)方式(設(shè)置最低優(yōu)先級(jí))4 4、特殊的全嵌套方式(可在級(jí)聯(lián)時(shí)使用、特殊的全嵌套方式(可在級(jí)聯(lián)時(shí)使用, ,與全嵌套方式基本相同,不過(guò)與全嵌套方式基本相同,不過(guò)允許允許同級(jí)中斷同級(jí)中斷)l控制邏輯控制邏輯初始化命令寄存器組初始化命令寄存器組:ICW1ICW4操作操作命令寄存器組命令寄存器組

13、: OCW1OCW3INT 中斷申請(qǐng)輸出,高電平有效,可連接中斷申請(qǐng)輸出,高電平有效,可連接8086 INTR引腳引腳/INTA 中斷響應(yīng)輸入,接收中斷響應(yīng)輸入,接收8086發(fā)出的中斷響應(yīng)信號(hào),有效時(shí)發(fā)出的中斷響應(yīng)信號(hào),有效時(shí)8259應(yīng)輸應(yīng)輸出中斷類型碼出中斷類型碼計(jì)算機(jī)原理講義8259內(nèi)部結(jié)構(gòu)1234567891011121314 CS WR RD D7 D6 D5 D4 D3 D2 D1 D0CAS0CAS1GNDIntel8259A2827262524232221201918171615VccA0INTAIR7IR6IR5IR4IR3IR2IR1IR0INTSP/ENCAS28259A引

14、腳圖引腳圖 內(nèi)部結(jié)構(gòu)說(shuō)明內(nèi)部結(jié)構(gòu)說(shuō)明l D7D0 雙向三態(tài)數(shù)據(jù)線,傳送數(shù)據(jù)雙向三態(tài)數(shù)據(jù)線,傳送數(shù)據(jù)l /RD 讀信號(hào),低電平有效讀信號(hào),低電平有效l /WR 寫信號(hào),低電平有效寫信號(hào),低電平有效l /CS 片選信號(hào),低有效,給片選信號(hào),低有效,給8259分配地分配地址址l A0 用于選擇用于選擇8259內(nèi)部不同的寄存器。內(nèi)部不同的寄存器。l CAS2CAS0 級(jí)聯(lián)信號(hào)線,當(dāng)級(jí)聯(lián)信號(hào)線,當(dāng)8259為主為主片時(shí)為輸出,從片時(shí)為輸入片時(shí)為輸出,從片時(shí)為輸入l SP/EN 在非緩沖工作方式時(shí),用作輸入,在非緩沖工作方式時(shí),用作輸入,決定決定8259A為主片還是從片;在緩沖工作為主片還是從片;在緩沖工作

15、方式時(shí),用作輸出,由它打開(kāi)總線緩沖器方式時(shí),用作輸出,由它打開(kāi)總線緩沖器計(jì)算機(jī)原理講義8259與計(jì)算機(jī)的連接二. 8259A與計(jì)算機(jī)的連接1. 8259A單片工作方式的接口電路單片工作方式的接口電路l 高位地址線高位地址線A15A5,通過(guò)通過(guò)74LS30(8輸入與輸入與非門)和非門)和74LS138進(jìn)行進(jìn)行部分譯碼,控制部分譯碼,控制/CS,端,端口范圍為口范圍為020H03FH,常用常用20H和和22H兩個(gè)偶端兩個(gè)偶端口口l 8259采用采用D7D0傳送數(shù)據(jù),傳送數(shù)據(jù),占用偶地址端口占用偶地址端口l 低位地址線低位地址線A1接接8259的的A0引引腳,用于選擇腳,用于選擇8259內(nèi)部寄存器內(nèi)

16、部寄存器D7D0D7D0RDWRINTINTAA0CS8259ASP/ENIR0IR1IR2IR3IR4IR5IR6IR7CAS2CAS1CAS0IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7日時(shí)鐘日時(shí)鐘(08H)鍵盤鍵盤(09H)保留保留(0AH)COM2(0BH)COM1(0CH)硬盤硬盤(0DH)軟盤軟盤(0EH)打印機(jī)打印機(jī)(0FH)+5VIORIOWINTRINTAA1A13A15A14A10A12A1174LS3074LS04A9+5VA8A7A6A5+5VCBA74LS138Y1Y0G2AG2BG1范范 圍圍A15A14A13A12A11A10A9A8A7A6A

17、5A4A3A2A1A0A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0 0 0 0 0 0 0 0 0 0 0 1 X X X X X0 0 0 0 0 0 0 0 0 0 1 X X X X X0020H0020H003FH003FH計(jì)算機(jī)原理講義兩片8259級(jí)聯(lián)管理15級(jí)中斷l(xiāng) 收到第一個(gè)收到第一個(gè)INTA時(shí),主片時(shí),主片通過(guò)通過(guò)CAS2CAS0通知有中通知有中斷申請(qǐng)的從片在第二個(gè)斷申請(qǐng)的從片在第二個(gè)INTA時(shí)送出中斷類型碼時(shí)送出中斷類型碼l 從片從片8259A的中斷申請(qǐng)端的中斷申請(qǐng)端INT接主片的接主片的IR2+5VINT8259主片主片SP/ENIR0IR1

18、IR2IR3IR4IR5IR6IR7IRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7CAS2 CAS1 CAS0D7D0CS8259從片從片SP/ENIR0IR1IR2IR3IR4IR5IR6IR7IRQ8IRQ9IRQ10IRQ11IRQ12IRQ13IRQ14IRQ15CAS2 CAS1 CAS0INT/CS220H3FHA0HBFH/CS1/INTA/RD/WRA0INTARDWRA0D7D0實(shí)時(shí)時(shí)鐘實(shí)時(shí)時(shí)鐘改向改向INT0A協(xié)處理器協(xié)處理器CSINTR/INTA/IOR/IOWA1D7D0l 8086系統(tǒng)系統(tǒng)主從芯片都用偶地主從芯片都用偶地址傳遞信息址傳遞信息l 主片的

19、主片的SP/EN接接+5V,從從片的片的SP/EN接地,主從片接地,主從片的的CAS2、CAS1、CAS0對(duì)應(yīng)對(duì)應(yīng)連接連接IRQ0 IRQ7的中的中斷類型碼:斷類型碼:08H0FHIRQ8 IRQ15的的中斷類型碼:中斷類型碼:70H77H計(jì)算機(jī)原理講義8259與計(jì)算機(jī)的連接說(shuō)明說(shuō)明從片從片8259A的中斷申請(qǐng)端的中斷申請(qǐng)端INT接主片的接主片的IRQ2主片的主片的SP/EN接接+5V,從從片的片的SP/EN接地,主從片的接地,主從片的CAS2、CAS1、CAS0對(duì)應(yīng)對(duì)應(yīng)連接。連接。主片的端口地址主片的端口地址INTA1CS為為020H03FH, 從從片的端口地址片的端口地址INTA2CS為為

20、0A0 0BFH.8086系統(tǒng)系統(tǒng)主從芯片都用偶地址傳遞信息。主從芯片都用偶地址傳遞信息。范范 圍圍A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0 0 0 0 0 0 0 0 0 0 0 1 X X X X X0 0 0 0 0 0 0 0 0 0 1 X X X X X 0020H0020H003FH003FH主芯片主芯片范范 圍圍A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A0A15A14A13A12A11A10A9A8A7A6A5A4A3A2A1A00 0

21、 0 0 0 0 0 0 1 0 1 X X X X X0 0 0 0 0 0 0 0 1 0 1 X X X X X 00A0H00A0H00BFH00BFH從芯片從芯片計(jì)算機(jī)原理講義8259初始化命令字三. 8259初始化命令字1.ICW1 (Initial Command Word)A0=0,D4=1 表示表示對(duì)對(duì)ICW1編程編程D0(IC4)D0=1需要需要ICW4;D0=0 不不需要需要ICW4D1(SNGL)D1=1為單片為單片8259工作方式;工作方式; D1=0 為級(jí)聯(lián)工作方式,此時(shí)要用為級(jí)聯(lián)工作方式,此時(shí)要用ICW3指明級(jí)聯(lián)端指明級(jí)聯(lián)端A00IC4SNGLADILTIM1A7

22、A6 A5D7D6 D5 D4 D3D2D1D0計(jì)算機(jī)原理講義8259初始化命令字D2(ADI)指明指明8080/8085系統(tǒng)中地址間距,系統(tǒng)中地址間距,8086系統(tǒng)不用系統(tǒng)不用D3(LTIM)D3=1 中斷請(qǐng)求是電平觸發(fā)方式中斷請(qǐng)求是電平觸發(fā)方式; D3=0 上升沿觸發(fā)方式。上升沿觸發(fā)方式。D5D7(A5A7)8080/8085系統(tǒng)中斷服務(wù)程序頁(yè)面地址,系統(tǒng)中斷服務(wù)程序頁(yè)面地址,8086系統(tǒng)不用系統(tǒng)不用注:初始化命令字一般在初始化注:初始化命令字一般在初始化8259時(shí)才寫入,而且寫入有嚴(yán)格的順時(shí)才寫入,而且寫入有嚴(yán)格的順序,先寫序,先寫ICW1,最后寫,最后寫ICW4初始化初始化 INTA0

23、_0 EQU 20HINTA0_1 EQU 22HMOV AL, 13H ;邊沿觸發(fā),單片邊沿觸發(fā),單片8259A,要設(shè)置要設(shè)置IC4OUT INTA0_0, AL ;ICW1A00IC4SNGLADILTIM1A7 A6 A5D7 D6 D5 D4 D3 D2D1D0ICW10 0 0 1 0 0 1 1設(shè)計(jì)設(shè)計(jì)13H計(jì)算機(jī)原理講義8259初始化命令字2.ICW2 A0=1,跟跟在在ICW1后表示對(duì)后表示對(duì)ICW2編程編程 A15A8 為為8080/8085系統(tǒng)中頁(yè)面地址高系統(tǒng)中頁(yè)面地址高8位位; T7T3 為為8086系統(tǒng)中的中斷類型碼的高系統(tǒng)中的中斷類型碼的高5位,低位,低3位位根據(jù)申請(qǐng)

24、端自動(dòng)填充。根據(jù)申請(qǐng)端自動(dòng)填充。例例 若若ICW2 = 0000 1000B ,則,則8259A的的IR3引腳對(duì)應(yīng)的中引腳對(duì)應(yīng)的中斷類型碼為斷類型碼為 0000 1011 即即0BA01D7D6D5D4D3D2 D1 D0A15/T7 A14/T6 A13/T5 A12/T4 A11/T3A10 A9 A8A01XXX T3T4T7 T6T5D7 D6 D5 D4 D3 D2 D1 D0ICW2設(shè)計(jì)設(shè)計(jì)0 0 0 0 1 0 0 0 08HMOV AL, 08H;設(shè)定設(shè)定IR0中斷類中斷類 型碼為型碼為08H OUT INTA0_1, AL ;ICW2計(jì)算機(jī)原理講義8259初始化命令字3.IC

25、W3 A0=1,且,且ICW1的的D1=0 (SNGL),跟在,跟在ICW2表示對(duì)表示對(duì)ICW3編程編程 主片主片 Si = 1表示第表示第IRi引腳上連接有從片引腳上連接有從片 從片從片 ID2ID0對(duì)應(yīng)從片的識(shí)別碼,對(duì)應(yīng)從片的識(shí)別碼,即表明從片連接到主片的第即表明從片連接到主片的第幾個(gè)輸入引腳上幾個(gè)輸入引腳上。響應(yīng)中斷時(shí)第一個(gè)。響應(yīng)中斷時(shí)第一個(gè)INTA,主片通過(guò),主片通過(guò)CAS2 CAS0送出送出識(shí)別碼通知有中斷請(qǐng)求的從片,每個(gè)從片將識(shí)別碼通知有中斷請(qǐng)求的從片,每個(gè)從片將CAS2CAS0上信號(hào)與自己內(nèi)部的識(shí)別碼上信號(hào)與自己內(nèi)部的識(shí)別碼(ID2ID0)相比較,若相比較,若相相同,則在第二個(gè)同

26、,則在第二個(gè)INTA送出中斷類型碼。送出中斷類型碼。A0D7D6D5D4D3D2D1D01S7S6S5S4S3S2S1S0A0D7D6D5D4D3D2D1D0100000ID2ID1 ID0主片主片從片從片計(jì)算機(jī)原理講義8259初始化命令字4.ICW4 A0=1,且,且ICW1的的D0=1,跟在其他初始化字后表示對(duì),跟在其他初始化字后表示對(duì)ICW4編程編程 D0( pm)D0=1為為16位處理器體系;位處理器體系;D0=0 為為80/85處理器體系處理器體系 D1(AEOI) D1=1自動(dòng)結(jié)束中斷方式,自動(dòng)結(jié)束中斷方式,在第二個(gè)在第二個(gè)/INTA清清ISR(中中斷服務(wù)寄存器斷服務(wù)寄存器)中的對(duì)

27、應(yīng)位中的對(duì)應(yīng)位; D1=0 非自動(dòng)結(jié)束中斷方式,中斷結(jié)束時(shí)發(fā)非自動(dòng)結(jié)束中斷方式,中斷結(jié)束時(shí)發(fā)EOI命令命令清清ISR中的對(duì)應(yīng)位中的對(duì)應(yīng)位A0AEOIM/SBUFD7D6D5D4D3D2D1D01000SFNM pm計(jì)算機(jī)原理講義8259初始化命令字D2(M/S)在緩沖方式下(在緩沖方式下(BUF=1),選擇主片和從片,選擇主片和從片,M/S=1為主片,為主片, M/S=0為從片。為從片。在非緩沖方式下,則在非緩沖方式下,則M/S不起作用,可為不起作用,可為1,也可為,也可為0. 由由SP/EN引引腳設(shè)定主片和從片腳設(shè)定主片和從片(接高電平為主片,接低電平為從片接高電平為主片,接低電平為從片)。

28、D3(BUF)D3=1為緩沖工作方式,為緩沖工作方式, SP/EN為為緩沖選通信號(hào)。緩沖選通信號(hào)。D3=0為非緩沖工作方式。為非緩沖工作方式。D4(SFNM)D4=1 為特殊全嵌套方式,此時(shí)允許同級(jí)中斷再次進(jìn)入,一般用于為特殊全嵌套方式,此時(shí)允許同級(jí)中斷再次進(jìn)入,一般用于多片級(jí)聯(lián)方式;多片級(jí)聯(lián)方式;D4=0 為普通全嵌套方式,禁止同級(jí)中斷再次進(jìn)入。為普通全嵌套方式,禁止同級(jí)中斷再次進(jìn)入。計(jì)算機(jī)原理講義8259操作命令字四. 8259操作命令字操作命令字可在任何時(shí)候?qū)懭氩僮髅钭挚稍谌魏螘r(shí)候?qū)懭?259A ,且無(wú)順序。,且無(wú)順序。1.OCW1 (Operation Command Word) A

29、0=1 表示設(shè)置表示設(shè)置OCW1Mi=1 表示屏蔽表示屏蔽IRi輸入中斷請(qǐng)求輸入中斷請(qǐng)求例屏蔽鍵盤例屏蔽鍵盤 IN AL, 21H OR AL, 02H OUT 21H, ALA0A0D7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D01 1M7M7M6M6M5M5M4M4M3M3M2M2M1M1M0M0計(jì)算機(jī)原理講義8259操作命令字2.OCW2 A0=0,且,且D4D3 = 00,表示對(duì),表示對(duì)OCW2編程編程 R 優(yōu)先權(quán)循環(huán)狀態(tài)優(yōu)先權(quán)循環(huán)狀態(tài)R=1優(yōu)先權(quán)自動(dòng)循環(huán)優(yōu)先權(quán)自動(dòng)循環(huán);R=0優(yōu)先權(quán)不循環(huán)優(yōu)先權(quán)不循環(huán) SL設(shè)定標(biāo)志設(shè)定標(biāo)志。SL=1由由L2、L1、L0指明中斷號(hào)或最低優(yōu)

30、先權(quán)指明中斷號(hào)或最低優(yōu)先權(quán) EOI中斷結(jié)束中斷結(jié)束命令命令標(biāo)志標(biāo)志, EOI=1,EOI=1,非自動(dòng)結(jié)束方式時(shí)清非自動(dòng)結(jié)束方式時(shí)清ISn一般一般EOI指令指令(普通結(jié)束指令普通結(jié)束指令)為為 MOV AL, 20H OUT 20H, ALA0D7D6D5D4D3D2D1D00RSLEOI00L1L0L2計(jì)算機(jī)原理講義8259操作命令字RSLEOI001普通普通EOI中斷結(jié)束命令,清除當(dāng)前的中斷響應(yīng),全嵌套方式中斷結(jié)束命令,清除當(dāng)前的中斷響應(yīng),全嵌套方式011特殊特殊EOI命令,清除由命令,清除由L2 L1 L0指示的中斷響應(yīng),全嵌套方指示的中斷響應(yīng),全嵌套方式式101普通普通EOI命令,清除當(dāng)

31、前的中斷響應(yīng),優(yōu)先級(jí)自動(dòng)循環(huán)命令,清除當(dāng)前的中斷響應(yīng),優(yōu)先級(jí)自動(dòng)循環(huán)100中斷自動(dòng)結(jié)束模式下,中斷自動(dòng)結(jié)束模式下,8259A按優(yōu)先級(jí)自動(dòng)循環(huán)方式工作按優(yōu)先級(jí)自動(dòng)循環(huán)方式工作000中斷自動(dòng)結(jié)束模式下,中斷自動(dòng)結(jié)束模式下,取消取消8259A8259A的優(yōu)先級(jí)自動(dòng)循環(huán)工作方式的優(yōu)先級(jí)自動(dòng)循環(huán)工作方式111結(jié)束由結(jié)束由L2L2L0L0指示的中斷,并使指示的中斷,并使L2L2L0L0為最低優(yōu)先級(jí)為最低優(yōu)先級(jí)110設(shè)定最低優(yōu)先級(jí)特殊循環(huán)設(shè)定最低優(yōu)先級(jí)特殊循環(huán), ,此時(shí)由此時(shí)由L2L2L0L0指出最低優(yōu)先級(jí)指出最低優(yōu)先級(jí)010無(wú)操作無(wú)操作計(jì)算機(jī)原理講義8259操作命令字3.OCW3 A0=0,且,且D4D3

32、 = 01,表示對(duì),表示對(duì)OCW3編程編程ESMM SMM 1 1 設(shè)置特殊屏蔽,無(wú)優(yōu)先級(jí),未屏蔽中斷申請(qǐng)均可進(jìn)入設(shè)置特殊屏蔽,無(wú)優(yōu)先級(jí),未屏蔽中斷申請(qǐng)均可進(jìn)入 1 0 取消特殊屏蔽取消特殊屏蔽 0 無(wú)操作無(wú)操作P=1 ,設(shè)置,設(shè)置8259A為查詢工作方式,此時(shí)為查詢工作方式,此時(shí)8259A不發(fā)不發(fā)INT信號(hào),信號(hào),CPU通過(guò)查詢指令決定服務(wù)程序。通過(guò)查詢指令決定服務(wù)程序。查詢得到格式如下表所示查詢得到格式如下表所示A0D7D6D5D4D3D2D1D000ESMM SMM01RRRISP計(jì)算機(jī)原理講義8259操作命令字I=1 表示有中斷請(qǐng)求表示有中斷請(qǐng)求W2 W1 W0為當(dāng)前最高優(yōu)先級(jí)的中斷請(qǐng)

33、求中斷號(hào)為當(dāng)前最高優(yōu)先級(jí)的中斷請(qǐng)求中斷號(hào) P=0,由,由RR和和RIS設(shè)置設(shè)置下一個(gè)讀取的寄存器下一個(gè)讀取的寄存器 RR RIS 1 0 在下一個(gè)在下一個(gè)A0 = 0端口讀端口讀IRR (中斷請(qǐng)求寄存器中斷請(qǐng)求寄存器) 1 1 在下一個(gè)在下一個(gè)A0 = 0端口讀端口讀ISR (中斷服務(wù)寄存器中斷服務(wù)寄存器) A0D7 D6D5D4 D3D2D1 D00W1 W0W2IXXXX 例:讀取例:讀取ISR到到AL中中 mov al, 0BH;OW3初始化初始化 out 20H, al; IN al, 20H隨時(shí)讀取隨時(shí)讀取IMR(中斷屏蔽寄存器中斷屏蔽寄存器)到到AL中中 IN al, 21H計(jì)算機(jī)

34、原理講義五. 8259初始化編程舉例1. IBM PC/XT機(jī)對(duì)機(jī)對(duì)單單片片8259A初始化初始化端口地址為端口地址為20H和和22H接收接收8個(gè)中斷請(qǐng)求信號(hào)為邊沿觸發(fā)個(gè)中斷請(qǐng)求信號(hào)為邊沿觸發(fā)選擇全嵌套選擇全嵌套,緩沖方式,緩沖方式,IR0為最高優(yōu)先級(jí),為最高優(yōu)先級(jí), IR7為最低優(yōu)先級(jí)為最低優(yōu)先級(jí)設(shè)定設(shè)定IR0中斷類型碼為中斷類型碼為08H注:注:8259A的地址線的地址線A0是連接到系統(tǒng)地是連接到系統(tǒng)地址總線的址總線的A1上上A0AEOIM/SBUFD7 D6 D5D4D3D2 D1 D01000SFNMupmICW4A00IC4SNGLADILTIM1A7 A6 A5D7 D6 D5 D

35、4 D3 D2D1D0ICW1A01XXX T3T4T7 T6T5D7 D6 D5 D4 D3 D2 D1 D0ICW2級(jí)聯(lián)方式?級(jí)聯(lián)方式?ICW1ICW2ICW3要要ICW4?ICW4NYYN初始化編程順序初始化編程順序是否級(jí)聯(lián)是否級(jí)聯(lián)請(qǐng)求信號(hào)格式請(qǐng)求信號(hào)格式是否用是否用ICW4設(shè)置中斷類型碼設(shè)置中斷類型碼是主片還是從片是主片還是從片主片:對(duì)應(yīng)主片:對(duì)應(yīng)IR0-IR7的情況的情況從片:低從片:低3位為位為標(biāo)識(shí)碼,其余為標(biāo)識(shí)碼,其余為0是否為特殊全是否為特殊全嵌套方式嵌套方式是否為緩沖方是否為緩沖方式式是否為自動(dòng)結(jié)是否為自動(dòng)結(jié)束中斷方式束中斷方式是否為是否為16位系位系統(tǒng)統(tǒng)0 0 0 1 0

36、0 1 1設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)設(shè)計(jì)0 0 0 0 1 0 0 0設(shè)計(jì)設(shè)計(jì)0 0 0 0 1 0 0 113H08H09H要求:要求:計(jì)算機(jī)原理講義8259初始化編程舉例初始化程序段初始化程序段INTA0_0 EQU 20HINTA0_1 EQU 22HMOV AL, 13H ;邊沿觸發(fā),單片邊沿觸發(fā),單片8259A,要設(shè)置要設(shè)置IC4OUT INTA0_0, AL ;ICW1MOV AL, 08H;設(shè)定設(shè)定IR0中斷類型碼為中斷類型碼為08H OUT INTA0_1, AL ;ICW2MOV AL, 09H;全嵌套,緩沖方式,系統(tǒng)為全嵌套,緩沖方式,系統(tǒng)為16位位OUT INTA0_1, AL ;IC

37、W4計(jì)算機(jī)原理講義8259初始化編程舉例2. 在在AT/286以上機(jī)器,使用兩片以上機(jī)器,使用兩片8259A級(jí)聯(lián)組成級(jí)聯(lián)組成15個(gè)中斷申個(gè)中斷申請(qǐng)輸入端請(qǐng)輸入端要求:要求: 端口地址主片為端口地址主片為20H和和22H,從片為,從片為A0H和和A2H。 接收上升沿觸發(fā)中斷請(qǐng)求信號(hào)。接收上升沿觸發(fā)中斷請(qǐng)求信號(hào)。 選擇全嵌套方式,優(yōu)先級(jí)排列次序?yàn)檫x擇全嵌套方式,優(yōu)先級(jí)排列次序?yàn)?級(jí)最高,依次為級(jí)最高,依次為1級(jí),級(jí),815級(jí),然后是級(jí),然后是37級(jí)。級(jí)。 采用非緩沖方式,主片采用非緩沖方式,主片SP/EN接接+5V,從片,從片SP/EN接接地地 設(shè)定主片中斷類型碼為設(shè)定主片中斷類型碼為08H0FH

38、,從片,從片為為70H77H計(jì)算機(jī)原理講義8259初始化編程舉例初始化命令字初始化命令字IC4SNGLADILTIM1XXICW111HXXXX T3T4T7T6T5ICW208H主主從從 70HS7S6S5S4S3S2S1S0主主ICW304H00000從從01002HAEOIM/SBUF000SFNMupmICW401H邊沿觸發(fā),多片邊沿觸發(fā),多片8259A,設(shè)置設(shè)置IC4設(shè)定主片設(shè)定主片IR0中斷類型碼為中斷類型碼為08H設(shè)定從片設(shè)定從片IR0中斷類型碼為中斷類型碼為70H主片主片IR2連有從片連有從片從片從片INT引腳連在主片引腳連在主片IR2引腳上引腳上主主從從主主從從 11H邊沿觸

39、發(fā),多片邊沿觸發(fā),多片8259A,設(shè)置設(shè)置IC4主主從從 01H主片全嵌套,非緩沖方式主片全嵌套,非緩沖方式從片全嵌套,非緩沖方式從片全嵌套,非緩沖方式計(jì)算機(jī)原理講義8259初始化編程舉例初始化程序段初始化程序段INTA00 EQU 20HINTA01 EQU 22HINTB00 EQU 0A0HINTB01 EQU 0A2HMOV AL, 11HOUT INTA00, AL ;主片主片ICW1MOV AL, 08HOUT INTA01, AL ;ICW2MOV AL, 04HOUT INTA01, AL ;ICW3MOV AL, 01HOUT INTA01, AL ;ICW4MOV AL,

40、11HOUT INTB00, AL ;從從ICW1MOV AL, 70HOUT INTB01, AL ;ICW2MOV AL, 02HOUT INTB01, AL ;ICW3MOV AL, 01HOUT INTB01, AL ;ICW4計(jì)算機(jī)原理講義8259初始化編程舉例 8259A在在IBM PC系列機(jī)上的應(yīng)用系列機(jī)上的應(yīng)用8259A的的IRQ0(中斷類型碼為中斷類型碼為08H)的中斷請(qǐng)求來(lái)自定時(shí)器的中斷請(qǐng)求來(lái)自定時(shí)器8253,每隔,每隔55ms產(chǎn)生一次。產(chǎn)生一次。DOS系統(tǒng)利用它來(lái)實(shí)現(xiàn)時(shí)鐘計(jì)時(shí)功能。本程序用新的系統(tǒng)利用它來(lái)實(shí)現(xiàn)時(shí)鐘計(jì)時(shí)功能。本程序用新的08H中中斷服務(wù)程序暫時(shí)替代計(jì)時(shí)程序,

41、使得每次中斷顯示一串信息,即顯示斷服務(wù)程序暫時(shí)替代計(jì)時(shí)程序,使得每次中斷顯示一串信息,即顯示“A 8259A Interrupt !”,顯示,顯示20次后,恢復(fù)中斷服務(wù)程序,返回次后,恢復(fù)中斷服務(wù)程序,返回DOS。獲得中斷向量獲得中斷向量 利用利用DOS功能調(diào)用功能調(diào)用35H號(hào)號(hào)子功能子功能入口參數(shù)入口參數(shù) AH=35H,AL=中斷中斷類型碼類型碼返回參數(shù)返回參數(shù) ES:BX 中斷服務(wù)程序入口地址中斷服務(wù)程序入口地址中斷向量安裝中斷向量安裝 利用利用DOS功能調(diào)用功能調(diào)用25H號(hào)號(hào)子功能子功能入口參數(shù)入口參數(shù) AH=25H,AL=中斷中斷類型碼類型碼 DS:DX 中斷服務(wù)程序入口地址中斷服務(wù)程序入口地址返回參數(shù):返回參數(shù): 無(wú)無(wú)DOS系統(tǒng)提供中斷信息處理功能系統(tǒng)提供中斷信息處理功能偏移量低偏移量低8位位偏移量高偏移量高8位位段地址低段地址低8位位段地址高段地址高8位位0023H0022H0021H0020HIPCSint 21H中斷向量中斷向量(類型碼類型碼08H)計(jì)算機(jī)原理講義主程序主程序保存原有保存原有08H中斷向量中斷向量設(shè)置新的設(shè)置新的08H中斷向量中斷向量開(kāi)中斷開(kāi)中斷Count = 20設(shè)置屏蔽寄存設(shè)置屏蔽寄存器,只允許器,只允許IR0中

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論