第7章 輸入輸出與中斷_第1頁
第7章 輸入輸出與中斷_第2頁
第7章 輸入輸出與中斷_第3頁
第7章 輸入輸出與中斷_第4頁
第7章 輸入輸出與中斷_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第7章章 輸入輸入/輸出與中斷輸出與中斷n7.1 I/O接口概述接口概述n7.2 CPU與外設(shè)之間的數(shù)據(jù)傳送的方式與外設(shè)之間的數(shù)據(jù)傳送的方式n7.3 中斷技術(shù)中斷技術(shù)n7.4 8086/8088中斷系統(tǒng)中斷系統(tǒng)n7.5 可編程中斷控制器可編程中斷控制器8259A7.1 I/O接口概述接口概述I/O接口接口 :指指CPU與外圍設(shè)備或外圍設(shè)備與系統(tǒng)設(shè)備之間進(jìn)行與外圍設(shè)備或外圍設(shè)備與系統(tǒng)設(shè)備之間進(jìn)行數(shù)據(jù)交換和通信的數(shù)據(jù)交換和通信的連接電路,連接電路,是是CPU與外界進(jìn)行信與外界進(jìn)行信息交換的息交換的中轉(zhuǎn)站中轉(zhuǎn)站。I/O接口技術(shù)接口技術(shù) :是研究是研究CPU如何與外設(shè)進(jìn)行如何與外設(shè)進(jìn)行最佳耦合與匹配

2、,最佳耦合與匹配,實(shí)現(xiàn)實(shí)現(xiàn)雙方高效、可靠地交換信息的一門技術(shù),是軟件、雙方高效、可靠地交換信息的一門技術(shù),是軟件、硬件結(jié)合的體現(xiàn),是微機(jī)應(yīng)用的關(guān)鍵。硬件結(jié)合的體現(xiàn),是微機(jī)應(yīng)用的關(guān)鍵。 速度匹配速度匹配 光電隔離驅(qū)動(dòng)外設(shè)光電隔離驅(qū)動(dòng)外設(shè) 信號(hào)特性匹配信號(hào)特性匹配 數(shù)據(jù)緩沖與鎖存數(shù)據(jù)緩沖與鎖存 信息格式轉(zhuǎn)換信息格式轉(zhuǎn)換 設(shè)備選擇設(shè)備選擇 中斷控制中斷控制7.1.1 I/O接口的作用接口的作用1 1、數(shù)據(jù)信息數(shù)據(jù)信息 通常包括數(shù)字量、模擬量和開關(guān)量通常包括數(shù)字量、模擬量和開關(guān)量3 3種信息種信息數(shù)字量數(shù)字量 以二進(jìn)制形式或是以以二進(jìn)制形式或是以ASCIIASCII碼表示的數(shù)或字符。碼表示的數(shù)或字符。

3、模擬量模擬量 指在計(jì)算機(jī)控制系統(tǒng)中,某些現(xiàn)場(chǎng)信息經(jīng)傳感器轉(zhuǎn)指在計(jì)算機(jī)控制系統(tǒng)中,某些現(xiàn)場(chǎng)信息經(jīng)傳感器轉(zhuǎn)換為電信號(hào),再通過放大得到模擬電壓或電流。換為電信號(hào),再通過放大得到模擬電壓或電流。開關(guān)量開關(guān)量 指只含兩種狀態(tài)的量,如開關(guān)的斷開與閉合,電路指只含兩種狀態(tài)的量,如開關(guān)的斷開與閉合,電路的通與斷等,故只需用一位二進(jìn)制數(shù)即可描述一個(gè)開關(guān)量。的通與斷等,故只需用一位二進(jìn)制數(shù)即可描述一個(gè)開關(guān)量。2 2、狀態(tài)信息、狀態(tài)信息 狀態(tài)信息作為一種狀態(tài)信息作為一種CPUCPU與與I/OI/O設(shè)備之間的接口信號(hào),主要設(shè)備之間的接口信號(hào),主要用來反映用來反映I/OI/O設(shè)備當(dāng)前的狀態(tài)。設(shè)備當(dāng)前的狀態(tài)。 3 3、控

4、制信息、控制信息 控制信息是控制信息是CPUCPU通過通過I/OI/O接口傳送給外設(shè)的,專門用來控接口傳送給外設(shè)的,專門用來控制制I/OI/O設(shè)備的操作,是向外設(shè)傳送的控制命令。設(shè)備的操作,是向外設(shè)傳送的控制命令。7.1.2 CPU CPU與外設(shè)交換的信息與外設(shè)交換的信息7.1.3 I/O I/O接口的基本結(jié)構(gòu)接口的基本結(jié)構(gòu) 數(shù)據(jù)信息、狀態(tài)信息和控制信息作為數(shù)據(jù)信息、狀態(tài)信息和控制信息作為CPUCPU與與I/OI/O設(shè)備間的接口信設(shè)備間的接口信號(hào),在接口電路中,將這號(hào),在接口電路中,將這3 3種信息分別存放在不同的寄存器中,這些種信息分別存放在不同的寄存器中,這些寄存器稱為接口電路的寄存器稱為

5、接口電路的I/OI/O端口。端口。狀態(tài)狀態(tài)端口端口數(shù)據(jù)端口數(shù)據(jù)端口(輸入輸入/輸出輸出)控制端口控制端口地址地址譯碼譯碼數(shù)據(jù)數(shù)據(jù)緩沖緩沖控制控制電路電路外外設(shè)設(shè)ABDBCBCPU數(shù)據(jù)數(shù)據(jù)狀態(tài)狀態(tài)控制控制 接口電路有接口電路有3 3種端口:數(shù)據(jù)端口,狀態(tài)端口和控制端口。種端口:數(shù)據(jù)端口,狀態(tài)端口和控制端口。 數(shù)據(jù)端口:數(shù)據(jù)端口:數(shù)據(jù)端口可分為數(shù)據(jù)輸入端口和數(shù)據(jù)輸出端數(shù)據(jù)端口可分為數(shù)據(jù)輸入端口和數(shù)據(jù)輸出端 口兩類。在輸入時(shí),由數(shù)據(jù)輸入端口保存外設(shè)發(fā)往口兩類。在輸入時(shí),由數(shù)據(jù)輸入端口保存外設(shè)發(fā)往CPUCPU或或內(nèi)存的數(shù)據(jù);在輸出時(shí),由數(shù)據(jù)輸出端口保存內(nèi)存的數(shù)據(jù);在輸出時(shí),由數(shù)據(jù)輸出端口保存CPUCP

6、U或內(nèi)存或內(nèi)存發(fā)往外設(shè)的數(shù)據(jù)。發(fā)往外設(shè)的數(shù)據(jù)。 狀態(tài)端口:狀態(tài)端口:狀態(tài)端口用來保存狀態(tài)端口用來保存I/OI/O設(shè)備或接口部件本身的設(shè)備或接口部件本身的工作狀態(tài)信息,讓微處理器了解數(shù)據(jù)傳送過程中正在發(fā)生工作狀態(tài)信息,讓微處理器了解數(shù)據(jù)傳送過程中正在發(fā)生或最近已發(fā)生的狀態(tài)。或最近已發(fā)生的狀態(tài)。 控制端口:控制端口:控制端口用來存放處理器發(fā)來的控制命令與其控制端口用來存放處理器發(fā)來的控制命令與其他信息,確定接口電路的工作方式和功能,便于控制接口他信息,確定接口電路的工作方式和功能,便于控制接口電路和電路和I/OI/O設(shè)備的動(dòng)作。設(shè)備的動(dòng)作。 CPUCPU和外部設(shè)備之間進(jìn)行數(shù)據(jù)傳輸時(shí),各類信和外部設(shè)

7、備之間進(jìn)行數(shù)據(jù)傳輸時(shí),各類信息在接口中將進(jìn)入不同的寄存器,一般稱這些寄存息在接口中將進(jìn)入不同的寄存器,一般稱這些寄存器為器為I/OI/O端口端口;每個(gè)端口分配一個(gè)地址號(hào),稱之為每個(gè)端口分配一個(gè)地址號(hào),稱之為端口地址端口地址,CPUCPU通過指令對(duì)它們進(jìn)行訪問。通過指令對(duì)它們進(jìn)行訪問。 8086CPU8086CPU最大可用地址總線的低最大可用地址總線的低1616位作為對(duì)位作為對(duì)8 8位位I/OI/O端口的尋址線,相鄰的兩個(gè)端口的尋址線,相鄰的兩個(gè)8 8位端口可以組成一位端口可以組成一個(gè)個(gè)1616位端口,所以位端口,所以8086CPU8086CPU可訪問的可訪問的8 8位位I/OI/O端口有端口有

8、64K64K個(gè),個(gè),1616位位I/OI/O端口有端口有32K32K個(gè)。個(gè)。7.1.4 I/OI/O端口的編址方式端口的編址方式一、一、I/OI/O端口與存儲(chǔ)器統(tǒng)一編址端口與存儲(chǔ)器統(tǒng)一編址n優(yōu)點(diǎn)優(yōu)點(diǎn):n不需要專門的不需要專門的I/O指令指令nI/O數(shù)據(jù)存取與存儲(chǔ)器數(shù)數(shù)據(jù)存取與存儲(chǔ)器數(shù)據(jù)存取一樣靈活據(jù)存取一樣靈活n缺點(diǎn)缺點(diǎn):nI/O端口要占去部分存儲(chǔ)端口要占去部分存儲(chǔ)器地址空間器地址空間n尋址速度比專用的尋址速度比專用的I/O指指令慢令慢內(nèi)存內(nèi)存部分部分I/O部分部分存儲(chǔ)器空間存儲(chǔ)器空間00000HFFFFFH二、二、I/OI/O端口獨(dú)立編址端口獨(dú)立編址n優(yōu)點(diǎn):優(yōu)點(diǎn):nI/O端口的地址空間端口的

9、地址空間獨(dú)立,不占用內(nèi)存獨(dú)立,不占用內(nèi)存空間空間n指令的執(zhí)行速度快指令的執(zhí)行速度快n缺點(diǎn)缺點(diǎn):nI/O指令沒有存儲(chǔ)器指令沒有存儲(chǔ)器指令豐富,指令功指令豐富,指令功能比較弱能比較弱內(nèi)存內(nèi)存空間空間I/O空間空間FFFFFH0FFFFH1、門電路地址譯碼、門電路地址譯碼(與門、非門、或門、與非門、或非門)與門、非門、或門、與非門、或非門)三、三、I/OI/O端口地址的譯碼端口地址的譯碼 D0 D7 A9 A8 A7 A6 A5 A4 A3 A2 A1 A0數(shù)數(shù) 據(jù)據(jù) 線線 DBRDWRCS。端口端口譯碼譯碼電路電路0D0D710000110000&M/IORDWR111111112、譯碼器

10、地址譯碼、譯碼器地址譯碼 常用的譯碼器有常用的譯碼器有74LS139 、 74LS138 、 74LS154等等219H21AH21BH21CH21DH21EH21FH218H74LS138A Y0B Y1C Y2 G1 Y3 Y4 G2A Y5 Y6G2B Y7 0110000100&A0A1A2M/IOA3A4A5A6A7A8A9RDWR1 0 1 0 1 0 1 01 1 0 0 1 1 0 01 1 1 1 0 0 0 074LS30與非門與非門111117.2.1 程序傳送方式程序傳送方式n無條件傳送方式無條件傳送方式 外部控制過程的各種動(dòng)作在外部控制過程的各種動(dòng)作在時(shí)間上是

11、固定的時(shí)間上是固定的,而且而且是已知的是已知的。n條件傳送方式條件傳送方式(查詢方式查詢方式) 傳送前傳送前,先查詢外設(shè)狀態(tài)先查詢外設(shè)狀態(tài),準(zhǔn)備好才傳送準(zhǔn)備好才傳送,否則否則CPU處于等待狀態(tài)。處于等待狀態(tài)。7.2 CPU與外設(shè)之間的數(shù)據(jù)傳送的方式與外設(shè)之間的數(shù)據(jù)傳送的方式1、無條件傳送方式、無條件傳送方式 輸入時(shí)外設(shè)必須已準(zhǔn)備好數(shù)據(jù),輸出時(shí)接口鎖存器必輸入時(shí)外設(shè)必須已準(zhǔn)備好數(shù)據(jù),輸出時(shí)接口鎖存器必須為空。即接口和須為空。即接口和I/OI/O設(shè)備在無條件傳送時(shí)必須要保持設(shè)備在無條件傳送時(shí)必須要保持“就緒就緒”狀態(tài)。狀態(tài)。 NY從狀態(tài)端口讀入狀態(tài)信息從狀態(tài)端口讀入狀態(tài)信息從數(shù)據(jù)端口傳送一個(gè)數(shù)據(jù)從

12、數(shù)據(jù)端口傳送一個(gè)數(shù)據(jù)外設(shè)準(zhǔn)備好否?外設(shè)準(zhǔn)備好否?2 2、條件傳送方式、條件傳送方式狀態(tài)端口狀態(tài)端口 D4=1 表示外設(shè)準(zhǔn)備好表示外設(shè)準(zhǔn)備好TEST AL,10H JZ ask MOV DX, 218HIN AL, DX MOV DX, 21CHask :IN AL, DX查詢方式輸入接口查詢方式輸入接口三三 態(tài)態(tài)緩沖器緩沖器輸輸入入設(shè)設(shè)備備數(shù)數(shù) 據(jù)據(jù) 線線218H 數(shù)據(jù)數(shù)據(jù)端口端口地址地址譯碼譯碼地址線地址線 狀態(tài)狀態(tài)端口端口地址地址譯碼譯碼鎖鎖存存器器 R Q D三三 態(tài)態(tài)緩沖器緩沖器+5vD421CH STBIORA15A0D7D0&查詢方式輸出接口查詢方式輸出接口狀態(tài)端口狀態(tài)端口

13、 D0 = 0 表示外設(shè)準(zhǔn)備好表示外設(shè)準(zhǔn)備好MOV DX, 219HOUT DX, AL MOV DX, 21CHask: IN AL, DX TEST AL,01H JNZ ask 輸輸出出設(shè)設(shè)備備數(shù)據(jù)線數(shù)據(jù)線219H地址線地址線 鎖鎖存存器器 RD D Q 三三 態(tài)態(tài)緩沖器緩沖器+5vACKIORA15A0D7D0IOW狀態(tài)狀態(tài)端口端口地址地址譯碼譯碼D021CH&數(shù)據(jù)數(shù)據(jù)端口端口地址地址譯碼譯碼輸輸出出設(shè)設(shè)備備數(shù)據(jù)線數(shù)據(jù)線219H地址線地址線 鎖鎖存存器器 RD D Q 三三 態(tài)態(tài)緩沖器緩沖器+5vACKIORA15A0D7D0IOW狀態(tài)狀態(tài)端口端口地址地址譯碼譯碼D021CH&

14、amp;數(shù)據(jù)數(shù)據(jù)端口端口地址地址譯碼譯碼條件傳送方式條件傳送方式n優(yōu)點(diǎn):優(yōu)點(diǎn): 接口簡(jiǎn)單接口簡(jiǎn)單n缺點(diǎn):缺點(diǎn): CPUCPU不斷查詢外設(shè)狀態(tài),降低了不斷查詢外設(shè)狀態(tài),降低了CPUCPU的利的利用率。用率。 為了提高為了提高CPUCPU的效率以及使系統(tǒng)具有實(shí)時(shí)的效率以及使系統(tǒng)具有實(shí)時(shí)性,通常采用性,通常采用中斷方式中斷方式傳送數(shù)據(jù)。傳送數(shù)據(jù)。7.2.2 中斷傳送方式中斷傳送方式 中斷傳送方式是指由于某些隨機(jī)事件的產(chǎn)中斷傳送方式是指由于某些隨機(jī)事件的產(chǎn)生,使生,使CPUCPU暫停當(dāng)前正在執(zhí)行的程序,而轉(zhuǎn)去處暫停當(dāng)前正在執(zhí)行的程序,而轉(zhuǎn)去處理相應(yīng)的外部事件,執(zhí)行一個(gè)為外設(shè)服務(wù)的理相應(yīng)的外部事件,執(zhí)行

15、一個(gè)為外設(shè)服務(wù)的I/OI/O程序,執(zhí)行完畢后,程序,執(zhí)行完畢后,CPUCPU返回原來程序的斷點(diǎn)處返回原來程序的斷點(diǎn)處繼續(xù)執(zhí)行。繼續(xù)執(zhí)行。 INTAINTA中斷方式輸入接口中斷方式輸入接口中中斷斷請(qǐng)請(qǐng)求求D DQ Q三三態(tài)態(tài)緩緩沖沖器器& & &中斷中斷屏蔽屏蔽觸發(fā)觸發(fā)器器Q Q端端口口 譯譯碼碼地址總線地址總線RDRDINTRINTR輸輸入入設(shè)設(shè)備備數(shù)據(jù)數(shù)據(jù) 輸入輸入鎖存器鎖存器+5V+5VD0D0D7D7中斷傳送方式中斷傳送方式n優(yōu)點(diǎn):優(yōu)點(diǎn): CPUCPU和外設(shè)大部分時(shí)間處在并行工作狀態(tài)和外設(shè)大部分時(shí)間處在并行工作狀態(tài), ,只在只在CPUCPU響應(yīng)響應(yīng)外設(shè)的中斷申請(qǐng)后

16、,進(jìn)入數(shù)據(jù)傳送的過程,提高了外設(shè)的中斷申請(qǐng)后,進(jìn)入數(shù)據(jù)傳送的過程,提高了CPUCPU的效的效率。率。n缺點(diǎn):缺點(diǎn): 利用中斷方式傳送數(shù)據(jù),為了可靠的進(jìn)行數(shù)據(jù)傳送,必利用中斷方式傳送數(shù)據(jù),為了可靠的進(jìn)行數(shù)據(jù)傳送,必須花費(fèi)一定的時(shí)間進(jìn)行斷點(diǎn)的保護(hù)和恢復(fù),現(xiàn)場(chǎng)的保護(hù)和恢須花費(fèi)一定的時(shí)間進(jìn)行斷點(diǎn)的保護(hù)和恢復(fù),現(xiàn)場(chǎng)的保護(hù)和恢復(fù)等工作,浪費(fèi)了復(fù)等工作,浪費(fèi)了CPUCPU很多時(shí)間。很多時(shí)間。 因此中斷方式一般適合傳送少量的數(shù)據(jù)及中低速外設(shè),因此中斷方式一般適合傳送少量的數(shù)據(jù)及中低速外設(shè),對(duì)于大量的輸入對(duì)于大量的輸入/ /輸出數(shù)據(jù),應(yīng)采用高速的直接存儲(chǔ)器存取輸出數(shù)據(jù),應(yīng)采用高速的直接存儲(chǔ)器存取方式方式DMAD

17、MA。DMA 傳送方式過程傳送方式過程CPUDMAC內(nèi)存內(nèi)存外設(shè)外設(shè)總線總線響應(yīng)響應(yīng)總線總線請(qǐng)求請(qǐng)求7.2.3 DMA DMA控制方式控制方式( (直接存儲(chǔ)器存取方式直接存儲(chǔ)器存取方式) )實(shí)現(xiàn)方法:實(shí)現(xiàn)方法: 1、由專用接口芯片、由專用接口芯片DMA控制器控制器 (稱稱DMAC) 控制傳控制傳 送過程;送過程; 2、當(dāng)外設(shè)需傳送數(shù)據(jù)時(shí),通過、當(dāng)外設(shè)需傳送數(shù)據(jù)時(shí),通過 DMAC向向CPU發(fā)出發(fā)出 總線請(qǐng)求;總線請(qǐng)求; 3、CPU發(fā)出總線響應(yīng)信號(hào),釋放總線;發(fā)出總線響應(yīng)信號(hào),釋放總線; 4、DMAC接管總線,控制外設(shè)、內(nèi)存之間直接數(shù)據(jù)接管總線,控制外設(shè)、內(nèi)存之間直接數(shù)據(jù) 傳送傳送; 5、DMA操

18、作結(jié)束,將總線控制權(quán)交還給操作結(jié)束,將總線控制權(quán)交還給CPU。DMADMA傳送方式傳送方式n優(yōu)點(diǎn):優(yōu)點(diǎn): 傳送速度快傳送速度快n缺點(diǎn):缺點(diǎn): 需用需用DMADMA控制器進(jìn)行控制,硬件連接也比控制器進(jìn)行控制,硬件連接也比較復(fù)雜較復(fù)雜7.2.4 接口設(shè)計(jì)實(shí)例接口設(shè)計(jì)實(shí)例例:顯示器采用例:顯示器采用7 7段段LEDLED,由,由BCD-7BCD-7段譯碼段譯碼/ /驅(qū)動(dòng)器所驅(qū)動(dòng),并驅(qū)動(dòng)器所驅(qū)動(dòng),并采用共陽極接法,假定任何時(shí)候至多只有一個(gè)開關(guān)閉合。編采用共陽極接法,假定任何時(shí)候至多只有一個(gè)開關(guān)閉合。編寫一程序段,顯示閉合開關(guān)序號(hào),若無開關(guān)閉合,則顯示器寫一程序段,顯示閉合開關(guān)序號(hào),若無開關(guān)閉合,則顯示

19、器不發(fā)光。不發(fā)光。74LS24574LS138顯示譯碼/驅(qū)動(dòng)器74LS373+5VK7K0 M/IO A5 A4 A3 A2 A1 A0 RD D7 D0 WRY0ESTB20H&111DATA SEGMENT TAB DB 10H,11H,12H,13H,14H,15H,16H,17HDATA ENDSCODE SEGMENT ASSUME CS:CODE , DS:DATASTART: MOV AX , DATA MOV DS , AX MOV BX , OFFSET TAB IN AL ,20HCOUN:SHR AL ,1 JNC NEXT MOV AL , BX OUT 20H

20、 , AL JMP EXITNEXT: INC BX JMP COUNEXIT: CODE ENDS END START7.3.1 中斷的基本概念中斷的基本概念一、中斷一、中斷 在在CPUCPU正常運(yùn)行程序時(shí),由于內(nèi)部或外部某個(gè)正常運(yùn)行程序時(shí),由于內(nèi)部或外部某個(gè)非預(yù)料事件非預(yù)料事件的發(fā)生,的發(fā)生,使使CPUCPU暫停正在運(yùn)行的程序,而轉(zhuǎn)去執(zhí)行暫停正在運(yùn)行的程序,而轉(zhuǎn)去執(zhí)行處理引起中斷事件的程序處理引起中斷事件的程序,然然后再返回被中斷了的程序,繼續(xù)執(zhí)行。這個(gè)過程就是中斷。后再返回被中斷了的程序,繼續(xù)執(zhí)行。這個(gè)過程就是中斷。 早期早期中斷概念的引入,是為解決中斷概念的引入,是為解決CPUCPU與

21、外設(shè)間的速度匹配問題,提與外設(shè)間的速度匹配問題,提高高CPU CPU 的工作效率。的工作效率。中斷源主要是由外部硬件產(chǎn)生。中斷源主要是由外部硬件產(chǎn)生。當(dāng)今的中斷技當(dāng)今的中斷技術(shù),不再限于外部硬件產(chǎn)生中斷術(shù),不再限于外部硬件產(chǎn)生中斷( (稱稱硬件中斷硬件中斷或或外中斷外中斷 ) ),還可由,還可由CPUCPU內(nèi)部產(chǎn)生。內(nèi)部產(chǎn)生。 7.3 中斷技術(shù)中斷技術(shù)二、中斷處理過程(外中斷)二、中斷處理過程(外中斷) 1)中斷請(qǐng)求)中斷請(qǐng)求 2)中斷判優(yōu))中斷判優(yōu) 3)中斷響應(yīng))中斷響應(yīng) 響應(yīng)條件:響應(yīng)條件: 無總線請(qǐng)求和非屏蔽中斷請(qǐng)求無總線請(qǐng)求和非屏蔽中斷請(qǐng)求; ; 中斷允許控制位中斷允許控制位IF=1;

22、IF=1; CPU CPU執(zhí)行完當(dāng)前指令執(zhí)行完當(dāng)前指令; ; 當(dāng)前中斷級(jí)別最高。當(dāng)前中斷級(jí)別最高。 響應(yīng)時(shí)自動(dòng)完成以下工作響應(yīng)時(shí)自動(dòng)完成以下工作: : 發(fā)送兩個(gè)發(fā)送兩個(gè)INTAINTA負(fù)脈沖,取中斷類型號(hào)負(fù)脈沖,取中斷類型號(hào)N N; 將將FLAGSFLAGS入棧,關(guān)中斷,即入棧,關(guān)中斷,即IF=0IF=0、TF=0TF=0; 保護(hù)斷點(diǎn),將保護(hù)斷點(diǎn),將CSCS、IPIP入棧;入棧; 根據(jù)中斷類型號(hào)根據(jù)中斷類型號(hào)N N取得中斷向量送入取得中斷向量送入IPIP、CSCS; 進(jìn)入中斷服務(wù)子程序。進(jìn)入中斷服務(wù)子程序。 4)中斷處理)中斷處理 保護(hù)現(xiàn)場(chǎng);保護(hù)現(xiàn)場(chǎng); 開中斷,以允許嵌套,也可不開中斷;開中斷

23、,以允許嵌套,也可不開中斷; 中斷服務(wù);中斷服務(wù); 關(guān)中斷,保證無干擾恢復(fù)現(xiàn)場(chǎng);關(guān)中斷,保證無干擾恢復(fù)現(xiàn)場(chǎng); 恢復(fù)現(xiàn)場(chǎng)?;謴?fù)現(xiàn)場(chǎng)。 5)中斷返回)中斷返回 開中斷;開中斷; 中斷返回。中斷返回。1、中斷優(yōu)先級(jí)的識(shí)別、中斷優(yōu)先級(jí)的識(shí)別 當(dāng)有多個(gè)中斷源同時(shí)提出中斷申請(qǐng)時(shí),究竟應(yīng)該先響應(yīng)當(dāng)有多個(gè)中斷源同時(shí)提出中斷申請(qǐng)時(shí),究竟應(yīng)該先響應(yīng)哪個(gè)中斷源的申請(qǐng);當(dāng)哪個(gè)中斷源的申請(qǐng);當(dāng)CPU正在執(zhí)行中斷服務(wù)程序時(shí),又接正在執(zhí)行中斷服務(wù)程序時(shí),又接收到新的中斷申請(qǐng),是否應(yīng)該響應(yīng)這個(gè)中斷請(qǐng)求,這些問題收到新的中斷申請(qǐng),是否應(yīng)該響應(yīng)這個(gè)中斷請(qǐng)求,這些問題都應(yīng)當(dāng)通過設(shè)置與判斷中斷的優(yōu)先級(jí)來得以解決。都應(yīng)當(dāng)通過設(shè)置與判斷

24、中斷的優(yōu)先級(jí)來得以解決。 1)軟件查詢法)軟件查詢法 2)硬件處理法)硬件處理法 2、中斷嵌套、中斷嵌套 指當(dāng)指當(dāng)CPU因響應(yīng)某一中斷源的中斷請(qǐng)求而正在執(zhí)行其中因響應(yīng)某一中斷源的中斷請(qǐng)求而正在執(zhí)行其中斷服務(wù)程序時(shí),若此時(shí)中斷是開放的,那必然可以把正在執(zhí)斷服務(wù)程序時(shí),若此時(shí)中斷是開放的,那必然可以把正在執(zhí)行的中斷服務(wù)程序暫停下來轉(zhuǎn)而響應(yīng)和處理中斷優(yōu)先級(jí)更高行的中斷服務(wù)程序暫停下來轉(zhuǎn)而響應(yīng)和處理中斷優(yōu)先級(jí)更高的中斷請(qǐng)求,等到處理完后再轉(zhuǎn)回來繼續(xù)執(zhí)行原來的中斷服的中斷請(qǐng)求,等到處理完后再轉(zhuǎn)回來繼續(xù)執(zhí)行原來的中斷服務(wù)程序。務(wù)程序。 7.3.2 中斷優(yōu)先級(jí)和中斷的嵌套中斷優(yōu)先級(jí)和中斷的嵌套 從從8086

25、/8088到以上系統(tǒng)中,可以處理到以上系統(tǒng)中,可以處理256個(gè)不同類型個(gè)不同類型的中斷,其編號(hào)從的中斷,其編號(hào)從00H0FFH,稱為,稱為中斷類型號(hào)中斷類型號(hào)。 內(nèi)部中斷:內(nèi)部中斷: 除法出錯(cuò)除法出錯(cuò) 類型號(hào)類型號(hào)0 自動(dòng)產(chǎn)生自動(dòng)產(chǎn)生 單步中斷單步中斷 類型號(hào)類型號(hào)1 DEBUG執(zhí)行執(zhí)行T命令命令 斷點(diǎn)中斷斷點(diǎn)中斷 類型號(hào)類型號(hào)3 DEBUG執(zhí)行執(zhí)行G命令命令 溢出中斷溢出中斷 類型號(hào)類型號(hào)4 執(zhí)行執(zhí)行INTO INT n 類型號(hào)類型號(hào)n (05H 0FFH)7.4 8086/8088中斷系統(tǒng)中斷系統(tǒng)7.4.1 8086/80888086/8088中斷源類型中斷源類型外部中斷外部中斷: :不可

26、屏蔽中斷不可屏蔽中斷 類型號(hào)類型號(hào)2 2 自動(dòng)產(chǎn)生自動(dòng)產(chǎn)生可屏蔽中斷可屏蔽中斷 類型號(hào)類型號(hào)(32 (32 255) 255) 由由82598259管理管理中斷邏輯中斷邏輯INT nINT n指令指令I(lǐng)NTOINTO指令指令除法除法錯(cuò)誤錯(cuò)誤單步單步斷點(diǎn)斷點(diǎn)非屏蔽中斷請(qǐng)求非屏蔽中斷請(qǐng)求n n4 40 01 1CPUCPUINTRINTRNMINMIIRIR0 0IRIR6 6IRIR5 5IRIR4 4IRIR3 3IRIR2 2IRIR1 1IRIR7 7可編程可編程中中 斷斷控制器控制器(PIC)(PIC)8259A8259AINTINT2 23 3 當(dāng)有多個(gè)中斷源同時(shí)產(chǎn)生中斷申請(qǐng)時(shí),當(dāng)有多

27、個(gè)中斷源同時(shí)產(chǎn)生中斷申請(qǐng)時(shí),CPU先響應(yīng)先響應(yīng)優(yōu)先權(quán)最高的中斷源,再響應(yīng)優(yōu)先級(jí)較低的中斷源。優(yōu)先權(quán)最高的中斷源,再響應(yīng)優(yōu)先級(jí)較低的中斷源。 8086/8088 8086/8088中斷源的優(yōu)先級(jí)中斷源的優(yōu)先級(jí)優(yōu)先級(jí)優(yōu)先級(jí) 高高 低低內(nèi)部中斷內(nèi)部中斷 ( 除法出錯(cuò)除法出錯(cuò),INT 指令指令,斷點(diǎn)斷點(diǎn),INTO指令指令 ) 非屏蔽中斷非屏蔽中斷 可屏蔽中斷可屏蔽中斷低低 內(nèi)部中斷內(nèi)部中斷( 單步單步 ) 7.4.2 中斷向量表中斷向量表0000H:0000H0000H:0003H0000H:0004H0000H:0007H0000H:0008H0000H:000BH0000H:000CH0000H:

28、000FH0000H:0010H0000H:0013H0000H:0014H0000H:0017H0000H:007CH0000H:007FH0000H:03FCH0000H:03FFH255/0FFH IPCS01234專用中斷專用中斷 5個(gè)個(gè)531/1FH保留中斷保留中斷 27個(gè)個(gè)32/20H用戶中斷用戶中斷 224個(gè)個(gè)中斷向量:中斷向量:中斷服務(wù)中斷服務(wù)程序入口地址。程序入口地址。中斷向量表:中斷向量表:用于存用于存放放256個(gè)中斷向量的個(gè)中斷向量的存儲(chǔ)區(qū)域,共占存儲(chǔ)區(qū)域,共占1KB存儲(chǔ)空間。存儲(chǔ)空間。中斷向量指針:中斷向量指針:在向在向量表中存放每個(gè)中斷量表中存放每個(gè)中斷向量的地址。向

29、量的地址。例例:NMI中斷,為中斷,為2號(hào)中斷號(hào)中斷 中斷向量存于中斷向量存于 IP 0000H:0008H 0000H:0009H CS 0000H:000AH 0000H:000BH 中斷響應(yīng)后中斷響應(yīng)后CPU根據(jù)根據(jù)CS和和IP內(nèi)容進(jìn)入中斷子程序。內(nèi)容進(jìn)入中斷子程序。例例:中斷類型號(hào):中斷類型號(hào)30H (30H4=C0H) 中斷向量存于中斷向量存于IP 0000H:00C0H 10H 0000H:00C1H 20H CS 0000H:00C2H 30H 0000H:00C3H 40H 則中斷所對(duì)應(yīng)的中斷向量為則中斷所對(duì)應(yīng)的中斷向量為4030H:2010H,也即該中,也即該中斷服務(wù)程序的入

30、口地址。斷服務(wù)程序的入口地址。 7.4.3 中斷服務(wù)程序的設(shè)計(jì)中斷服務(wù)程序的設(shè)計(jì) 前面提到前面提到8086/8088利用向量中斷的方法,一旦響應(yīng)中利用向量中斷的方法,一旦響應(yīng)中斷便可方便地找到中斷服務(wù)程序的入口地址。它是在規(guī)定斷便可方便地找到中斷服務(wù)程序的入口地址。它是在規(guī)定的內(nèi)存區(qū)域中,每的內(nèi)存區(qū)域中,每4個(gè)連續(xù)字節(jié)存放一個(gè)中斷向量,可建立個(gè)連續(xù)字節(jié)存放一個(gè)中斷向量,可建立一個(gè)一個(gè)1KB大小的中斷向量表。盡管表規(guī)定了內(nèi)存區(qū)域,但大小的中斷向量表。盡管表規(guī)定了內(nèi)存區(qū)域,但表中的內(nèi)容,除已被系統(tǒng)定義的中斷類型的中斷向量以表中的內(nèi)容,除已被系統(tǒng)定義的中斷類型的中斷向量以外,其他新增加的中斷類型要在

31、中斷向量表中由用戶建立外,其他新增加的中斷類型要在中斷向量表中由用戶建立相應(yīng)的中斷向量。為了讓相應(yīng)的中斷向量。為了讓CPU響應(yīng)中斷后正確轉(zhuǎn)入中斷服響應(yīng)中斷后正確轉(zhuǎn)入中斷服務(wù)程序,中斷向量表的建立是非常重要的。務(wù)程序,中斷向量表的建立是非常重要的。 一、中斷向量表的建立一、中斷向量表的建立1、直接裝入法直接裝入法 PUSH DS XOR AX, AX MOV DS, AX MOV BX, N*4 MOV AX, OFFSET NEWINT MOV WORD PTRBX, AX MOV AX, SEG NEWINT MOV WORD PTRBX+2, AX POP DS NEWINT PROC I

32、RETNEWINT ENDP2、使用串送存指令裝入法、使用串送存指令裝入法 MOV AX, 0 MOV ES, AX MOV DI, N*4 MOV AX, OFFSET NEWINT CLD STOSW MOV AX, SEG NEWINT STOSW 3、使用使用DOSDOS功能調(diào)用設(shè)置中斷向量功能調(diào)用設(shè)置中斷向量預(yù)置:預(yù)置: AH=25H AH=25H 功能號(hào)功能號(hào) AL=N AL=N 中斷類型號(hào)中斷類型號(hào) DSDS:DX=DX=中斷向量中斷向量執(zhí)行:執(zhí)行: INT 21HINT 21H例如:例如: PUSH DS MOV AX, SEG NEWINT MOV DS, AX MOV DX

33、, OFFSET NEWINT MOV AL, N MOV AH, 25H INT 21H POP DS二、編程舉例二、編程舉例 編寫中斷服務(wù)服務(wù)程序?qū)崿F(xiàn)在屏幕上顯示字符編寫中斷服務(wù)服務(wù)程序?qū)崿F(xiàn)在屏幕上顯示字符“This is a This is a Interruption Service Program!”Interruption Service Program!”。設(shè)中斷類型號(hào)為。設(shè)中斷類型號(hào)為60H,60H,采用采用DOSDOS系統(tǒng)功能調(diào)用設(shè)置中斷服務(wù)程序入口地址,通過軟中斷系統(tǒng)功能調(diào)用設(shè)置中斷服務(wù)程序入口地址,通過軟中斷指令指令I(lǐng)NT 60HINT 60H實(shí)現(xiàn)中斷服務(wù)程序的調(diào)用。實(shí)現(xiàn)

34、中斷服務(wù)程序的調(diào)用。 DATA SEGMENT MES DB This is a Interruption Service Program!$” DATA ENDS CODE SEGMENT ASSUME CS:CODE, DS:DATA MAIN: MOV AX, DATA MOV DS, AX PUSH DS MOV DX, OFFSET DISP60 MOV AX, SEG DISP60 MOV DS, AX MOV AH, 25H MOV AL, 60H INT 21H POP DS INT 60H MOV AH, 4CH ; ;返返DOSDOS INT 21HDISP60 PROC

35、FAR MOV DX, OFFSET MESG MOV AH, 09H INT 21H IRETDISP60 ENDPCODE ENDS END MAIN7.5 可編程中斷控制器可編程中斷控制器8259A1.1.具有具有8 8級(jí)優(yōu)先級(jí)控制,通過級(jí)聯(lián)可擴(kuò)充到級(jí)優(yōu)先級(jí)控制,通過級(jí)聯(lián)可擴(kuò)充到6464級(jí);級(jí);2.2.每一級(jí)中斷可由程序單獨(dú)屏蔽或允許;每一級(jí)中斷可由程序單獨(dú)屏蔽或允許;3.3.可提供中斷類型號(hào)傳送給可提供中斷類型號(hào)傳送給CPUCPU;4.4.可通過編程選擇多種不同的工作方式??赏ㄟ^編程選擇多種不同的工作方式。7.5.1 8259A的功能的功能 D7D0 RD WR A0 CS CAS0

36、CAS1 CAS2 SP/EN數(shù)據(jù)緩數(shù)據(jù)緩沖器沖器讀寫邏讀寫邏輯輯級(jí)聯(lián)級(jí)聯(lián)比較比較/ /緩沖緩沖控制邏輯控制邏輯 中斷屏蔽寄存器中斷屏蔽寄存器IMRIMRISR PRIRRINTINTAIR0IR7VccGND7.5.2 8259A的結(jié)構(gòu)及引腳功能的結(jié)構(gòu)及引腳功能 1、內(nèi)部結(jié)構(gòu)、內(nèi)部結(jié)構(gòu)級(jí)聯(lián)比較級(jí)聯(lián)比較/緩沖緩沖器器CAS0CAS2是級(jí)聯(lián)信號(hào)是級(jí)聯(lián)信號(hào)SP/EN控制電路控制電路 是是8259A8259A的內(nèi)部控制器的內(nèi)部控制器 根據(jù)根據(jù)IRR的置位情況和的置位情況和IMR的設(shè)置情況,通過的設(shè)置情況,通過PR判定優(yōu)判定優(yōu)先級(jí),向先級(jí),向8259A內(nèi)部及其它部件發(fā)內(nèi)部及其它部件發(fā)控制信號(hào)控制信號(hào)和

37、和INT,接收,接收INTA使使ISR相應(yīng)位置相應(yīng)位置1,并使,并使IRR相應(yīng)位置相應(yīng)位置0,同時(shí)送,同時(shí)送中斷類中斷類型號(hào)型號(hào)。主片主片 輸出輸出從片從片 輸入輸入非緩沖方式非緩沖方式緩沖方式緩沖方式 控制數(shù)據(jù)緩沖器控制數(shù)據(jù)緩沖器 輸出輸出單片結(jié)構(gòu)單片結(jié)構(gòu) 輸入輸入接接“1”1”少量級(jí)聯(lián)結(jié)構(gòu)少量級(jí)聯(lián)結(jié)構(gòu) 輸入輸入主片主片 接接“1”1”從片從片 接地接地?cái)?shù)據(jù)緩沖器數(shù)據(jù)緩沖器 雙向雙向8 8位三態(tài)緩沖器與系統(tǒng)數(shù)據(jù)總線接口位三態(tài)緩沖器與系統(tǒng)數(shù)據(jù)總線接口 與與CPUCPU交換的信息包括交換的信息包括注:通常連接低注:通常連接低8 8位數(shù)據(jù)總線位數(shù)據(jù)總線讀寫邏輯讀寫邏輯 控制數(shù)據(jù)傳送方向及選擇數(shù)據(jù)端

38、口控制數(shù)據(jù)傳送方向及選擇數(shù)據(jù)端口寫入寫入8259A8259A的編程控制字的編程控制字8259A8259A狀態(tài)信息的讀出狀態(tài)信息的讀出中斷響應(yīng)時(shí)送出的中斷類型號(hào)中斷響應(yīng)時(shí)送出的中斷類型號(hào)IRR 中斷請(qǐng)求寄存器中斷請(qǐng)求寄存器 用來存放由外部輸入的中斷請(qǐng)求信號(hào)用來存放由外部輸入的中斷請(qǐng)求信號(hào)IR0IR7,允許多,允許多位置位置1。ISR 中斷服務(wù)寄存器中斷服務(wù)寄存器 保存、記錄正在處理中的中斷請(qǐng)求,當(dāng)任何一級(jí)中斷被保存、記錄正在處理中的中斷請(qǐng)求,當(dāng)任何一級(jí)中斷被響應(yīng),響應(yīng),CPUCPU正在執(zhí)行它的中斷服務(wù)程序時(shí),正在執(zhí)行它的中斷服務(wù)程序時(shí),ISRISR相應(yīng)位置相應(yīng)位置1 1。PR 優(yōu)先級(jí)判別器優(yōu)先級(jí)

39、判別器 對(duì)保存在對(duì)保存在IRRIRR中的中斷請(qǐng)求進(jìn)行優(yōu)先級(jí)識(shí)別,送出最高中的中斷請(qǐng)求進(jìn)行優(yōu)先級(jí)識(shí)別,送出最高級(jí)別中斷請(qǐng)求到級(jí)別中斷請(qǐng)求到ISRISR中;當(dāng)出現(xiàn)多重中斷時(shí),中;當(dāng)出現(xiàn)多重中斷時(shí),PRPR判定是否允許判定是否允許所出現(xiàn)的中斷去打斷正在處理的中斷。所出現(xiàn)的中斷去打斷正在處理的中斷。IMR 中斷屏蔽寄存器中斷屏蔽寄存器 實(shí)現(xiàn)對(duì)各級(jí)中斷的有選擇的屏蔽,當(dāng)某位為實(shí)現(xiàn)對(duì)各級(jí)中斷的有選擇的屏蔽,當(dāng)某位為1 1,表示禁,表示禁止這一級(jí)中斷請(qǐng)求進(jìn)入系統(tǒng)止這一級(jí)中斷請(qǐng)求進(jìn)入系統(tǒng)2、引腳功能及與引腳功能及與CPU連接連接8259AWRA0CSA0數(shù)數(shù) 據(jù)據(jù) 線線 RDRDWRIR0IR1IR2IR3I

40、R4IR5IR6IR7A5A4A3A2A1D0D7D0D7VccSP/ENCAS0CAS1CAS2GND+ 5V用于多片用于多片8259A級(jí)連情況級(jí)連情況INTAINT INTA INTR8088最小模式最小模式+ 5VM/IOG1G2AG2BCBAY21 多片多片8259A連接連接主片主片8259A8259A端口地址端口地址 20H 22H20H 22H從片從片1 1端口地址端口地址 24H 26H24H 26H從片從片2 2端口地址端口地址 28H 2AH28H 2AHD0 D7A1G1G2A Y2G2B Y1 C Y0 B A A0 M/IO A6A5A4 A3 A28086最最小小模模

41、式式RDINTAWRINTR主片主片8259A從片從片1從片從片2A0 CSINT IR7 IR0 IR7 IR2 IR1IR0INT IR7 IR0 +5V117.5.3 8259A的工作方式的工作方式1 1、中斷優(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)求得

42、到設(shè)的中斷請(qǐng)求得到CPU響應(yīng)后,其中斷的優(yōu)先級(jí)自動(dòng)降為響應(yīng)后,其中斷的優(yōu)先級(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í),允許中斷正被處理時(shí),允許同級(jí)同級(jí)或或更高優(yōu)先級(jí)更高優(yōu)先級(jí)的事件可的事件可以打斷當(dāng)前的中斷處理過程而被服務(wù)。以打斷當(dāng)前的中斷處理過程而被服務(wù)。注注: : 特殊全嵌套僅用于多個(gè)特殊全嵌套僅用于多個(gè)8259A8259A級(jí)連時(shí)的主級(jí)連時(shí)

43、的主8259A8259A,而,而不能用于從屬不能用于從屬8259A8259A或單或單8259A8259A系統(tǒng)。系統(tǒng)。2、中斷結(jié)束的管理方式、中斷結(jié)束的管理方式(固定優(yōu)先級(jí)的中斷結(jié)束固定優(yōu)先級(jí)的中斷結(jié)束) 中斷結(jié)束的管理就是用不同的方式使中斷結(jié)束的管理就是用不同的方式使ISRISR中相應(yīng)位清中相應(yīng)位清零。零。普通結(jié)束方式普通結(jié)束方式EOIEOI 8259A每得到一次每得到一次EOI命令,就將命令,就將ISR中已置位的各中已置位的各位中優(yōu)先級(jí)最高的位復(fù)位。位中優(yōu)先級(jí)最高的位復(fù)位。特殊結(jié)束方式特殊結(jié)束方式SEOISEOI 該方式的特殊性在于,除了普通該方式的特殊性在于,除了普通EOI方式的功能外,方

44、式的功能外,將明確指明本次復(fù)位的將明確指明本次復(fù)位的ISR位。位。自動(dòng)結(jié)束方式自動(dòng)結(jié)束方式AEOIAEOI 自動(dòng)自動(dòng)EOI方式是利用響應(yīng)中斷時(shí)最后一個(gè)響應(yīng)脈沖方式是利用響應(yīng)中斷時(shí)最后一個(gè)響應(yīng)脈沖的后沿執(zhí)行一次普通的后沿執(zhí)行一次普通EOI,而不需要,而不需要CPU發(fā)送發(fā)送EOI指令指令。3、循環(huán)優(yōu)先級(jí)的中斷結(jié)束方法循環(huán)優(yōu)先級(jí)的中斷結(jié)束方法 在循環(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)方

45、式4、中斷源屏蔽方式中斷源屏蔽方式普通屏蔽方式普通屏蔽方式 中斷屏蔽寄存器中斷屏蔽寄存器IMR的的8個(gè)位與中斷請(qǐng)求個(gè)位與中斷請(qǐng)求IR0IR7一一一對(duì)應(yīng)。對(duì)一對(duì)應(yīng)。對(duì)IMR編程,指定某些位為編程,指定某些位為1,則屏蔽掉相應(yīng)的,則屏蔽掉相應(yīng)的中斷請(qǐng)求。中斷請(qǐng)求。特殊屏蔽方式特殊屏蔽方式提供了允許較低優(yōu)先級(jí)的中斷能夠得到響應(yīng)的特殊手提供了允許較低優(yōu)先級(jí)的中斷能夠得到響應(yīng)的特殊手段。段。原理原理:假定當(dāng)前正在處理:假定當(dāng)前正在處理IR6,先,先進(jìn)入特殊屏蔽方式,進(jìn)入特殊屏蔽方式,然后設(shè)置然后設(shè)置IM6=1。這時(shí),除。這時(shí),除IR6外的所有中斷請(qǐng)求均能外的所有中斷請(qǐng)求均能得到響應(yīng)。得到響應(yīng)。特殊屏蔽方

46、式中只能用特殊屏蔽方式中只能用SEOI命令結(jié)束中斷。命令結(jié)束中斷。5、中斷請(qǐng)求引入方式中斷請(qǐng)求引入方式電平觸發(fā)方式電平觸發(fā)方式 8259A依靠依靠IR引腳上的有效高電平信號(hào)來觸發(fā),而與有引腳上的有效高電平信號(hào)來觸發(fā),而與有效電平出現(xiàn)的方式和時(shí)間無關(guān)。效電平出現(xiàn)的方式和時(shí)間無關(guān)。邊沿觸發(fā)方式邊沿觸發(fā)方式查詢方式查詢方式 允許允許8259A不工作于不工作于中斷方式,而是以查詢方式工作。中斷方式,而是以查詢方式工作。因?yàn)橐驗(yàn)镃PUCPU中的中的IF=0,CPUIF=0,CPU要使用軟件查詢來確定中斷源要使用軟件查詢來確定中斷源, ,才能才能實(shí)現(xiàn)對(duì)外設(shè)的中斷服務(wù)。因此即有中斷的特點(diǎn),又有查詢實(shí)現(xiàn)對(duì)外設(shè)

47、的中斷服務(wù)。因此即有中斷的特點(diǎn),又有查詢的特點(diǎn)。的特點(diǎn)。6、連接系統(tǒng)總線方式連接系統(tǒng)總線方式緩沖方式緩沖方式 非緩沖方式非緩沖方式 7.5.4 8259A的編程的編程v初始化命令字初始化命令字ICW,操作命令字,操作命令字OCW;v系統(tǒng)復(fù)位后,應(yīng)初始化編程,系統(tǒng)復(fù)位后,應(yīng)初始化編程,按次序只寫一次按次序只寫一次; 設(shè)定觸發(fā)方式、緩沖方式、中斷類型號(hào)基值、優(yōu)設(shè)定觸發(fā)方式、緩沖方式、中斷類型號(hào)基值、優(yōu)先級(jí)、先級(jí)、 結(jié)束方式結(jié)束方式v初始化后,在任何位置可操作編程,沒有嚴(yán)格的順初始化后,在任何位置可操作編程,沒有嚴(yán)格的順序,允許重置,以動(dòng)態(tài)改變序,允許重置,以動(dòng)態(tài)改變8259A的操作與控制。的操作與

48、控制。8259A初始化流程圖初始化流程圖寫寫ICW1寫寫ICW2級(jí)連?級(jí)連?寫寫ICW3需需ICW4?寫寫ICW4NNYYA0=0A0=1A0=1A0=1芯片控制芯片控制類型號(hào)基值類型號(hào)基值級(jí)連控制級(jí)連控制方式控制方式控制1、初始化編程、初始化編程ICW10:不需要:不需要ICW41:需要:需要ICW40:級(jí)連使用:級(jí)連使用1:?jiǎn)纹褂茫簡(jiǎn)纹褂?0X86不用不用A7 A6 A5 1 LTIM ADI SNGL IC4 D7 D6 D5 D4 D3 D2 D1 D00A0ICW180X86不用不用0:邊沿觸發(fā)邊沿觸發(fā)1:電平觸發(fā)電平觸發(fā) ICW2T7 T6 T5 T4 T3 X X XD7 D

49、6 D5 D4 D3 D2 D1 D01A0ICW2中斷類型碼高中斷類型碼高5 5位位自動(dòng)填入自動(dòng)填入S7 S6 S5 S4 S3 S2/ID2 S1/ID1 S0/ID0D7 D6 D5 D4 D3 D2 D1 D01A0主主8259A的級(jí)聯(lián)標(biāo)志的級(jí)聯(lián)標(biāo)志1:相應(yīng)的:相應(yīng)的IR上有從上有從8259A0:相應(yīng)的:相應(yīng)的IR上無從上無從8259AID2ID0:從從8259A的的IR識(shí)別碼識(shí)別碼非緩沖方式非緩沖方式 0 緩沖方式從片緩沖方式從片 1 0 緩沖方式主片緩沖方式主片 1 1 0 0 0 SFNM BUF M/S AEOI PMD7 D6 D5 D4 D3 D2 D1 D01A00:一般

50、的全嵌套方式:一般的全嵌套方式1:特殊的全嵌套方式:特殊的全嵌套方式0:808085方式方式1:80X860:非自動(dòng):非自動(dòng)EOI1:自動(dòng):自動(dòng)EOI ICW4 ICW32、操作命令編程操作命令編程OCW1OCW1M7 M6 M5 M4 M3 M2 M1 M0 D7 D6 D5 D4 D3 D2 D1 D01A00:清中斷屏蔽位:清中斷屏蔽位1:置中斷屏蔽位:置中斷屏蔽位 OCW2R SL EOI 0 0 L2 L1 L0 D7 D6 D5 D4 D3 D2 D1 D00A00 0 0 1 1 1對(duì)應(yīng)對(duì)應(yīng)IRi的編碼的編碼無操作無操作010設(shè)置特殊循環(huán),由設(shè)置特殊循環(huán),由L2L0設(shè)定最低優(yōu)先級(jí)

51、設(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é)束結(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無效無效EOI=1:中斷結(jié)束:中斷結(jié)束OCW2OCW3 D7 D6 D5 D4 D3 D2 D1 D00A0 ESMM SMM 0 1 P RR RIS10清

52、除特清除特殊屏蔽殊屏蔽方式方式01設(shè)定特殊設(shè)定特殊屏蔽方式屏蔽方式無意義無意義10100:非查詢方式:非查詢方式1:查詢方式:查詢方式10隨后隨后讀讀IRR01隨后隨后讀讀ISR無無意意義義1010 OCW3 8259A的操作編程并沒有固定順序,各命令字的操作編程并沒有固定順序,各命令字之間用地址信號(hào)之間用地址信號(hào)A0及特征位加以區(qū)分及特征位加以區(qū)分。說說 明明 1)查詢方式查詢方式 OCW3OCW3中中D2D2位位P=1P=1,關(guān)閉中斷,即可通過查詢,關(guān)閉中斷,即可通過查詢方式響應(yīng)外設(shè)的服務(wù)請(qǐng)求:從數(shù)據(jù)總線上讀取一方式響應(yīng)外設(shè)的服務(wù)請(qǐng)求:從數(shù)據(jù)總線上讀取一個(gè)字節(jié),內(nèi)容為:個(gè)字節(jié),內(nèi)容為: 其

53、中其中I=1I=1表示該表示該8259A8259A芯片有外設(shè)服務(wù)請(qǐng)求,芯片有外設(shè)服務(wù)請(qǐng)求,W2W2W0W0表明了請(qǐng)求服務(wù)的最高優(yōu)先權(quán)編碼。表明了請(qǐng)求服務(wù)的最高優(yōu)先權(quán)編碼。I=0I=0則表示無請(qǐng)求。則表示無請(qǐng)求。 2)讀讀8259A8259A 讀讀IMRIMR:地址信號(hào):地址信號(hào)A0A0為為1 1時(shí)讀時(shí)讀8259A8259A,可取得中,可取得中斷屏蔽寄存器斷屏蔽寄存器IMRIMR的狀態(tài)。的狀態(tài)。 讀讀IRRIRR:地址信號(hào):地址信號(hào)A0A0為為0 0,且當(dāng),且當(dāng)OCW3OCW3的的D1D1位位RRRR、D0D0位位RISRIS被置為被置為1010時(shí),可在下一個(gè)讀脈沖期間讀時(shí),可在下一個(gè)讀脈沖期間讀得中斷請(qǐng)求寄存器得中斷請(qǐng)求寄存器IRRIRR的狀態(tài)。的狀態(tài)。 讀讀ISRISR:地址信號(hào):地址信號(hào)A0A0為為0 0,且當(dāng),且當(dāng)OCW3OCW3的的RRRR、RISRIS位被置為位被

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論