第9章輸入輸出控制技術(shù)_第1頁(yè)
第9章輸入輸出控制技術(shù)_第2頁(yè)
第9章輸入輸出控制技術(shù)_第3頁(yè)
第9章輸入輸出控制技術(shù)_第4頁(yè)
第9章輸入輸出控制技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩81頁(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ī)原理與接口技術(shù)第第9 9章章 輸入輸出控制技術(shù)輸入輸出控制技術(shù)9.1 9.1 輸入輸出接口概述輸入輸出接口概述1. CPU與外設(shè)之間的連接與外設(shè)之間的連接I/O接口接口I/O接口是位于系統(tǒng)與外設(shè)間、用來(lái)協(xié)助完成接口是位于系統(tǒng)與外設(shè)間、用來(lái)協(xié)助完成數(shù)據(jù)傳送和控制任務(wù)的邏輯電路數(shù)據(jù)傳送和控制任務(wù)的邏輯電路PC機(jī)系統(tǒng)板的可編程接口芯片、機(jī)系統(tǒng)板的可編程接口芯片、I/O總線槽的總線槽的電路板(適配器)都是接口電路電路板(適配器)都是接口電路微機(jī)原理與接口技術(shù)為什么需要為什么需要I/O接口(電路)?接口(電路)?微機(jī)的外部設(shè)備多種多樣微機(jī)的外部設(shè)備多種多樣工作原理、驅(qū)動(dòng)方式、信息格式、以及工作速工作

2、原理、驅(qū)動(dòng)方式、信息格式、以及工作速度方面彼此差別很大度方面彼此差別很大它們不能與它們不能與CPU直接相連直接相連必須經(jīng)過(guò)中間電路再與系統(tǒng)相連必須經(jīng)過(guò)中間電路再與系統(tǒng)相連這部分電路被稱為這部分電路被稱為I/O接口電路接口電路9.1 9.1 輸入輸出接口概述輸入輸出接口概述微機(jī)原理與接口技術(shù)9.1 9.1 輸入輸出接口概述輸入輸出接口概述2. 接口電路的基本結(jié)構(gòu)接口電路的基本結(jié)構(gòu)控制總線控制總線CB地址總線地址總線ABI/O接口電路接口電路數(shù)據(jù)數(shù)據(jù)控制控制狀態(tài)狀態(tài)數(shù)據(jù)總線數(shù)據(jù)總線DBCPU外設(shè)外設(shè)控制寄存器控制寄存器狀態(tài)寄存器狀態(tài)寄存器數(shù)據(jù)寄存器數(shù)據(jù)寄存器微機(jī)原理與接口技術(shù)數(shù)據(jù)信息可以有各種形式

3、:數(shù)據(jù)信息可以有各種形式:數(shù)字量數(shù)字量。大多數(shù)信息是數(shù)字信息,即二進(jìn)。大多數(shù)信息是數(shù)字信息,即二進(jìn) 制信息或者代表字符的制信息或者代表字符的ASCII碼碼開(kāi)關(guān)量開(kāi)關(guān)量。開(kāi)關(guān)量實(shí)際是數(shù)字信息,但一般只。開(kāi)關(guān)量實(shí)際是數(shù)字信息,但一般只占用一位二進(jìn)制信息,以表示開(kāi)關(guān)的打開(kāi)或占用一位二進(jìn)制信息,以表示開(kāi)關(guān)的打開(kāi)或閉合。閉合。模擬量模擬量。通過(guò)接口的模擬量,要變換為數(shù)字。通過(guò)接口的模擬量,要變換為數(shù)字量,再加到計(jì)算機(jī)。量,再加到計(jì)算機(jī)。9.1 9.1 輸入輸出接口概述輸入輸出接口概述微機(jī)原理與接口技術(shù)狀態(tài)信息主要是反映外設(shè)的工作狀態(tài)。狀態(tài)信息主要是反映外設(shè)的工作狀態(tài)。對(duì)于輸入設(shè)備對(duì)于輸入設(shè)備,可以表示它

4、是否準(zhǔn)備好數(shù)據(jù),可以表示它是否準(zhǔn)備好數(shù)據(jù),有數(shù)據(jù)已準(zhǔn)備好,才啟動(dòng)有數(shù)據(jù)已準(zhǔn)備好,才啟動(dòng)CPU一次讀入操作。一次讀入操作。對(duì)于輸出設(shè)備對(duì)于輸出設(shè)備,可以反映它是否已經(jīng)把上一個(gè),可以反映它是否已經(jīng)把上一個(gè)數(shù)據(jù)處理完,只有上一個(gè)數(shù)據(jù)處理完,才可以數(shù)據(jù)處理完,只有上一個(gè)數(shù)據(jù)處理完,才可以啟動(dòng)啟動(dòng)CPU的下一次輸出操作。的下一次輸出操作。狀態(tài)信息也可以是狀態(tài)信息也可以是CPU傳送給外部設(shè)備的,傳傳送給外部設(shè)備的,傳送送CPU的狀態(tài)。狀態(tài)信息也稱為握手信息。的狀態(tài)。狀態(tài)信息也稱為握手信息。9.1 9.1 輸入輸出接口概述輸入輸出接口概述微機(jī)原理與接口技術(shù)控制信息一般是控制信息一般是CPU通過(guò)接口電路傳送給

5、外部通過(guò)接口電路傳送給外部設(shè)備的,一般控制外部設(shè)備的動(dòng)作。這三種信設(shè)備的,一般控制外部設(shè)備的動(dòng)作。這三種信息,將都通過(guò)數(shù)據(jù)總線在息,將都通過(guò)數(shù)據(jù)總線在CPU和接口之間傳送。和接口之間傳送。從形式上看,三種信息并沒(méi)有差別,都是二進(jìn)從形式上看,三種信息并沒(méi)有差別,都是二進(jìn)制信息。如制信息。如10000000,既可以是數(shù)據(jù)信息,代,既可以是數(shù)據(jù)信息,代表十進(jìn)制數(shù)表十進(jìn)制數(shù)128,也可以是一種狀態(tài)信息,或,也可以是一種狀態(tài)信息,或一種控制信息。一種控制信息。9.1 9.1 輸入輸出接口概述輸入輸出接口概述微機(jī)原理與接口技術(shù)9.2 CPU 與外設(shè)之間數(shù)據(jù)傳送的方式與外設(shè)之間數(shù)據(jù)傳送的方式1.1.程序傳送

6、程序傳送無(wú)條件傳送和查詢傳送無(wú)條件傳送和查詢傳送2.2.中斷傳送中斷傳送3.DMA3.DMA傳送傳送微機(jī)原理與接口技術(shù)9.2 CPU 與外設(shè)之間數(shù)據(jù)傳送的方式與外設(shè)之間數(shù)據(jù)傳送的方式1. 程序傳送程序傳送(1)無(wú)條件傳送)無(wú)條件傳送對(duì)固定的外設(shè)在規(guī)定時(shí)間用IN和OUT指令來(lái)進(jìn)行信息的輸入輸出。輸入三態(tài)輸入三態(tài)輸出緩存輸出緩存微機(jī)原理與接口技術(shù)IOR三態(tài)緩沖器OEI/O裝置地址譯碼器CSD7D0A15A1A00160HMOV DX, 160HINAL, DX9.2 CPU 與外設(shè)之間數(shù)據(jù)傳送的方式與外設(shè)之間數(shù)據(jù)傳送的方式微機(jī)原理與接口技術(shù)74LS244+5V10K x 8G1 G2數(shù)據(jù)總線數(shù)據(jù)總

7、線CSRDMOV DX, 160HINAL, DX9.2 CPU 與外設(shè)之間數(shù)據(jù)傳送的方式與外設(shè)之間數(shù)據(jù)傳送的方式微機(jī)原理與接口技術(shù)地址譯碼器數(shù)據(jù)鎖存器A15A1IOWA0CS0160H輸出設(shè)備D7D0MOV DX, 160HMOV AL, BXOUT DX, AL9.2 CPU 與外設(shè)之間數(shù)據(jù)傳送的方式與外設(shè)之間數(shù)據(jù)傳送的方式微機(jī)原理與接口技術(shù)+5V74LS373300 x 8LE OE數(shù)據(jù)總線數(shù)據(jù)總線CSWRMOV DX, 160HMOV AL, BXOUT DX, AL9.2 CPU 與外設(shè)之間數(shù)據(jù)傳送的方式與外設(shè)之間數(shù)據(jù)傳送的方式微機(jī)原理與接口技術(shù)9.2 CPU 與外設(shè)之間數(shù)據(jù)傳送的方

8、式與外設(shè)之間數(shù)據(jù)傳送的方式例例9-1 一個(gè)采用同步傳送的數(shù)據(jù)采集系統(tǒng)入一個(gè)采用同步傳送的數(shù)據(jù)采集系統(tǒng)入圖圖9-4所示。所示。(1)復(fù)位。()復(fù)位。(2)延時(shí)后,采集第一個(gè)通道。)延時(shí)后,采集第一個(gè)通道。(3)將高)將高8位和低位和低8位位BCD碼存入內(nèi)存碼存入內(nèi)存(4)利用移位循環(huán)實(shí)現(xiàn))利用移位循環(huán)實(shí)現(xiàn)8個(gè)模擬量的依次采集、輸入與轉(zhuǎn)存?zhèn)€模擬量的依次采集、輸入與轉(zhuǎn)存微機(jī)原理與接口技術(shù)START: MOV DX,0100H LEA BX ,DSTOR XOR AL,ALAGIGN: MOV AL,DL OUT 20H,AL CALL NEAR DELAY1 MOV AL,DH OUT 20H,AL

9、 CALL NEAR DELAY2 IN AX ,10H MOV BX,AX INC BX INC BX RCL DH,1 JNC AGIGNDONE: 9.2 CPU 與外設(shè)之間數(shù)據(jù)傳送的方式與外設(shè)之間數(shù)據(jù)傳送的方式例:例:9-1微機(jī)原理與接口技術(shù)(2) 程序查詢傳送程序查詢傳送9.2 CPU 與外設(shè)之間數(shù)據(jù)傳送的方式與外設(shè)之間數(shù)據(jù)傳送的方式CPU需要先了解(查詢)外設(shè)的工作狀態(tài),然后需要先了解(查詢)外設(shè)的工作狀態(tài),然后在外設(shè)可以交換信息的情況下(在外設(shè)可以交換信息的情況下(就緒就緒)實(shí)現(xiàn)數(shù)據(jù))實(shí)現(xiàn)數(shù)據(jù)輸入或輸出輸入或輸出對(duì)多個(gè)外設(shè)的情況,則對(duì)多個(gè)外設(shè)的情況,則CPU按一定順序依次查詢按一

10、定順序依次查詢(輪詢)。先查詢的外設(shè)將優(yōu)先進(jìn)行數(shù)據(jù)交換(輪詢)。先查詢的外設(shè)將優(yōu)先進(jìn)行數(shù)據(jù)交換查詢傳送的特點(diǎn)是:工作可靠,適用面寬,但傳查詢傳送的特點(diǎn)是:工作可靠,適用面寬,但傳送效率低送效率低微機(jī)原理與接口技術(shù)程序查詢輸入程序查詢輸入尋址狀態(tài)口尋址狀態(tài)口讀取狀態(tài)寄存器的標(biāo)志位讀取狀態(tài)寄存器的標(biāo)志位若不就緒就繼續(xù)查詢,直至就緒若不就緒就繼續(xù)查詢,直至就緒9.2 CPU 與外設(shè)之間數(shù)據(jù)傳送的方式與外設(shè)之間數(shù)據(jù)傳送的方式微機(jī)原理與接口技術(shù)輸入狀態(tài)輸入狀態(tài)就緒?就緒?數(shù)據(jù)輸入數(shù)據(jù)輸入YNPOLL: IN AL, STATUS_PORT TEST AL, 80H JE POLL IN AL, DATA

11、_PORT 9.2 CPU 與外設(shè)之間數(shù)據(jù)傳送的方式與外設(shè)之間數(shù)據(jù)傳送的方式微機(jī)原理與接口技術(shù)9.2 CPU 與外設(shè)之間數(shù)據(jù)傳送的方式與外設(shè)之間數(shù)據(jù)傳送的方式程序查詢輸出程序查詢輸出微機(jī)原理與接口技術(shù)輸入狀態(tài)輸入狀態(tài)就緒?就緒?數(shù)據(jù)輸入數(shù)據(jù)輸入YNPOLL: IN AL, STATUS_PORT TEST AL, 80H JNE POLL MOV AL,STORE OUT DATA-PORT,AL9.2 CPU 與外設(shè)之間數(shù)據(jù)傳送的方式與外設(shè)之間數(shù)據(jù)傳送的方式微機(jī)原理與接口技術(shù)采集過(guò)程要求:采集過(guò)程要求:(1)初始化;()初始化;(2)先停止)先停止A/D轉(zhuǎn)換轉(zhuǎn)換(3)啟動(dòng))啟動(dòng)A/D轉(zhuǎn)換,查

12、輸入狀態(tài)信息轉(zhuǎn)換,查輸入狀態(tài)信息READY(4)當(dāng)輸入數(shù)據(jù)已轉(zhuǎn)換完()當(dāng)輸入數(shù)據(jù)已轉(zhuǎn)換完(REDAY=1),則經(jīng)由端口),則經(jīng)由端口3輸入至輸入至CPU的累加器的累加器 AL,并轉(zhuǎn)入內(nèi)存。,并轉(zhuǎn)入內(nèi)存。(5)設(shè)置下一個(gè)內(nèi)存單元與下一個(gè)輸入通道,循環(huán))設(shè)置下一個(gè)內(nèi)存單元與下一個(gè)輸入通道,循環(huán)8次。次。9.2 CPU 與外設(shè)之間數(shù)據(jù)傳送的方式與外設(shè)之間數(shù)據(jù)傳送的方式微機(jī)原理與接口技術(shù)START: MOV DL, 0F8H MOV AX, SEG DSTOR MOV ES, AX LEA DI,DSTORAGAIN: MOV AL, DL AND AL, 0EFH OUT 04, AL CALL D

13、ELAY MOV AL,DL OUT 04,ALPOLL: IN 02H SHR AL,1 JNC POLL IN AL, 03 STOSB INC DL CMP DL,0FFH JNE AGAIN 程序如下:程序如下:9.2 CPU 與外設(shè)之間數(shù)據(jù)傳送的方式與外設(shè)之間數(shù)據(jù)傳送的方式微機(jī)原理與接口技術(shù)例:如下圖所示,試編程實(shí)現(xiàn)將例:如下圖所示,試編程實(shí)現(xiàn)將48000H為首地為首地址的順序址的順序100個(gè)單元的數(shù)據(jù),利用查詢方式輸個(gè)單元的數(shù)據(jù),利用查詢方式輸出到外設(shè)。出到外設(shè)。 9.2 CPU 與外設(shè)之間數(shù)據(jù)傳送的方式與外設(shè)之間數(shù)據(jù)傳送的方式微機(jī)原理與接口技術(shù)START: MOV AX,4000

14、H MOV DS,AX MOV SI,8000H MOV CX,100GOON: MOV DX,00F1HWAIT: IN AL,DX AND AL,01H JZ WAIT MOV AL,SI MOV DX,00F0H OUT DX,AL INC SI LOOP GOON RET9.2 CPU 與外設(shè)之間數(shù)據(jù)傳送的方式與外設(shè)之間數(shù)據(jù)傳送的方式微機(jī)原理與接口技術(shù)2.中斷傳送中斷傳送9.2 CPU 與外設(shè)之間數(shù)據(jù)傳送的方式與外設(shè)之間數(shù)據(jù)傳送的方式斷點(diǎn)斷點(diǎn)主程序主程序中斷服務(wù)程序中斷服務(wù)程序中斷請(qǐng)求中斷請(qǐng)求對(duì)外設(shè)對(duì)外設(shè)進(jìn)行處理進(jìn)行處理繼續(xù)執(zhí)行繼續(xù)執(zhí)行返回?cái)帱c(diǎn)返回?cái)帱c(diǎn)CPU在執(zhí)行程序中,在執(zhí)行程序中,

15、被內(nèi)部或外部的事件被內(nèi)部或外部的事件所打斷,轉(zhuǎn)去執(zhí)行一所打斷,轉(zhuǎn)去執(zhí)行一段預(yù)先安排好的中斷段預(yù)先安排好的中斷服務(wù)程序;服務(wù)結(jié)束服務(wù)程序;服務(wù)結(jié)束后,又返回原來(lái)的斷后,又返回原來(lái)的斷點(diǎn),繼續(xù)執(zhí)行原來(lái)的點(diǎn),繼續(xù)執(zhí)行原來(lái)的程序程序微機(jī)原理與接口技術(shù)9.2 CPU 與外設(shè)之間數(shù)據(jù)傳送的方式與外設(shè)之間數(shù)據(jù)傳送的方式3. 直接存儲(chǔ)直接存儲(chǔ)器存取傳送器存取傳送(DMA)微機(jī)原理與接口技術(shù) CPU對(duì)對(duì)DMA控制器進(jìn)行初始化設(shè)置控制器進(jìn)行初始化設(shè)置 外設(shè)、外設(shè)、DMAC和和CPU三者通過(guò)應(yīng)答信號(hào)三者通過(guò)應(yīng)答信號(hào)建立聯(lián)系:建立聯(lián)系:CPU將總線交給將總線交給DMAC控制控制 DMA傳送傳送DMA讀存儲(chǔ)器:存儲(chǔ)器讀

16、存儲(chǔ)器:存儲(chǔ)器 外設(shè)外設(shè)DMA寫存儲(chǔ)器:存儲(chǔ)器寫存儲(chǔ)器:存儲(chǔ)器 外設(shè)外設(shè) 自動(dòng)增減地址和計(jì)數(shù),判斷傳送完成否自動(dòng)增減地址和計(jì)數(shù),判斷傳送完成否9.2 CPU 與外設(shè)之間數(shù)據(jù)傳送的方式與外設(shè)之間數(shù)據(jù)傳送的方式微機(jī)原理與接口技術(shù)HLDA發(fā)存儲(chǔ)器地址發(fā)存儲(chǔ)器地址傳送數(shù)據(jù)傳送數(shù)據(jù)傳送結(jié)束?傳送結(jié)束?DMA結(jié)束結(jié)束修改地址指針修改地址指針9.2 CPU 與外設(shè)之間數(shù)據(jù)傳送的方式與外設(shè)之間數(shù)據(jù)傳送的方式微機(jī)原理與接口技術(shù)9.3 中斷技術(shù)中斷技術(shù)中斷:中斷:CPU執(zhí)行程序時(shí),外設(shè)向執(zhí)行程序時(shí),外設(shè)向CPU發(fā)中斷請(qǐng)發(fā)中斷請(qǐng)求,求,CPU接收到中斷請(qǐng)求并在一定條件下,暫接收到中斷請(qǐng)求并在一定條件下,暫時(shí)停止執(zhí)行

17、原來(lái)的程序而轉(zhuǎn)去處理中斷,處理時(shí)停止執(zhí)行原來(lái)的程序而轉(zhuǎn)去處理中斷,處理好中斷服務(wù)再返回繼續(xù)執(zhí)行原來(lái)的程序,這一好中斷服務(wù)再返回繼續(xù)執(zhí)行原來(lái)的程序,這一過(guò)程稱為中斷。過(guò)程稱為中斷。9.3.1 中斷概述中斷概述微機(jī)原理與接口技術(shù)引起引起CPU中斷的事件中斷的事件中斷源。中斷源。例如:例如:外設(shè)外設(shè)請(qǐng)求輸入輸出數(shù)據(jù),報(bào)告故障等請(qǐng)求輸入輸出數(shù)據(jù),報(bào)告故障等事件事件掉電、硬件故障、軟件錯(cuò)誤、非法操掉電、硬件故障、軟件錯(cuò)誤、非法操作、定時(shí)時(shí)間到等作、定時(shí)時(shí)間到等中斷源分為:外部中斷、內(nèi)部中斷中斷源分為:外部中斷、內(nèi)部中斷內(nèi)部中斷:內(nèi)部中斷:CPU內(nèi)部執(zhí)行程序時(shí)自身產(chǎn)生的中斷內(nèi)部執(zhí)行程序時(shí)自身產(chǎn)生的中斷外部

18、中斷:外部中斷:CPU以外的設(shè)備、部件產(chǎn)生的中斷以外的設(shè)備、部件產(chǎn)生的中斷9.3.1 中斷概述中斷概述微機(jī)原理與接口技術(shù)中斷系統(tǒng)應(yīng)具有下列功能中斷系統(tǒng)應(yīng)具有下列功能(1)能響應(yīng)中斷、處理中斷與返回。)能響應(yīng)中斷、處理中斷與返回。(2)能實(shí)現(xiàn)優(yōu)先權(quán)排隊(duì)。)能實(shí)現(xiàn)優(yōu)先權(quán)排隊(duì)。(3)高級(jí)中斷源能中斷低級(jí)的中斷處理。)高級(jí)中斷源能中斷低級(jí)的中斷處理。9.3.1 中斷概述中斷概述微機(jī)原理與接口技術(shù)9.3.2 單個(gè)中斷源的中斷單個(gè)中斷源的中斷微機(jī)原理與接口技術(shù)9.3.2 單個(gè)中斷源的中斷單個(gè)中斷源的中斷被響應(yīng)的條件被響應(yīng)的條件無(wú)總線請(qǐng)求無(wú)總線請(qǐng)求中斷未被屏蔽中斷未被屏蔽響應(yīng)中斷的時(shí)間響應(yīng)中斷的時(shí)間IFIF

19、1 1指令執(zhí)行完畢指令執(zhí)行完畢中斷操作中斷操作發(fā)響應(yīng)信號(hào)發(fā)響應(yīng)信號(hào)關(guān)中斷關(guān)中斷保護(hù)斷點(diǎn)保護(hù)斷點(diǎn)轉(zhuǎn)入中斷服務(wù)程序轉(zhuǎn)入中斷服務(wù)程序微機(jī)原理與接口技術(shù)9.4.1 8086/8088的中斷系統(tǒng)的中斷系統(tǒng)非屏蔽中斷請(qǐng)求非屏蔽中斷請(qǐng)求INT2(0008H)可屏蔽中斷請(qǐng)求可屏蔽中斷請(qǐng)求硬件提供中斷向量中斷類硬件提供中斷向量中斷類型碼型碼32255中斷系統(tǒng)中斷系統(tǒng)NMIINTR用戶定義用戶定義軟件中斷軟件中斷INTn單步中斷單步中斷INT1斷點(diǎn)中斷斷點(diǎn)中斷INT3除法錯(cuò)誤除法錯(cuò)誤INT0溢出中斷溢出中斷指令指令I(lǐng)NT0INT4內(nèi)部軟中斷內(nèi)部軟中斷微機(jī)原理與接口技術(shù)非屏蔽中斷請(qǐng)求NMI軟件中斷軟件中斷硬件中斷硬

20、件中斷9.4.1 8086/8088的中斷系統(tǒng)的中斷系統(tǒng)微機(jī)原理與接口技術(shù)1.外部中斷 也稱硬件中斷,是由CPU的外部中斷請(qǐng)求信號(hào)觸發(fā)的一種中斷,分為不可屏蔽中斷NMI和可屏蔽中斷INTR。(1)可屏蔽中斷)可屏蔽中斷INTR CPU將根據(jù)中斷允許標(biāo)志位IF的狀態(tài)決定是否響應(yīng)。如果IF=0,CPU關(guān)中斷,將拒絕響應(yīng);如果IF=1,CPU開(kāi)中斷,允許響應(yīng)。 (2)不可屏蔽中斷)不可屏蔽中斷NMI 它不受中斷允許標(biāo)志位IF的影響,即使在關(guān)中斷(IF=0)的情況下,CPU也能在當(dāng)前指令執(zhí)行完畢后就響應(yīng)NMI上的中斷請(qǐng)求。9.4.1 8086/8088的中斷系統(tǒng)的中斷系統(tǒng)微機(jī)原理與接口技術(shù) 2、內(nèi)部中

21、斷、內(nèi)部中斷 也稱軟件中斷,是由處理器檢測(cè)到異常情況或也稱軟件中斷,是由處理器檢測(cè)到異常情況或執(zhí)行軟件中斷指令所引起的一種中斷。內(nèi)部中斷又可執(zhí)行軟件中斷指令所引起的一種中斷。內(nèi)部中斷又可分為:分為:(1)除法出錯(cuò)中斷(類型)除法出錯(cuò)中斷(類型0););(2)INTO溢出中斷(類型溢出中斷(類型4););(3)單步中斷(類型)單步中斷(類型1););(4)斷點(diǎn)中斷(類型)斷點(diǎn)中斷(類型3););(5)INT n中斷(類型中斷(類型n)。)。 9.4.1 8086/8088的中斷系統(tǒng)的中斷系統(tǒng)微機(jī)原理與接口技術(shù)3.內(nèi)部中斷的特點(diǎn):內(nèi)部中斷的特點(diǎn):(1)中斷矢量號(hào)是由CPU自動(dòng)提供的,不需要執(zhí)行中斷

22、響應(yīng)總線周期去讀取矢量號(hào)。(2)除單步中斷外,所有內(nèi)部中斷都無(wú)法禁止,即都不能通過(guò)執(zhí)行CLI指令使IF位清零來(lái)禁止對(duì)它們的響應(yīng)。(3)除單步中斷外,任何內(nèi)部中斷的優(yōu)先權(quán)都比外部中斷高。8086CPU的中斷優(yōu)先權(quán)順序?yàn)椋簝?nèi)部中斷(除法出錯(cuò)中斷、INT n指令中斷、INTO溢出中斷、斷點(diǎn)中斷)、NMI中斷、INTR中斷和單步中斷。9.4.1 8086/8088的中斷系統(tǒng)的中斷系統(tǒng)微機(jī)原理與接口技術(shù)4.中斷向量表中斷向量表 除 法 中 斷 入 口 單 步 中 斷 入 口 N M I 中 斷 入 口 斷 點(diǎn) 中 斷 入 口 溢 出 中 斷 入 口 類 型 5 中 斷 入 口 IP C S 0 0 0

23、0 H 0 0 0 4 H 0 0 0 8 H 0 0 0 C H 0 0 1 0 H 0 0 1 4 H 類 型 3 1 H 中 斷 入 口 類 型 3 2 H 中 斷 入 口 0 0 C 4 H 0 0 C 8 H 類 型 0 F F H 中 斷 入 口 0 3 F C H 圖 7 -5 8 0 8 6 中 斷 矢 量 表 示 意 圖 專 用 中 斷 備 用 中 斷 用 戶 中 斷 每種中斷都指定一個(gè)每種中斷都指定一個(gè)中斷向量號(hào),每一種中斷向量號(hào),每一種中斷向量號(hào)都與一個(gè)中斷向量號(hào)都與一個(gè)中斷服務(wù)程序相對(duì)應(yīng)。中斷服務(wù)程序相對(duì)應(yīng)。中斷服務(wù)程序的入口中斷服務(wù)程序的入口地址存放在內(nèi)存儲(chǔ)器地址存放

24、在內(nèi)存儲(chǔ)器的中斷向量表內(nèi)。的中斷向量表內(nèi)。 中斷向量表是中斷向中斷向量表是中斷向量號(hào)與它相應(yīng)的中斷量號(hào)與它相應(yīng)的中斷服務(wù)程序的轉(zhuǎn)換表。服務(wù)程序的轉(zhuǎn)換表。9.4.1 8086/8088的中斷系統(tǒng)的中斷系統(tǒng)微機(jī)原理與接口技術(shù) 中斷向量表分為三部分:中斷向量表分為三部分:(1)專用中斷:)專用中斷:類型類型0類型類型4,共有,共有5種類型。種類型。專用中斷的中斷服務(wù)程序的入口地址由系統(tǒng)負(fù)專用中斷的中斷服務(wù)程序的入口地址由系統(tǒng)負(fù)責(zé)裝入,用戶不能隨意修改。責(zé)裝入,用戶不能隨意修改。(2)備用中斷:)備用中斷:類型類型5類型類型3FH,這是,這是Intel公公司為軟、硬件開(kāi)發(fā)保留的中斷類型,一般不允司為軟

25、、硬件開(kāi)發(fā)保留的中斷類型,一般不允許用戶改作其他用途。許用戶改作其他用途。 (3)用戶中斷:)用戶中斷:類型類型40H類型類型FFH,為用戶,為用戶可用中斷,其中斷服務(wù)程序的入口地址由用戶可用中斷,其中斷服務(wù)程序的入口地址由用戶程序負(fù)責(zé)裝入。程序負(fù)責(zé)裝入。 9.4.1 8086/8088的中斷系統(tǒng)的中斷系統(tǒng)微機(jī)原理與接口技術(shù)中斷中斷中斷矢量號(hào)代碼中斷矢量號(hào)代碼 (0255) 中斷服務(wù)程序中斷服務(wù)程序 一一對(duì)應(yīng)一一對(duì)應(yīng)一一對(duì)應(yīng)一一對(duì)應(yīng)中斷矢量號(hào)中斷矢量號(hào)N中斷矢量表的地址中斷矢量表的地址中斷矢量表中斷矢量表中斷服務(wù)程序的入口中斷服務(wù)程序的入口 地址(地址(CS,IP) 49.4.1 8086/8

26、088的中斷系統(tǒng)的中斷系統(tǒng)微機(jī)原理與接口技術(shù)例例: 鍵盤中斷的矢量號(hào)為鍵盤中斷的矢量號(hào)為09H,它的中斷服務(wù)程,它的中斷服務(wù)程序入口地址為序入口地址為0BA9H:0125H,求它在中斷矢量,求它在中斷矢量表中的地址及相應(yīng)單元內(nèi)容表中的地址及相應(yīng)單元內(nèi)容 解解:鍵盤中斷對(duì)應(yīng)的中斷矢量表位于:鍵盤中斷對(duì)應(yīng)的中斷矢量表位于0000:0024H (09H4=24H)開(kāi)始的開(kāi)始的4單元單元 這這4個(gè)單元的內(nèi)容見(jiàn)表個(gè)單元的內(nèi)容見(jiàn)表:9.4.1 8086/8088的中斷系統(tǒng)的中斷系統(tǒng)微機(jī)原理與接口技術(shù)(1)直接寫入法:)直接寫入法:例例 若中斷類型號(hào)若中斷類型號(hào)n=70H,中斷服務(wù)子程序的段名是,中斷服務(wù)子

27、程序的段名是INTSUB,借助偽指令和傳送指令,將中斷服務(wù)子程,借助偽指令和傳送指令,將中斷服務(wù)子程序入口地址寫入中斷向量表。序入口地址寫入中斷向量表。VECDATA SEGMENT AT 0 ORG 70H*4LOCA_70 DW 2 DUP(?)(?)VECDATA ENDS代碼段寫入中斷向量表代碼段寫入中斷向量表ININT SEGMENT MOV LOCA_70,OFFSET INTSUBMOV LOCA_70,SEG INTSUB中斷入口地址的寫入方法中斷入口地址的寫入方法微機(jī)原理與接口技術(shù)例例 不借助偽指令,直接用指令將中斷服務(wù)子程序不借助偽指令,直接用指令將中斷服務(wù)子程序INTSU

28、B的入口地址寫入中斷向量表中,中斷類型號(hào)的入口地址寫入中斷向量表中,中斷類型號(hào)仍然為仍然為70H XOR AX,AXMOV ES,AXMOV BX ,70H*4MOV AX,OFFSET INTSUBMOV ES:BX, AXMOV AX ,SEG INTSUBMOV ES BX+2, AX中斷入口地址的寫入方法中斷入口地址的寫入方法微機(jī)原理與接口技術(shù)(2)利用利用DOS功能調(diào)用寫、讀中斷向量表。功能調(diào)用寫、讀中斷向量表。DOS功能調(diào)用功能調(diào)用25H用來(lái)寫中斷向量表。入口參數(shù)用來(lái)寫中斷向量表。入口參數(shù)是是: AL:中斷類型號(hào);DS:中斷服務(wù)程序入口的段地址;DX:中斷服務(wù)程序入口的偏移地址。D

29、OS功能調(diào)用功能調(diào)用35H用來(lái)讀中斷向量表,入口、出用來(lái)讀中斷向量表,入口、出口參數(shù)如下:口參數(shù)如下: AL:中斷類型號(hào);ES:讀出的中斷服務(wù)程序入口的段地址;BX:讀出的中斷服務(wù)程序入口的偏移地址。中斷入口地址的寫入方法中斷入口地址的寫入方法微機(jī)原理與接口技術(shù)例例: :設(shè)中斷類型號(hào)為設(shè)中斷類型號(hào)為70H70H,中斷服務(wù)程序是,中斷服務(wù)程序是INTSUBINTSUB,用用DOSDOS功能調(diào)用功能調(diào)用25H25H將中斷服務(wù)程序入口地址寫將中斷服務(wù)程序入口地址寫入中斷向量表。入中斷向量表。解:相關(guān)的程序段如下:解:相關(guān)的程序段如下:PUSHPUSHDSDSMOVMOVAX, SEG INTSUBA

30、X, SEG INTSUBMOVMOVDS, AXDS, AXLEALEADX, INTSUBDX, INTSUBMOVMOVAL, 70HAL, 70HMOVMOVAH, 25HAH, 25HINTINT21H21HPOPPOPDSDS中斷入口地址的寫入方法中斷入口地址的寫入方法微機(jī)原理與接口技術(shù)9.4.2 8086/8088CPU的中斷處理過(guò)程的中斷處理過(guò)程有有無(wú)無(wú)當(dāng)前指令執(zhí)行完畢當(dāng)前指令執(zhí)行完畢有中斷請(qǐng)求否?有中斷請(qǐng)求否?關(guān)中斷關(guān)中斷保護(hù)現(xiàn)場(chǎng)和斷點(diǎn)保護(hù)現(xiàn)場(chǎng)和斷點(diǎn)開(kāi)中斷開(kāi)中斷中斷服務(wù)中斷服務(wù)關(guān)中斷關(guān)中斷恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng)開(kāi)中斷開(kāi)中斷取下一條指令取下一條指令返回返回 CPU接收到外設(shè)的中斷請(qǐng)求

31、接收到外設(shè)的中斷請(qǐng)求信號(hào)時(shí)信號(hào)時(shí) ,若為非屏蔽中斷請(qǐng)求,若為非屏蔽中斷請(qǐng)求,則則CPU執(zhí)行完現(xiàn)行指令后,就執(zhí)行完現(xiàn)行指令后,就立即響應(yīng)中斷。若為可屏蔽中立即響應(yīng)中斷。若為可屏蔽中斷請(qǐng)求,能否響應(yīng)中斷,還取斷請(qǐng)求,能否響應(yīng)中斷,還取決于決于CPU的中斷允許觸發(fā)器的的中斷允許觸發(fā)器的狀態(tài)。只有當(dāng)其為狀態(tài)。只有當(dāng)其為“1”(即允(即允許中斷時(shí)),許中斷時(shí)),CPU才能響應(yīng)可才能響應(yīng)可屏蔽中斷:若其為屏蔽中斷:若其為“0”(即禁(即禁止中斷時(shí)),即使有可屏蔽中止中斷時(shí)),即使有可屏蔽中斷請(qǐng)求,斷請(qǐng)求,CPU也不響應(yīng)。也不響應(yīng)。CPU要響應(yīng)可屏蔽中斷請(qǐng)求,要響應(yīng)可屏蔽中斷請(qǐng)求,必須滿足以下三個(gè)條件:必須

32、滿足以下三個(gè)條件: 無(wú)總線請(qǐng)求;無(wú)總線請(qǐng)求; CPU允許中允許中斷;斷; CPU執(zhí)行完現(xiàn)行指令。執(zhí)行完現(xiàn)行指令。微機(jī)原理與接口技術(shù)微機(jī)原理與接口技術(shù)中斷處理的主要過(guò)程中斷處理的主要過(guò)程(1)保護(hù)現(xiàn)場(chǎng):)保護(hù)現(xiàn)場(chǎng):為了不破壞主程序中使用的寄存器的內(nèi)容,必須用入棧指令PUSH將有關(guān)寄存器的內(nèi)容入棧保護(hù)。 (2)開(kāi)中斷:)開(kāi)中斷:為了實(shí)現(xiàn)中斷嵌套,需要安排一條開(kāi)中斷指令,使系統(tǒng)處于開(kāi)中斷狀態(tài)。(3)中斷服務(wù):)中斷服務(wù):CPU通過(guò)執(zhí)行中斷服務(wù)程序,完成對(duì)中斷情況的處理。 9.4.2 8086/8088CPU的中斷處理過(guò)程的中斷處理過(guò)程微機(jī)原理與接口技術(shù)中斷返回時(shí),要進(jìn)行以下操作:(1)關(guān)中斷:)關(guān)中

33、斷:使現(xiàn)場(chǎng)的恢復(fù)工作不被打擾。(2)恢復(fù)現(xiàn)場(chǎng):)恢復(fù)現(xiàn)場(chǎng):在返回主程序之前要將用戶保護(hù)的寄存器內(nèi)容從堆棧中彈出,以便能正確執(zhí)行主程序?;謴?fù)現(xiàn)場(chǎng)用POP指令,要注意彈出時(shí)的順序與入棧的順序正好相反。(3)開(kāi)中斷:)開(kāi)中斷:使CPU能繼續(xù)接收中斷請(qǐng)求。 9.4.2 8086/8088CPU的中斷處理過(guò)程的中斷處理過(guò)程微機(jī)原理與接口技術(shù)9.4.3 可屏蔽中斷的全過(guò)程可屏蔽中斷的全過(guò)程微機(jī)原理與接口技術(shù)9.4.4 中斷響應(yīng)時(shí)序中斷響應(yīng)時(shí)序8086在響應(yīng)可屏蔽中斷時(shí)要進(jìn)入中斷響應(yīng)周期。中斷響應(yīng)周期需要兩個(gè)總線周期 ,共8個(gè)T狀態(tài)??善帘沃袛嗟慕涌陔娐罚谑盏降谝粋€(gè)應(yīng)答信號(hào)后,立即向CPU傳送相應(yīng)外設(shè)的

34、中斷類型號(hào)。微機(jī)原理與接口技術(shù)9.5 可編程中斷控制器可編程中斷控制器8259A12345678910111213142827262524232221201918171615WRRDCAS1D0D1D2GNDVCCCSA08259AD7D6D5D4D3CAS0CAS2SP/ENINTIR0IR1IR2IR3IR4IR5IR6IR7INTAD0WRRDCSA0INTAIRQ0INTSP/ENCAS0CAS1CAS28259A微機(jī)原理與接口技術(shù)微機(jī)原理與接口技術(shù)9.5 可編程中斷控制器可編程中斷控制器8259A微機(jī)原理與接口技術(shù)數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器:與:與DB掛接(低掛接(低8位),傳送控

35、制字位),傳送控制字狀態(tài)信息,中斷向量。有了緩沖器,可直接掛接在總狀態(tài)信息,中斷向量。有了緩沖器,可直接掛接在總線上,沒(méi)有緩沖器的設(shè)備,不能直接掛接在總線上線上,沒(méi)有緩沖器的設(shè)備,不能直接掛接在總線上讀讀/寫控制邏輯寫控制邏輯:接收:接收CPU 的讀的讀/寫控制命令和片選控寫控制命令和片選控制信息制信息 RD: 由由IN指令產(chǎn)生,實(shí)現(xiàn)讀指令產(chǎn)生,實(shí)現(xiàn)讀8259A(內(nèi)部寄存器)內(nèi)部寄存器) WR:由:由OUT指令產(chǎn)生,實(shí)現(xiàn)寫指令產(chǎn)生,實(shí)現(xiàn)寫8259A(命令字)命令字) A0:地址碼,選擇內(nèi)部控制寄存器:地址碼,選擇內(nèi)部控制寄存器 A0=0:選擇內(nèi)部偶地址:選擇內(nèi)部偶地址 A0=1:選擇內(nèi)部奇地址

36、:選擇內(nèi)部奇地址 CS:片選信號(hào),凡是掛總線上的芯片都需分配一個(gè):片選信號(hào),凡是掛總線上的芯片都需分配一個(gè)來(lái)自來(lái)自于系統(tǒng)譯碼電路的選通信號(hào)于系統(tǒng)譯碼電路的選通信號(hào)9.5 可編程中斷控制器可編程中斷控制器8259A微機(jī)原理與接口技術(shù)級(jí)聯(lián)緩沖器級(jí)聯(lián)緩沖器/比較器比較器:用于多:用于多8259A系統(tǒng),也稱緩沖方式系統(tǒng),也稱緩沖方式SP/EN:雙功能信號(hào),用于級(jí)聯(lián)控制:雙功能信號(hào),用于級(jí)聯(lián)控制緩沖方式緩沖方式時(shí),時(shí),EN=0,表示允許,表示允許8259A通過(guò)緩沖存儲(chǔ)器輸出通過(guò)緩沖存儲(chǔ)器輸出 EN=1,表示,表示CPU寫寫8259A非緩沖方式非緩沖方式時(shí),時(shí),SP表示主從關(guān)系,表示主從關(guān)系,SP=1,表

37、示主片,表示主片,SP=0表表示從片示從片中斷請(qǐng)求觸發(fā)器(中斷請(qǐng)求觸發(fā)器(IRR): 8位寄存器,用來(lái)存放由外位寄存器,用來(lái)存放由外部輸入的中斷申請(qǐng)信號(hào)部輸入的中斷申請(qǐng)信號(hào)IR0IR7 。當(dāng)某一個(gè)。當(dāng)某一個(gè)IRi端呈現(xiàn)高端呈現(xiàn)高電平時(shí),該寄存器的相應(yīng)位置電平時(shí),該寄存器的相應(yīng)位置1,顯然,最多有,顯然,最多有8個(gè)中斷個(gè)中斷請(qǐng)求信號(hào)同時(shí)進(jìn)入請(qǐng)求信號(hào)同時(shí)進(jìn)入IR0IR7端,則端,則IRR將被置全將被置全“1”。至于被置至于被置“1”的請(qǐng)求能否進(jìn)入的請(qǐng)求能否進(jìn)入IRR的下一級(jí)判優(yōu)電路還的下一級(jí)判優(yōu)電路還取決于中斷屏蔽寄存器取決于中斷屏蔽寄存器IMR中相應(yīng)位的狀態(tài)中相應(yīng)位的狀態(tài) 9.5 可編程中斷控制

38、器可編程中斷控制器8259A微機(jī)原理與接口技術(shù)中斷服務(wù)寄存器中斷服務(wù)寄存器(ISR): 8位寄存器,用來(lái)存放或記錄位寄存器,用來(lái)存放或記錄正在服務(wù)中的所有中斷請(qǐng)求(如在多重嵌套時(shí))。當(dāng)某正在服務(wù)中的所有中斷請(qǐng)求(如在多重嵌套時(shí))。當(dāng)某一級(jí)中斷請(qǐng)求被響應(yīng),則一級(jí)中斷請(qǐng)求被響應(yīng),則ISR中相應(yīng)位被置中相應(yīng)位被置“1”,CPU執(zhí)行它的中斷服務(wù)程序期間,一直保持到該級(jí)中斷處理執(zhí)行它的中斷服務(wù)程序期間,一直保持到該級(jí)中斷處理過(guò)程結(jié)束為止。在多重中斷時(shí),過(guò)程結(jié)束為止。在多重中斷時(shí),ISR中可能有多位同時(shí)中可能有多位同時(shí)被置被置“1”,ISR可同時(shí)記錄多個(gè)中斷請(qǐng)求可同時(shí)記錄多個(gè)中斷請(qǐng)求 中斷屏蔽寄存器中斷屏

39、蔽寄存器(IMR): 8位寄存器,用來(lái)存放對(duì)各級(jí)中位寄存器,用來(lái)存放對(duì)各級(jí)中斷請(qǐng)求的屏蔽信息。由斷請(qǐng)求的屏蔽信息。由CPU設(shè)置,以決定某個(gè)中斷源是設(shè)置,以決定某個(gè)中斷源是否被屏蔽,當(dāng)該寄存器中某一位置否被屏蔽,當(dāng)該寄存器中某一位置“1”時(shí),表示禁止該時(shí),表示禁止該中斷請(qǐng)求進(jìn)入系統(tǒng)。通過(guò)中斷請(qǐng)求進(jìn)入系統(tǒng)。通過(guò)IMR寄存器可實(shí)現(xiàn)對(duì)各級(jí)中斷寄存器可實(shí)現(xiàn)對(duì)各級(jí)中斷的有選擇的屏蔽的有選擇的屏蔽9.5 可編程中斷控制器可編程中斷控制器8259A微機(jī)原理與接口技術(shù)中斷優(yōu)先級(jí)排隊(duì)電路中斷優(yōu)先級(jí)排隊(duì)電路(PR):用來(lái)判別已進(jìn)入用來(lái)判別已進(jìn)入IRR中的各中中的各中斷請(qǐng)求的優(yōu)先級(jí)別。當(dāng)有多個(gè)中斷請(qǐng)求同時(shí)產(chǎn)生并經(jīng)斷請(qǐng)

40、求的優(yōu)先級(jí)別。當(dāng)有多個(gè)中斷請(qǐng)求同時(shí)產(chǎn)生并經(jīng)IMR允許進(jìn)入系統(tǒng)后,先由允許進(jìn)入系統(tǒng)后,先由PR電路判定當(dāng)前哪一個(gè)中斷請(qǐng)求具電路判定當(dāng)前哪一個(gè)中斷請(qǐng)求具有最高優(yōu)先級(jí),然后由系統(tǒng)首先響應(yīng)這一級(jí)中斷,并轉(zhuǎn)去有最高優(yōu)先級(jí),然后由系統(tǒng)首先響應(yīng)這一級(jí)中斷,并轉(zhuǎn)去執(zhí)行相應(yīng)的中斷服務(wù)程序。當(dāng)出現(xiàn)多重中斷時(shí),由執(zhí)行相應(yīng)的中斷服務(wù)程序。當(dāng)出現(xiàn)多重中斷時(shí),由PR判定判定是否允許所出現(xiàn)的新的請(qǐng)求去打斷正在處理的中斷服務(wù)而是否允許所出現(xiàn)的新的請(qǐng)求去打斷正在處理的中斷服務(wù)而被優(yōu)先處理。一般的處理原則是被優(yōu)先處理。一般的處理原則是允許高級(jí)中斷打斷低中斷允許高級(jí)中斷打斷低中斷,反之不行反之不行 控制邏輯控制邏輯:依據(jù)中斷請(qǐng)求寄

41、存器依據(jù)中斷請(qǐng)求寄存器IRR的位置情況和的位置情況和優(yōu)先級(jí)排隊(duì)電路優(yōu)先級(jí)排隊(duì)電路PR的判定結(jié)果,向的判定結(jié)果,向8259A內(nèi)部其內(nèi)部其他部件發(fā)出控制信號(hào),并向他部件發(fā)出控制信號(hào),并向CPU發(fā)出中斷請(qǐng)求信發(fā)出中斷請(qǐng)求信號(hào)號(hào)INT和接收來(lái)自和接收來(lái)自CPU的中斷響應(yīng)信號(hào)的中斷響應(yīng)信號(hào)INTA,控,控制制8259A進(jìn)入中斷服務(wù)狀態(tài)進(jìn)入中斷服務(wù)狀態(tài)9.5 可編程中斷控制器可編程中斷控制器8259A微機(jī)原理與接口技術(shù)(1)8259A接收外部中斷,接收外部中斷,IRR有有8位,對(duì)位,對(duì)IR0IR7,IRR接接收來(lái)自某一引腳的中斷請(qǐng)求后,對(duì)應(yīng)位置收來(lái)自某一引腳的中斷請(qǐng)求后,對(duì)應(yīng)位置1,鎖存請(qǐng)求,鎖存請(qǐng)求(2

42、)邏輯電路根據(jù))邏輯電路根據(jù)IMR中的對(duì)應(yīng)位是否屏蔽決定是否讓其中的對(duì)應(yīng)位是否屏蔽決定是否讓其進(jìn)入優(yōu)先級(jí)排隊(duì)電路。進(jìn)入優(yōu)先級(jí)排隊(duì)電路。IMR中對(duì)應(yīng)位為中對(duì)應(yīng)位為0,則允許進(jìn)入,則允許進(jìn)入,若對(duì)應(yīng)位為若對(duì)應(yīng)位為1,則封鎖,則封鎖(3)中斷優(yōu)先級(jí)排隊(duì)電路把新進(jìn)入的中斷請(qǐng)求和當(dāng)前正在)中斷優(yōu)先級(jí)排隊(duì)電路把新進(jìn)入的中斷請(qǐng)求和當(dāng)前正在進(jìn)行的以及排隊(duì)等待的進(jìn)行重新排隊(duì),決定最高優(yōu)先級(jí)進(jìn)行的以及排隊(duì)等待的進(jìn)行重新排隊(duì),決定最高優(yōu)先級(jí)(4)ISR寄存器存放的是當(dāng)前進(jìn)行的中斷服務(wù)的標(biāo)志,如果寄存器存放的是當(dāng)前進(jìn)行的中斷服務(wù)的標(biāo)志,如果新來(lái)的優(yōu)先級(jí)足夠高,則新來(lái)的優(yōu)先級(jí)足夠高,則8259A會(huì)通過(guò)邏輯電路使輸出端會(huì)

43、通過(guò)邏輯電路使輸出端INT向向CPU發(fā)中斷請(qǐng)求。此時(shí)若發(fā)中斷請(qǐng)求。此時(shí)若IF=1,則,則CPU在執(zhí)行完當(dāng)在執(zhí)行完當(dāng)前指令后,就可以響應(yīng)中斷前指令后,就可以響應(yīng)中斷9.5 可編程中斷控制器可編程中斷控制器8259A8259A的工作過(guò)程的工作過(guò)程微機(jī)原理與接口技術(shù)對(duì)對(duì)8086CPU而言,響應(yīng)中斷申請(qǐng)后,向而言,響應(yīng)中斷申請(qǐng)后,向8259A回回送送兩個(gè)兩個(gè)負(fù)脈沖負(fù)脈沖INTA第一個(gè)第一個(gè)INTA到達(dá)時(shí),到達(dá)時(shí),8259A做做3件事:件事: IRR鎖存功能失效,不接受任何申請(qǐng)鎖存功能失效,不接受任何申請(qǐng) 使使ISR相應(yīng)位置位,提供判優(yōu)依據(jù)相應(yīng)位置位,提供判優(yōu)依據(jù) 使使IRR清零清零第二個(gè)第二個(gè)INTA

44、到達(dá)時(shí),到達(dá)時(shí),8259A做做3件事:件事: 恢復(fù)恢復(fù)IRR功能功能 將中斷類型號(hào)送上數(shù)據(jù)總線的將中斷類型號(hào)送上數(shù)據(jù)總線的D7D0,傳給,傳給CPU 如果方式控制字(如果方式控制字(ICW4),自動(dòng)中斷結(jié)束位為,自動(dòng)中斷結(jié)束位為1,那么在第二個(gè)脈沖結(jié)束時(shí),那么在第二個(gè)脈沖結(jié)束時(shí),8259A會(huì)將第一個(gè)會(huì)將第一個(gè)INTA脈脈沖到來(lái)時(shí)設(shè)置的沖到來(lái)時(shí)設(shè)置的ISR清清09.5 可編程中斷控制器可編程中斷控制器8259A微機(jī)原理與接口技術(shù)v每片包含兩個(gè)內(nèi)部端口地址,一個(gè)偶地址端口每片包含兩個(gè)內(nèi)部端口地址,一個(gè)偶地址端口(A0=0),一個(gè)奇地址端口,一個(gè)奇地址端口(A0=1),其它高位地址碼由其它高位地址碼

45、由用戶定義,用來(lái)做用戶定義,用來(lái)做8259A的片選信號(hào)(的片選信號(hào)(CS)v8259A中中ISR、IRR及及IMR的內(nèi)容可以通過(guò)的內(nèi)容可以通過(guò)寫寫控制命控制命令字來(lái)加以改變。有兩種類型的控制命令字:令字來(lái)加以改變。有兩種類型的控制命令字:v初始化命令字初始化命令字ICW:(:(ICW1ICW4),它們必須),它們必須在初始化時(shí)寫入。并且,一旦寫入,一般在系統(tǒng)運(yùn)在初始化時(shí)寫入。并且,一旦寫入,一般在系統(tǒng)運(yùn)行過(guò)程中就不再改變行過(guò)程中就不再改變v工作方式命令字或操作命令字工作方式命令字或操作命令字OCW:(:(OCW1OCW3)它們必須在初始化命令后方能寫入。它們)它們必須在初始化命令后方能寫入。它

46、們用來(lái)對(duì)中斷處理過(guò)程作動(dòng)態(tài)控制。在一個(gè)系統(tǒng)運(yùn)行用來(lái)對(duì)中斷處理過(guò)程作動(dòng)態(tài)控制。在一個(gè)系統(tǒng)運(yùn)行過(guò)程中,操作命令字可以被多次設(shè)置過(guò)程中,操作命令字可以被多次設(shè)置9.5 .3 8259A的控制字格式的控制字格式微機(jī)原理與接口技術(shù)初始化開(kāi)始ICW1ICW2級(jí)聯(lián)方式?YICW3要ICW4?ICW4OCW1NNYOCW2初始化結(jié)束OCW3要OCW3?YNNY要OCW2?9.5 .3 8259A的控制字格式的控制字格式微機(jī)原理與接口技術(shù)(1)ICW1芯片初始化命令字芯片初始化命令字 標(biāo)記:標(biāo)記:A0=0,D4=1標(biāo)記標(biāo)記ICW1,因?yàn)椋驗(yàn)镺CW2和和OCW3也要求也要求A0=0D7D6D5D4D3D2D1D

47、01LTIMADISNGLIC4習(xí)慣上填習(xí)慣上填01-中斷請(qǐng)求電平觸發(fā)中斷請(qǐng)求電平觸發(fā)0-中斷請(qǐng)求邊沿觸發(fā)中斷請(qǐng)求邊沿觸發(fā)8086系統(tǒng)不起作用系統(tǒng)不起作用1-單片,單片,0-級(jí)聯(lián)級(jí)聯(lián)1-設(shè)置設(shè)置ICW40-不設(shè)置不設(shè)置A009.5 .3 8259A的控制字格式的控制字格式微機(jī)原理與接口技術(shù)(2)ICW2設(shè)置中斷類型碼初始化命令字,緊跟在設(shè)置中斷類型碼初始化命令字,緊跟在ICW1之后,定義之后,定義中斷類型碼的高中斷類型碼的高5位,低位,低3位由位由IRi確定確定 。 標(biāo)記:標(biāo)記:A0=1D7D6D5D4D3T7T6T5D2D1D0T4T3A10A9A8A01與用戶選擇類型碼有關(guān),與用戶選擇類型

48、碼有關(guān),選擇系統(tǒng)沒(méi)有占用的選擇系統(tǒng)沒(méi)有占用的0 0 0 IR00 0 1 IR10 1 0 IR20 1 1 IR31 0 0 IR41 0 1 IR51 1 0 IR61 1 1 IR7注注:中斷類型碼一定是連續(xù)的?。褐袛囝愋痛a一定是連續(xù)的!9.5 .3 8259A的控制字格式的控制字格式微機(jī)原理與接口技術(shù) (3) ICW3初始化命令字:初始化命令字:功能:在多片功能:在多片8259A的系統(tǒng)中,說(shuō)明主、從的系統(tǒng)中,說(shuō)明主、從8259A之間的連接關(guān)系(僅在多片之間的連接關(guān)系(僅在多片8259A系統(tǒng)中使用)。系統(tǒng)中使用)。9.5 .3 8259A的控制字格式的控制字格式微機(jī)原理與接口技術(shù) (4)

49、 ICW4初始化命令字:初始化命令字:功能:設(shè)置功能:設(shè)置8259A的中斷結(jié)束方式等。的中斷結(jié)束方式等。9.5 .3 8259A的控制字格式的控制字格式微機(jī)原理與接口技術(shù) 8259A對(duì)于對(duì)于中斷優(yōu)先權(quán)中斷優(yōu)先權(quán)的管理有兩種方式、三種的管理有兩種方式、三種具體的做法。具體的做法。(1)全嵌套方式:即固定優(yōu)先級(jí)方式,對(duì)于)全嵌套方式:即固定優(yōu)先級(jí)方式,對(duì)于8個(gè)個(gè)中斷源,從中斷源,從IR0接入的中斷源優(yōu)先級(jí)最高,從接入的中斷源優(yōu)先級(jí)最高,從IR7接入的中斷源優(yōu)先級(jí)最低。接入的中斷源優(yōu)先級(jí)最低。(2)循環(huán)優(yōu)先級(jí)方式:初始時(shí),仍然是按)循環(huán)優(yōu)先級(jí)方式:初始時(shí),仍然是按IR0的的優(yōu)先級(jí)最高,優(yōu)先級(jí)最高,I

50、R7的優(yōu)先級(jí)最低,一旦某個(gè)中斷的優(yōu)先級(jí)最低,一旦某個(gè)中斷請(qǐng)求被響應(yīng)了,這個(gè)中斷輸入對(duì)應(yīng)的優(yōu)先級(jí)就降請(qǐng)求被響應(yīng)了,這個(gè)中斷輸入對(duì)應(yīng)的優(yōu)先級(jí)就降到最低,原來(lái)比這個(gè)輸入低一級(jí)的輸入的優(yōu)先級(jí)到最低,原來(lái)比這個(gè)輸入低一級(jí)的輸入的優(yōu)先級(jí)升位最高,其余各個(gè)輸入對(duì)應(yīng)的優(yōu)先級(jí)仍然依次升位最高,其余各個(gè)輸入對(duì)應(yīng)的優(yōu)先級(jí)仍然依次排列。排列。9.5 .3 8259A的控制字格式的控制字格式微機(jī)原理與接口技術(shù)(3)特殊全嵌套)特殊全嵌套方式:特殊全嵌方式:特殊全嵌套方式在多片套方式在多片8259A級(jí)聯(lián)的時(shí)級(jí)聯(lián)的時(shí)候使用。它允許候使用。它允許同級(jí)中斷的嵌套:同級(jí)中斷的嵌套:后面到來(lái)的同級(jí)后面到來(lái)的同級(jí)中斷申請(qǐng)可以打中斷申

51、請(qǐng)可以打斷前面沒(méi)有結(jié)束斷前面沒(méi)有結(jié)束的同級(jí)中斷服務(wù)。的同級(jí)中斷服務(wù)。 從從8259A發(fā)來(lái)的新的申請(qǐng)可發(fā)來(lái)的新的申請(qǐng)可以打斷前面的中斷服務(wù)以打斷前面的中斷服務(wù)9.5 .3 8259A的控制字格式的控制字格式微機(jī)原理與接口技術(shù)中斷結(jié)束方式中斷結(jié)束方式8259A8259A有兩種清除有兩種清除ISR(ISR(中斷服務(wù)寄存器)寄存器中中斷服務(wù)寄存器)寄存器中的登記的方法,也就是有兩種中斷結(jié)束方式。的登記的方法,也就是有兩種中斷結(jié)束方式。(1 1)自動(dòng)結(jié)束中斷方式:)自動(dòng)結(jié)束中斷方式:8259A8259A在在CPUCPU發(fā)送第二個(gè)發(fā)送第二個(gè)應(yīng)答信號(hào)的后沿,自動(dòng)清除被響應(yīng)的中斷在應(yīng)答信號(hào)的后沿,自動(dòng)清除被響

52、應(yīng)的中斷在ISRISR寄寄存器中的登記。存器中的登記。(2 2)非自動(dòng)結(jié)束中斷方式:要求在中斷服務(wù)程序)非自動(dòng)結(jié)束中斷方式:要求在中斷服務(wù)程序結(jié)束前,通過(guò)指令向結(jié)束前,通過(guò)指令向8259A8259A發(fā)送一個(gè)結(jié)束中斷的命發(fā)送一個(gè)結(jié)束中斷的命令,一般就稱為令,一般就稱為EOIEOI命令(命令(8259A8259A的一種操作命令的一種操作命令字),字),8259A8259A收到這個(gè)命令后,才會(huì)清除正在服務(wù)收到這個(gè)命令后,才會(huì)清除正在服務(wù)的中斷在的中斷在ISRISR寄存器中的登記。寄存器中的登記。9.5 .3 8259A的控制字格式的控制字格式微機(jī)原理與接口技術(shù)中斷屏蔽方式中斷屏蔽方式一般屏蔽方式:通

53、過(guò)對(duì)于中斷屏蔽寄存器一般屏蔽方式:通過(guò)對(duì)于中斷屏蔽寄存器IMR的設(shè)置,可以屏蔽一些(甚至全部)的設(shè)置,可以屏蔽一些(甚至全部)中斷申請(qǐng)輸入到中斷申請(qǐng)輸入到8259A。還可以實(shí)現(xiàn)高優(yōu)先。還可以實(shí)現(xiàn)高優(yōu)先級(jí)的中斷對(duì)低優(yōu)先級(jí)中斷的屏蔽。級(jí)的中斷對(duì)低優(yōu)先級(jí)中斷的屏蔽。特殊屏蔽方式:特殊屏蔽方式:8259A還可以設(shè)置一種特殊還可以設(shè)置一種特殊屏蔽方式。在這樣的屏蔽方式中,高優(yōu)先屏蔽方式。在這樣的屏蔽方式中,高優(yōu)先級(jí)的中斷不對(duì)低級(jí)中斷產(chǎn)生屏蔽。也就是級(jí)的中斷不對(duì)低級(jí)中斷產(chǎn)生屏蔽。也就是說(shuō),各中斷源之間的優(yōu)先級(jí)關(guān)系就不考慮說(shuō),各中斷源之間的優(yōu)先級(jí)關(guān)系就不考慮了。了。 9.5 .3 8259A的控制字格式的控

54、制字格式微機(jī)原理與接口技術(shù)當(dāng)當(dāng)8259A經(jīng)預(yù)置經(jīng)預(yù)置ICWi后,已進(jìn)入初始狀態(tài),便可接后,已進(jìn)入初始狀態(tài),便可接受來(lái)自受來(lái)自IRi端的中斷請(qǐng)求,然后自動(dòng)進(jìn)入操作命令端的中斷請(qǐng)求,然后自動(dòng)進(jìn)入操作命令字狀態(tài),準(zhǔn)備接受由字狀態(tài),準(zhǔn)備接受由CPU寫入寫入8259A的操作命令字的操作命令字OCWi8259A有有3個(gè)操作命令字,即個(gè)操作命令字,即OCW1OCW3,操作,操作命令字是在應(yīng)用程序中設(shè)置的命令字是在應(yīng)用程序中設(shè)置的對(duì)對(duì)OCWi的操作,次序上沒(méi)有嚴(yán)格的要求的操作,次序上沒(méi)有嚴(yán)格的要求對(duì)端口地址有嚴(yán)格的規(guī)定,即對(duì)端口地址有嚴(yán)格的規(guī)定,即OCW1必須寫入奇地必須寫入奇地址端口,址端口,OCW2和和O

55、CW3必須寫入偶地址端口必須寫入偶地址端口9.5 .3 8259A的控制字格式的控制字格式微機(jī)原理與接口技術(shù)(1)OCW1中斷屏蔽操作命令字,標(biāo)記:中斷屏蔽操作命令字,標(biāo)記:A0=1D7D6D5D4D3M7M6M5D2D1D0M4M3M2M1M0A01Mi=1,該中斷被屏蔽,該中斷被屏蔽Mi=0,該中斷被允許,該中斷被允許9.5 .3 8259A的控制字格式的控制字格式微機(jī)原理與接口技術(shù)(2)OCW2設(shè)置優(yōu)先級(jí)循環(huán)方式和中斷結(jié)束方式的操作命令字設(shè)置優(yōu)先級(jí)循環(huán)方式和中斷結(jié)束方式的操作命令字 標(biāo)記:標(biāo)記:A0=0,D3=D4=09.5 .3 8259A的控制字格式的控制字格式微機(jī)原理與接口技術(shù)00

56、1-普通普通EOI方式方式011-特殊特殊EOI方式(方式(L20有效,指定結(jié)束的是哪一級(jí)中斷,有效,指定結(jié)束的是哪一級(jí)中斷,并清并清ISR)101-普通普通EOI循環(huán)方式循環(huán)方式111-特殊特殊EOI循環(huán)方式(循環(huán)方式(L20有效,清有效,清L20指指 定級(jí)別定級(jí)別ISR,并賦予其最低優(yōu)先級(jí))并賦予其最低優(yōu)先級(jí))000-自動(dòng)自動(dòng)EOI方式(復(fù)位,清除)方式(復(fù)位,清除)100-自動(dòng)自動(dòng)EOI方式(置位,設(shè)置)方式(置位,設(shè)置)110-置位優(yōu)先權(quán)命令,向置位優(yōu)先權(quán)命令,向8259A發(fā)置位優(yōu)先權(quán)命令,最低發(fā)置位優(yōu)先權(quán)命令,最低優(yōu)先級(jí)賦予優(yōu)先級(jí)賦予L20指定的指定的IRi,其它中斷源按循環(huán)方式分,

57、其它中斷源按循環(huán)方式分別賦給優(yōu)先級(jí)別賦給優(yōu)先級(jí)9.5 .3 8259A的控制字格式的控制字格式R SL EIO 編碼說(shuō)明編碼說(shuō)明微機(jī)原理與接口技術(shù)(3)OCW3標(biāo)記:標(biāo)記:A0=0,D3D4=01 OCW3不是不是必需的必需的D7D6D5D4D3/ CSMMSMMD2D1D001PRRRISA000X-無(wú)效無(wú)效10-特殊屏蔽方式復(fù)位特殊屏蔽方式復(fù)位11-特殊屏蔽方式置位特殊屏蔽方式置位1-查詢查詢8259A狀態(tài)狀態(tài)0-不查詢不查詢0X:無(wú)效:無(wú)效10:讀:讀IRR AL11:讀:讀ISR AL注:注: 讀讀IMR寄存器不需要設(shè)置寄存器不需要設(shè)置RR和和RIS只只需將端口設(shè)置成奇地址需將端口設(shè)置

58、成奇地址A0=1 用用IN指令,指令,IMR AL,與,與OCW3無(wú)關(guān),無(wú)關(guān),可在程序的任何位置安排可在程序的任何位置安排IN指令實(shí)現(xiàn)指令實(shí)現(xiàn)9.5 .3 8259A的控制字格式的控制字格式微機(jī)原理與接口技術(shù)8259A應(yīng)用舉例應(yīng)用舉例 例例8-5 2片片8259級(jí)聯(lián),從片的級(jí)聯(lián),從片的INT接主片的接主片的IR2。端口地址:主片端口地址:主片20H、21H,從片,從片A0H、A1H。主片和從片均采用邊沿觸發(fā)。主片和從片均采用邊沿觸發(fā)。主片采用特殊全嵌套方式,從片是一般全嵌套方式。主片采用特殊全嵌套方式,從片是一般全嵌套方式。采用非緩沖方式,主片接采用非緩沖方式,主片接+5V,從片接地。從片接地

59、。主片的中斷類型號(hào)為主片的中斷類型號(hào)為08H0FH,從片的中斷類型號(hào)為,從片的中斷類型號(hào)為70H77H。寫出主寫出主8259A和從和從8259A的初始化程序段。的初始化程序段。9.5 .3 8259A的控制字格式的控制字格式微機(jī)原理與接口技術(shù)相應(yīng)的初始化程序段如下:相應(yīng)的初始化程序段如下:ICW1A EQU 20H ;主片端口地址;主片端口地址ICW2A EQU ICW1A+1ICW3A EQU ICW2AICW4A EQU ICW2AICW1B EQU 0A0H ;從片端口地址;從片端口地址ICW2B EQU ICW1B+1ICW3B EQU ICW2BICW4B EQU ICW2B微機(jī)原理與接口技術(shù);- 主片主片8259A-MOV AL,11H ;ICW1,邊沿觸發(fā),多片,需,邊沿觸發(fā),多片,需ICW4OUT ICW1A,ALMOV AL,08H ;ICW2,中斷類型碼,中斷類型碼OUT ICW2A

溫馨提示

  • 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)論