第八章 中斷系統(tǒng)_第1頁(yè)
第八章 中斷系統(tǒng)_第2頁(yè)
第八章 中斷系統(tǒng)_第3頁(yè)
第八章 中斷系統(tǒng)_第4頁(yè)
第八章 中斷系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩55頁(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、第第8 8章章 中斷系統(tǒng)中斷系統(tǒng) 當(dāng)當(dāng)CPUCPU與外設(shè)用查詢方式傳送數(shù)據(jù)時(shí),與外設(shè)用查詢方式傳送數(shù)據(jù)時(shí),CPUCPU將大量將大量時(shí)間花在等待上,降低了工作效率。因此在計(jì)算機(jī)技時(shí)間花在等待上,降低了工作效率。因此在計(jì)算機(jī)技術(shù)中引入了中斷的概念。中斷是現(xiàn)代計(jì)算機(jī)必須具備術(shù)中引入了中斷的概念。中斷是現(xiàn)代計(jì)算機(jī)必須具備的重要功能,也是計(jì)算機(jī)發(fā)展史上的一個(gè)重要里程碑,的重要功能,也是計(jì)算機(jī)發(fā)展史上的一個(gè)重要里程碑,它的出現(xiàn)給計(jì)算機(jī)結(jié)構(gòu)與應(yīng)用帶來(lái)了新的突破。它的出現(xiàn)給計(jì)算機(jī)結(jié)構(gòu)與應(yīng)用帶來(lái)了新的突破。 本章介紹微機(jī)中斷系統(tǒng)的功能、中斷過(guò)程、中斷本章介紹微機(jī)中斷系統(tǒng)的功能、中斷過(guò)程、中斷管理,管理,8086

2、8086的中斷系統(tǒng),可編程中斷控制器的中斷系統(tǒng),可編程中斷控制器8259A8259A的的工作原理及應(yīng)用工作原理及應(yīng)用 1 1中斷中斷 所謂所謂“中斷中斷”是指是指CPUCPU執(zhí)行程序過(guò)程中,由于某種事件發(fā)執(zhí)行程序過(guò)程中,由于某種事件發(fā)生,迫使生,迫使CPUCPU暫時(shí)暫時(shí)中止正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行該事件的處中止正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行該事件的處理程序,待處理完畢后,又理程序,待處理完畢后,又返回返回到原程序的斷點(diǎn)處,繼續(xù)往下到原程序的斷點(diǎn)處,繼續(xù)往下執(zhí)行的過(guò)程。執(zhí)行的過(guò)程。 2中斷源中斷源 引起中斷的原因或發(fā)出中斷請(qǐng)求的來(lái)源稱為中斷源。引起中斷的原因或發(fā)出中斷請(qǐng)求的來(lái)源稱為中斷源。8 8.1

3、.1 中斷概述中斷概述 8 8.1.1 .1.1 中斷的基本概念中斷的基本概念中斷過(guò)程中斷過(guò)程繼續(xù)執(zhí)行斷點(diǎn)主程序中斷服務(wù)程序有中斷請(qǐng)求中斷處理返回?cái)帱c(diǎn)8 8.1.1 .1.1 中斷的基本概念中斷的基本概念8.1.1 中斷的基本概念中斷的基本概念中斷系統(tǒng)的功能:中斷系統(tǒng)的功能: 1)實(shí)現(xiàn)中斷及返回)實(shí)現(xiàn)中斷及返回 包括發(fā)現(xiàn)中斷請(qǐng)求,相應(yīng)中斷請(qǐng)求,中斷處理與包括發(fā)現(xiàn)中斷請(qǐng)求,相應(yīng)中斷請(qǐng)求,中斷處理與中斷返回。中斷返回。 2)實(shí)現(xiàn)優(yōu)先權(quán)排隊(duì))實(shí)現(xiàn)優(yōu)先權(quán)排隊(duì) 通常,在系統(tǒng)中有多個(gè)中斷源,會(huì)出現(xiàn)兩個(gè)或多通常,在系統(tǒng)中有多個(gè)中斷源,會(huì)出現(xiàn)兩個(gè)或多個(gè)中斷源同時(shí)提出中斷請(qǐng)求的情況。個(gè)中斷源同時(shí)提出中斷請(qǐng)求的情

4、況。 3)高級(jí)中斷源能中斷低級(jí)的中斷處理)高級(jí)中斷源能中斷低級(jí)的中斷處理 當(dāng)當(dāng)CPU響應(yīng)某一個(gè)中斷源的請(qǐng)求,在中斷處理時(shí),響應(yīng)某一個(gè)中斷源的請(qǐng)求,在中斷處理時(shí),若有優(yōu)先級(jí)別更高的中斷源發(fā)出中斷申請(qǐng)。若有優(yōu)先級(jí)別更高的中斷源發(fā)出中斷申請(qǐng)。 (3) (3) 能實(shí)現(xiàn)中斷的嵌套能實(shí)現(xiàn)中斷的嵌套 中斷的嵌套是指高級(jí)別的中斷能中斷較低級(jí)別的中斷處理,中斷的嵌套是指高級(jí)別的中斷能中斷較低級(jí)別的中斷處理,它類似于子程序嵌套。它類似于子程序嵌套。8 8.1.1 .1.1 中斷的基本概念中斷的基本概念 中斷最初的目的是為了解決高速中斷最初的目的是為了解決高速CPUCPU與低速外設(shè)之間的與低速外設(shè)之間的速度速度矛盾

5、矛盾。實(shí)際上,中斷的功能遠(yuǎn)遠(yuǎn)。實(shí)際上,中斷的功能遠(yuǎn)遠(yuǎn)超出預(yù)期超出預(yù)期的設(shè)計(jì),被廣泛地應(yīng)的設(shè)計(jì),被廣泛地應(yīng)用于多方面,大大提高了用于多方面,大大提高了CPUCPU的工作效率。中斷的優(yōu)點(diǎn)有下面三的工作效率。中斷的優(yōu)點(diǎn)有下面三點(diǎn)。點(diǎn)。 ( 1 1) 分時(shí)操作分時(shí)操作 中斷技術(shù)實(shí)現(xiàn)了中斷技術(shù)實(shí)現(xiàn)了CPUCPU和外部的并行工作,從而消除和外部的并行工作,從而消除CPUCPU的等的等待時(shí)間,提高了待時(shí)間,提高了CPUCPU的利用率。另外,的利用率。另外,CPUCPU可同時(shí)管理多個(gè)外部可同時(shí)管理多個(gè)外部設(shè)備的工作,提高了輸入設(shè)備的工作,提高了輸入/ /輸出數(shù)據(jù)的吞吐量。輸出數(shù)據(jù)的吞吐量。 8 8.1.1 .

6、1.1 中斷的基本概念中斷的基本概念 (2 2) 實(shí)時(shí)處理實(shí)時(shí)處理 在實(shí)時(shí)控制系統(tǒng)中,現(xiàn)場(chǎng)定時(shí)或隨機(jī)地產(chǎn)生各種參數(shù)、信在實(shí)時(shí)控制系統(tǒng)中,現(xiàn)場(chǎng)定時(shí)或隨機(jī)地產(chǎn)生各種參數(shù)、信息,要求息,要求CPUCPU立即響應(yīng)。利用中斷機(jī)制,計(jì)算機(jī)就能實(shí)時(shí)地進(jìn)行立即響應(yīng)。利用中斷機(jī)制,計(jì)算機(jī)就能實(shí)時(shí)地進(jìn)行處理,特別是對(duì)緊急事件的處理。處理,特別是對(duì)緊急事件的處理。 (3 3)故障處理)故障處理 計(jì)算機(jī)運(yùn)行過(guò)程中,如果出現(xiàn)某些故障,如電源掉電、運(yùn)計(jì)算機(jī)運(yùn)行過(guò)程中,如果出現(xiàn)某些故障,如電源掉電、運(yùn)算溢出等,計(jì)算機(jī)可以利用中斷系統(tǒng)自行處理算溢出等,計(jì)算機(jī)可以利用中斷系統(tǒng)自行處理。8 8.1.1 .1.1 中斷的基本概念中

7、斷的基本概念 2 2中斷源中斷源 所謂所謂中斷源中斷源,就是引起中斷的原因或者發(fā)出中斷請(qǐng)求的設(shè),就是引起中斷的原因或者發(fā)出中斷請(qǐng)求的設(shè)備。中斷源一般分為兩類:內(nèi)部中斷源和外部中斷源。備。中斷源一般分為兩類:內(nèi)部中斷源和外部中斷源。 內(nèi)部中斷源內(nèi)部中斷源即中斷源在微處理器內(nèi)部。如計(jì)算溢出、中斷即中斷源在微處理器內(nèi)部。如計(jì)算溢出、中斷指令的執(zhí)行、程序調(diào)試中指令的單步運(yùn)行等都是內(nèi)部中斷源。指令的執(zhí)行、程序調(diào)試中指令的單步運(yùn)行等都是內(nèi)部中斷源。 外部中斷源外部中斷源即引起中斷的原因是處理機(jī)的外部設(shè)備。如外即引起中斷的原因是處理機(jī)的外部設(shè)備。如外設(shè)的設(shè)的I/OI/O請(qǐng)求、定時(shí)時(shí)間到、設(shè)備故障、電源掉電等

8、都是外部中請(qǐng)求、定時(shí)時(shí)間到、設(shè)備故障、電源掉電等都是外部中斷源。斷源。8 8.1.1 .1.1 中斷的基本概念中斷的基本概念(1 1)外部設(shè)備請(qǐng)求中斷)外部設(shè)備請(qǐng)求中斷 (2 2)故障強(qiáng)迫中斷)故障強(qiáng)迫中斷 (3 3)實(shí)時(shí)時(shí)鐘請(qǐng)求中斷。)實(shí)時(shí)時(shí)鐘請(qǐng)求中斷。 (4 4)數(shù)據(jù)通道中斷。)數(shù)據(jù)通道中斷。 (5 5)程序中斷。)程序中斷。 8 8.1.1 .1.1 中斷的基本概念中斷的基本概念 3. 3. 中斷控制的功能中斷控制的功能 (1) (1) 中斷請(qǐng)求中斷請(qǐng)求 中斷請(qǐng)求就是中斷源向中斷請(qǐng)求就是中斷源向CPUCPU發(fā)出的請(qǐng)求中斷的要求。這個(gè)中發(fā)出的請(qǐng)求中斷的要求。這個(gè)中斷請(qǐng)求信號(hào)通常加到斷請(qǐng)求信

9、號(hào)通常加到CPUCPU的中斷請(qǐng)求輸入端。的中斷請(qǐng)求輸入端。 (2) (2) 能實(shí)現(xiàn)中斷判優(yōu)功能能實(shí)現(xiàn)中斷判優(yōu)功能 中斷判優(yōu),即根據(jù)中斷源的優(yōu)先級(jí)進(jìn)行排隊(duì)。當(dāng)系統(tǒng)中出中斷判優(yōu),即根據(jù)中斷源的優(yōu)先級(jí)進(jìn)行排隊(duì)。當(dāng)系統(tǒng)中出現(xiàn)多個(gè)中斷源同時(shí)提出中斷請(qǐng)求的情況時(shí),中斷控制電路能根現(xiàn)多個(gè)中斷源同時(shí)提出中斷請(qǐng)求的情況時(shí),中斷控制電路能根據(jù)各中斷源的優(yōu)先級(jí)進(jìn)行響應(yīng),優(yōu)先級(jí)最高的中斷請(qǐng)求先響應(yīng)。據(jù)各中斷源的優(yōu)先級(jí)進(jìn)行響應(yīng),優(yōu)先級(jí)最高的中斷請(qǐng)求先響應(yīng)。8 8.1.2 .1.2 中斷處理過(guò)程中斷處理過(guò)程 (3) (3) 中斷響應(yīng)中斷響應(yīng) CPUCPU接收到中斷申請(qǐng)后,從中止現(xiàn)行程序到轉(zhuǎn)向中斷服務(wù)程接收到中斷申請(qǐng)后,從

10、中止現(xiàn)行程序到轉(zhuǎn)向中斷服務(wù)程序入口的過(guò)程,稱為中斷響應(yīng)。必須滿足兩個(gè)條件:序入口的過(guò)程,稱為中斷響應(yīng)。必須滿足兩個(gè)條件:1.1.中斷是開(kāi)發(fā)的。中斷是開(kāi)發(fā)的。2.CPU2.CPU在現(xiàn)行指令結(jié)束后響應(yīng)中斷。在現(xiàn)行指令結(jié)束后響應(yīng)中斷。中斷響應(yīng)過(guò)程中,中斷響應(yīng)過(guò)程中,CPUCPU自動(dòng)執(zhí)行以下操作:自動(dòng)執(zhí)行以下操作:關(guān)中斷。關(guān)中斷。保護(hù)斷點(diǎn)和標(biāo)志。保護(hù)斷點(diǎn)和標(biāo)志。轉(zhuǎn)入中斷服務(wù)程序。轉(zhuǎn)入中斷服務(wù)程序。 8 8.1.2 .1.2 中斷處理過(guò)程中斷處理過(guò)程8.1.2 中斷處理過(guò)程中斷處理過(guò)程(4) 中斷處理中斷處理 中斷處理就是執(zhí)行中斷服務(wù)程序。中斷處理就是執(zhí)行中斷服務(wù)程序。通常,在中斷服務(wù)程序中都可根據(jù)需要

11、完成以下工作:通常,在中斷服務(wù)程序中都可根據(jù)需要完成以下工作:l保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng)l開(kāi)中斷開(kāi)中斷l(xiāng)中斷服務(wù)中斷服務(wù)l關(guān)中斷關(guān)中斷l(xiāng)恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng)8 8.2 8086.2 8086中斷系統(tǒng)中斷系統(tǒng) 8086 CPU8086 CPU可以處理可以處理256256種不同類型的中斷,每一種中斷都種不同類型的中斷,每一種中斷都給定一個(gè)編號(hào)給定一個(gè)編號(hào)(0(0 255)255),稱為,稱為中斷類型號(hào)中斷類型號(hào),CPUCPU根據(jù)中斷類型號(hào)根據(jù)中斷類型號(hào)來(lái)識(shí)別不同的中斷源。中斷源可分為兩大類:一類來(lái)自來(lái)識(shí)別不同的中斷源。中斷源可分為兩大類:一類來(lái)自CPUCPU的外的外部,由外設(shè)的請(qǐng)求引起,稱為硬件中斷部,由外設(shè)

12、的請(qǐng)求引起,稱為硬件中斷( (又稱又稱外部中斷外部中斷) );另一類;另一類來(lái)自來(lái)自CPUCPU的內(nèi)部,由執(zhí)行指令時(shí)引起,稱為軟件中斷的內(nèi)部,由執(zhí)行指令時(shí)引起,稱為軟件中斷( (又稱又稱內(nèi)部中內(nèi)部中斷斷) )。 1. 1. 非屏蔽中斷非屏蔽中斷NMINMI( (中斷類型號(hào)為中斷類型號(hào)為2)2) 整個(gè)系統(tǒng)整個(gè)系統(tǒng)只有一個(gè)只有一個(gè)非屏蔽中斷,它不受非屏蔽中斷,它不受IFIF標(biāo)志位的屏蔽。標(biāo)志位的屏蔽。出現(xiàn)在出現(xiàn)在NMINMI上的請(qǐng)求信號(hào)是上升沿觸發(fā)的,一旦出現(xiàn),上的請(qǐng)求信號(hào)是上升沿觸發(fā)的,一旦出現(xiàn),CPUCPU將將予以響應(yīng)。非屏蔽中斷一般用于予以響應(yīng)。非屏蔽中斷一般用于緊急故障處理緊急故障處理。

13、8 8.2.1 .2.1 外部中斷外部中斷 2.2.可屏蔽中斷可屏蔽中斷INTRINTR 可屏蔽中斷請(qǐng)求信號(hào)從可屏蔽中斷請(qǐng)求信號(hào)從INTRINTR引腳送往引腳送往CPUCPU,高電平有效,高電平有效,受受IFIF標(biāo)志位屏蔽標(biāo)志位屏蔽,IFIF0 0時(shí),對(duì)于所有從時(shí),對(duì)于所有從INTRINTR引腳進(jìn)入的中斷請(qǐng)求,引腳進(jìn)入的中斷請(qǐng)求,CPUCPU均不予響應(yīng);另外,也可以在均不予響應(yīng);另外,也可以在CPUCPU外部的中斷控制器外部的中斷控制器(8259A)(8259A)中以及各個(gè)中以及各個(gè)I/OI/O接口電路中對(duì)某一級(jí)中斷或某個(gè)中斷源單獨(dú)進(jìn)行接口電路中對(duì)某一級(jí)中斷或某個(gè)中斷源單獨(dú)進(jìn)行屏蔽。屏蔽。 8

14、 8.2.1 .2.1 外部中斷外部中斷 1.1.內(nèi)部中斷內(nèi)部中斷( (軟件中斷軟件中斷) ) CPU CPU內(nèi)部請(qǐng)求信號(hào)引起的中斷均為內(nèi)部中斷,內(nèi)部中斷根據(jù)內(nèi)部請(qǐng)求信號(hào)引起的中斷均為內(nèi)部中斷,內(nèi)部中斷根據(jù)引起中斷的原因不同可分為以下幾種:引起中斷的原因不同可分為以下幾種: (1 1)除法錯(cuò)中斷)除法錯(cuò)中斷(類型號(hào)為(類型號(hào)為00H00H) 當(dāng)當(dāng)CPUCPU執(zhí)行除法指令執(zhí)行除法指令(DIV/IDIV)(DIV/IDIV)時(shí),若除數(shù)為時(shí),若除數(shù)為0 0或所得的商或所得的商超過(guò)了寄存器所能表示的最大值,則立即產(chǎn)生一個(gè)除法錯(cuò)中斷。超過(guò)了寄存器所能表示的最大值,則立即產(chǎn)生一個(gè)除法錯(cuò)中斷。CPUCPU響

15、應(yīng)中斷后轉(zhuǎn)去執(zhí)行除法錯(cuò)中斷處理程序。響應(yīng)中斷后轉(zhuǎn)去執(zhí)行除法錯(cuò)中斷處理程序。8.2.2 .2.2 內(nèi)部中斷內(nèi)部中斷 (2 2)單步執(zhí)行中斷)單步執(zhí)行中斷(類型號(hào)為(類型號(hào)為01H01H) 當(dāng)當(dāng)TF=1TF=1時(shí),每執(zhí)行一條指令,時(shí),每執(zhí)行一條指令,CPUCPU會(huì)自動(dòng)產(chǎn)生一個(gè)單步中斷。會(huì)自動(dòng)產(chǎn)生一個(gè)單步中斷。單步中斷處理子程序顯示各個(gè)寄存器及使用的存儲(chǔ)單元內(nèi)容,單步中斷處理子程序顯示各個(gè)寄存器及使用的存儲(chǔ)單元內(nèi)容,以便分析單條指令執(zhí)行的結(jié)果。單步中斷又稱為陷阱中斷,主以便分析單條指令執(zhí)行的結(jié)果。單步中斷又稱為陷阱中斷,主要用于程序調(diào)試。要用于程序調(diào)試。 (3 3)斷點(diǎn)中斷)斷點(diǎn)中斷(類型號(hào)為(類型

16、號(hào)為03H03H) 提供給用戶一個(gè)調(diào)試手段,通常在提供給用戶一個(gè)調(diào)試手段,通常在DEBUGDEBUG調(diào)試程序時(shí),可通調(diào)試程序時(shí),可通過(guò)命令在程序中任意指定斷點(diǎn)地址,當(dāng)過(guò)命令在程序中任意指定斷點(diǎn)地址,當(dāng)CPUCPU執(zhí)行到斷點(diǎn)時(shí)便產(chǎn)生執(zhí)行到斷點(diǎn)時(shí)便產(chǎn)生中斷,同時(shí)顯示當(dāng)前各寄存器的內(nèi)容和標(biāo)志位的值以及下一條中斷,同時(shí)顯示當(dāng)前各寄存器的內(nèi)容和標(biāo)志位的值以及下一條要執(zhí)行的指令,供用戶檢查在斷點(diǎn)以前的程序運(yùn)行是否正常。要執(zhí)行的指令,供用戶檢查在斷點(diǎn)以前的程序運(yùn)行是否正常。8 8.2.2 .2.2 內(nèi)部中斷內(nèi)部中斷 (4 4)溢出中斷)溢出中斷INTOINTO(類型號(hào)為(類型號(hào)為04H04H) CPUCPU

17、進(jìn)行帶符號(hào)數(shù)的算術(shù)運(yùn)算時(shí),若發(fā)生了溢出,則標(biāo)志位進(jìn)行帶符號(hào)數(shù)的算術(shù)運(yùn)算時(shí),若發(fā)生了溢出,則標(biāo)志位OF=1OF=1,如果此時(shí)執(zhí)行,如果此時(shí)執(zhí)行INTOINTO指令,會(huì)產(chǎn)生溢出中斷。若指令,會(huì)產(chǎn)生溢出中斷。若OF=0OF=0,則,則INTOINTO不產(chǎn)生中斷,不產(chǎn)生中斷,CPUCPU繼續(xù)執(zhí)行下一條指令。繼續(xù)執(zhí)行下一條指令。INTOINTO指令通常安排指令通常安排在算術(shù)指令之后,以便在溢出時(shí)能及時(shí)處理。在算術(shù)指令之后,以便在溢出時(shí)能及時(shí)處理。 (5 5)指令中斷)指令中斷 CPUCPU執(zhí)行執(zhí)行INT nINT n指令后,會(huì)立即產(chǎn)生一個(gè)類型碼為指令后,會(huì)立即產(chǎn)生一個(gè)類型碼為n n的中斷,的中斷,中斷指

18、令的操作數(shù)中斷指令的操作數(shù)n n就是中斷類型碼,轉(zhuǎn)入相應(yīng)的中斷處理程序。就是中斷類型碼,轉(zhuǎn)入相應(yīng)的中斷處理程序。 8.2.2 .2.2 內(nèi)部中斷內(nèi)部中斷 2. 2. 內(nèi)部中斷的特點(diǎn)內(nèi)部中斷的特點(diǎn) (1 1)除單步中斷外,所有內(nèi)部中斷的優(yōu)先權(quán)都比外部中斷)除單步中斷外,所有內(nèi)部中斷的優(yōu)先權(quán)都比外部中斷的優(yōu)先權(quán)高。的優(yōu)先權(quán)高。80868086的中斷優(yōu)先級(jí)由高到低的順序排列如下:的中斷優(yōu)先級(jí)由高到低的順序排列如下: 除法出錯(cuò)中斷、除法出錯(cuò)中斷、INTOINTO、INT nINT n 非屏蔽中斷非屏蔽中斷NMINMI 可屏蔽中斷可屏蔽中斷INTRINTR 單步中斷單步中斷 (2 2)除單步中斷外其它內(nèi)

19、部中斷均無(wú)法禁止。)除單步中斷外其它內(nèi)部中斷均無(wú)法禁止。 (3 3)由于中斷類型碼已確定,所以不用執(zhí)行中斷響應(yīng)周期)由于中斷類型碼已確定,所以不用執(zhí)行中斷響應(yīng)周期取中斷類型碼。取中斷類型碼。 (4 4)由于內(nèi)部中斷均處于程序的固定位置處,所以無(wú)隨機(jī))由于內(nèi)部中斷均處于程序的固定位置處,所以無(wú)隨機(jī)性。性。8 8.2.2 .2.2 內(nèi)部中斷內(nèi)部中斷NMI(17號(hào)引腳)中 斷 邏 輯非屏蔽中斷請(qǐng)求INT 2硬件(外部)中斷軟件(內(nèi)部)中斷可屏蔽中斷請(qǐng)求中斷類型號(hào)32255INTR(18號(hào)引腳)中斷指令I(lǐng)NT nN32255溢出中斷INTOINT 4斷點(diǎn)中斷INT 3單步中斷(TF1)INT 1除法錯(cuò)

20、誤INT 08086/8088中斷源 8.2 8086.2 8086中斷中斷 8086/8088 8086/8088最多可以處理最多可以處理256256個(gè)中斷,將這些中斷處理子個(gè)中斷,將這些中斷處理子程序的程序的入口地址入口地址統(tǒng)一存放在內(nèi)存的一個(gè)固定區(qū)域。每個(gè)中斷統(tǒng)一存放在內(nèi)存的一個(gè)固定區(qū)域。每個(gè)中斷處理子程序的入口地址占用處理子程序的入口地址占用4 4字節(jié)字節(jié)存儲(chǔ)單元:低地址的兩字節(jié)存儲(chǔ)單元:低地址的兩字節(jié)存放中斷處理子程序入口地址的偏移量存放中斷處理子程序入口地址的偏移量(IP)(IP);高地址的兩字;高地址的兩字節(jié)存放段地址節(jié)存放段地址(CS)(CS)。這些中斷處理子程序的入口地址,稱

21、為。這些中斷處理子程序的入口地址,稱為中斷向量中斷向量。256256個(gè)中斷向量要使用個(gè)中斷向量要使用10241024個(gè)字節(jié)的內(nèi)存區(qū)域,稱個(gè)字節(jié)的內(nèi)存區(qū)域,稱中斷向量表中斷向量表。8086/80888086/8088系統(tǒng)的中斷向量表位于內(nèi)存的前系統(tǒng)的中斷向量表位于內(nèi)存的前10241024字節(jié),地址范圍為字節(jié),地址范圍為00000H00000H003FFH003FFH。每個(gè)中斷源分配一個(gè)。每個(gè)中斷源分配一個(gè)中中斷類型碼斷類型碼。 12_內(nèi)部中斷過(guò)程 標(biāo)清.flv17_int9寫鍵盤緩沖區(qū) 標(biāo)清.flv8 8.2.3 .2.3 中斷向量表中斷向量表8086/80888086/8088的中斷向量表的中

22、斷向量表 8 8.2.3 .2.3 中斷向量表中斷向量表 中斷服務(wù)程序入口地址在中斷向量表中是按中斷類型碼中斷服務(wù)程序入口地址在中斷向量表中是按中斷類型碼順序存放的,位置可由順序存放的,位置可由“中斷類型碼中斷類型碼4 4”計(jì)算出來(lái)。計(jì)算出來(lái)。CPUCPU響響應(yīng)中斷時(shí),把中斷類型碼應(yīng)中斷時(shí),把中斷類型碼n n乘以乘以4 4,得到對(duì)應(yīng)地址,得到對(duì)應(yīng)地址4n(4n(該中斷該中斷服務(wù)程序入口地址所占服務(wù)程序入口地址所占4 4個(gè)字節(jié)的個(gè)字節(jié)的第一個(gè)字節(jié)第一個(gè)字節(jié)的地址的地址) ),然后,然后把由此地址開(kāi)始的兩個(gè)把由此地址開(kāi)始的兩個(gè)低字節(jié)低字節(jié)單元的內(nèi)容裝入單元的內(nèi)容裝入IPIP寄存器,再寄存器,再把兩

23、個(gè)把兩個(gè)高字節(jié)高字節(jié)單元的內(nèi)容裝入單元的內(nèi)容裝入CSCS寄存器,寄存器,CPUCPU即轉(zhuǎn)向中斷類即轉(zhuǎn)向中斷類型碼為型碼為n n的中斷服務(wù)程序。的中斷服務(wù)程序。8 8.2.3 .2.3 中斷向量表中斷向量表 中斷向量表中有中斷向量表中有5 5個(gè)個(gè)專用中斷專用中斷( (中斷類型碼為中斷類型碼為0 04)4),它們,它們的用途已經(jīng)確定;的用途已經(jīng)確定;2727個(gè)系統(tǒng)個(gè)系統(tǒng)保留的中斷保留的中斷( (中斷類型碼為中斷類型碼為5 531)31)供系統(tǒng)使用,不允許用戶自行定義;供系統(tǒng)使用,不允許用戶自行定義;224224個(gè)個(gè)用戶自定義中斷用戶自定義中斷( (中斷類型碼為中斷類型碼為3232255)255),

24、這些中斷類型碼可供軟中斷,這些中斷類型碼可供軟中斷INT n INT n 或可屏蔽中斷或可屏蔽中斷INTRINTR使用使用 ( (中斷類型碼中斷類型碼21H21H的中斷已用作的中斷已用作DOSDOS的的系統(tǒng)功能調(diào)用系統(tǒng)功能調(diào)用) ) 。由用戶確定了中斷類型碼后,還應(yīng)先將相。由用戶確定了中斷類型碼后,還應(yīng)先將相應(yīng)的中斷處理子程序入口地址填入中斷向量表,以便應(yīng)的中斷處理子程序入口地址填入中斷向量表,以便CPUCPU根據(jù)根據(jù)提供的中斷類型碼找到相應(yīng)的中斷向量。提供的中斷類型碼找到相應(yīng)的中斷向量。8 8.2.3 .2.3 中斷向量表中斷向量表8 8.4 .4 可編程中斷控制器可編程中斷控制器 8259

25、A 8259A 8259A8259A具有如下功能具有如下功能: : 以以接收多個(gè)接收多個(gè)外部中斷源的外部中斷源的中斷請(qǐng)求中斷請(qǐng)求,并進(jìn)行,并進(jìn)行優(yōu)先級(jí)別判優(yōu)先級(jí)別判斷斷,選中當(dāng)前優(yōu)先級(jí)別最高的中斷請(qǐng)求,再將此請(qǐng)求送到微,選中當(dāng)前優(yōu)先級(jí)別最高的中斷請(qǐng)求,再將此請(qǐng)求送到微處理器的中斷輸入端。處理器的中斷輸入端。 具有提供具有提供中斷向量中斷向量、 屏蔽中斷輸入等功能。屏蔽中斷輸入等功能。 可用于管理可用于管理8 8級(jí)優(yōu)先權(quán)中斷級(jí)優(yōu)先權(quán)中斷,最多構(gòu)成,最多構(gòu)成6464級(jí)優(yōu)先權(quán)中斷管級(jí)優(yōu)先權(quán)中斷管理系統(tǒng)。中斷服務(wù)程序入口地址構(gòu)成的中斷向量表存放在內(nèi)理系統(tǒng)。中斷服務(wù)程序入口地址構(gòu)成的中斷向量表存放在內(nèi)存

26、固定區(qū)域。存固定區(qū)域。 有有多種工作方式多種工作方式,自動(dòng)提供中斷服務(wù)程序,自動(dòng)提供中斷服務(wù)程序入口地址入口地址8 8.4.2 8259A.4.2 8259A的內(nèi)部結(jié)構(gòu)及外部引腳的內(nèi)部結(jié)構(gòu)及外部引腳內(nèi)部總線CAS0D7D0數(shù)據(jù)總線緩沖器控制電路INT讀/寫控制邏輯RDWRA0CS級(jí)聯(lián)緩沖/比較器CAS1CAS2EN/SPINTA中斷服務(wù)寄存器(ISR)優(yōu)先權(quán)判別器(PR)中斷請(qǐng)求寄存器(IRR)中斷屏蔽寄存器(IMR)IR7IR1IR0 18259A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu) (1 1)數(shù)據(jù)總線緩沖器)數(shù)據(jù)總線緩沖器 8 8位雙向三態(tài)緩沖器,是位雙向三態(tài)緩沖器,是8259A8259A與系統(tǒng)數(shù)據(jù)總線的

27、接口。與系統(tǒng)數(shù)據(jù)總線的接口。8259A8259A通過(guò)數(shù)據(jù)總線緩沖器接收微處理器發(fā)來(lái)的各種命令控制通過(guò)數(shù)據(jù)總線緩沖器接收微處理器發(fā)來(lái)的各種命令控制字、有關(guān)寄存器狀態(tài)的讀取,字、有關(guān)寄存器狀態(tài)的讀取,8259A8259A也通過(guò)數(shù)據(jù)總線緩沖器向也通過(guò)數(shù)據(jù)總線緩沖器向微處理器送出中斷類型碼等。微處理器送出中斷類型碼等。 (2 2)讀)讀/ /寫控制邏輯寫控制邏輯 該部件接收來(lái)自該部件接收來(lái)自CPUCPU的讀的讀/ /寫命令,配合片選信號(hào)、讀信寫命令,配合片選信號(hào)、讀信號(hào)、寫信號(hào)和地址線號(hào)、寫信號(hào)和地址線A A0 0共同實(shí)現(xiàn)控制,完成規(guī)定的操作。共同實(shí)現(xiàn)控制,完成規(guī)定的操作。8 8.4.2 8259A.

28、4.2 8259A的內(nèi)部結(jié)構(gòu)及外部引腳的內(nèi)部結(jié)構(gòu)及外部引腳 (3 3)級(jí)聯(lián)緩沖器)級(jí)聯(lián)緩沖器/ /比較器比較器 8259A8259A既可工作于單片方式,也可工作于多片級(jí)聯(lián)方式。這既可工作于單片方式,也可工作于多片級(jí)聯(lián)方式。這個(gè)部件在級(jí)聯(lián)方式下用于標(biāo)識(shí)主從設(shè)備,在緩沖方式下控制收個(gè)部件在級(jí)聯(lián)方式下用于標(biāo)識(shí)主從設(shè)備,在緩沖方式下控制收發(fā)器的數(shù)據(jù)傳送方向。發(fā)器的數(shù)據(jù)傳送方向。 (4 4)中斷請(qǐng)求寄存器)中斷請(qǐng)求寄存器IRRIRR 8 8位寄存器,用來(lái)鎖存外部設(shè)備送來(lái)的位寄存器,用來(lái)鎖存外部設(shè)備送來(lái)的IRIR7 7IRIR0 0中斷請(qǐng)求信中斷請(qǐng)求信號(hào)。每位對(duì)應(yīng)著號(hào)。每位對(duì)應(yīng)著8259A8259A的的8

29、 8個(gè)外部中斷請(qǐng)求輸入端中的一位,當(dāng)個(gè)外部中斷請(qǐng)求輸入端中的一位,當(dāng)某引腳上有中斷請(qǐng)求信號(hào)時(shí),某引腳上有中斷請(qǐng)求信號(hào)時(shí),IRRIRR對(duì)應(yīng)位置對(duì)應(yīng)位置1 1,當(dāng)該中斷請(qǐng)求被,當(dāng)該中斷請(qǐng)求被響應(yīng)時(shí),該位復(fù)位。響應(yīng)時(shí),該位復(fù)位。INTA8 8.4.2 8259A.4.2 8259A的內(nèi)部結(jié)構(gòu)及外部引腳的內(nèi)部結(jié)構(gòu)及外部引腳 (5 5)中斷屏蔽寄存器)中斷屏蔽寄存器IMRIMR 8 8位寄存器,用于設(shè)置中斷請(qǐng)求的屏蔽信號(hào)。每位對(duì)應(yīng)著輸位寄存器,用于設(shè)置中斷請(qǐng)求的屏蔽信號(hào)。每位對(duì)應(yīng)著輸入端入端IRIR7 7IRIR0 0中的一位。如用軟件將中的一位。如用軟件將IMRIMR的某位置的某位置“1”1”,則其,

30、則其對(duì)應(yīng)引腳上的中斷請(qǐng)求將被對(duì)應(yīng)引腳上的中斷請(qǐng)求將被8259A8259A屏蔽,即使對(duì)應(yīng)屏蔽,即使對(duì)應(yīng)IRIRi i引腳上有引腳上有中斷請(qǐng)求信號(hào)也不會(huì)產(chǎn)生中斷請(qǐng)求輸出中斷請(qǐng)求信號(hào)也不會(huì)產(chǎn)生中斷請(qǐng)求輸出 (6 6)中斷服務(wù)狀態(tài)寄存器)中斷服務(wù)狀態(tài)寄存器ISRISR 8 8位寄存器,記錄當(dāng)前正在被服務(wù)的所有中斷級(jí),包括尚未位寄存器,記錄當(dāng)前正在被服務(wù)的所有中斷級(jí),包括尚未服務(wù)完而中途被更高優(yōu)先級(jí)打斷的中斷級(jí)。每位對(duì)應(yīng)輸入端服務(wù)完而中途被更高優(yōu)先級(jí)打斷的中斷級(jí)。每位對(duì)應(yīng)輸入端IRIR7 7IRIR0 0中的一位。若某個(gè)引腳上的中斷請(qǐng)求被響應(yīng),則中的一位。若某個(gè)引腳上的中斷請(qǐng)求被響應(yīng),則ISRISR中中

31、對(duì)應(yīng)位被置對(duì)應(yīng)位被置1 1。ISRISR的置位也允許嵌套。的置位也允許嵌套。8 8.4.2 8259A.4.2 8259A的內(nèi)部結(jié)構(gòu)及外部引腳的內(nèi)部結(jié)構(gòu)及外部引腳 (7 7)優(yōu)先權(quán)分析器)優(yōu)先權(quán)分析器PRPR 用于識(shí)別和管理各中斷請(qǐng)求信號(hào)的優(yōu)先級(jí)別。當(dāng)在用于識(shí)別和管理各中斷請(qǐng)求信號(hào)的優(yōu)先級(jí)別。當(dāng)在IRIR輸輸入端中斷請(qǐng)求信號(hào)通過(guò)入端中斷請(qǐng)求信號(hào)通過(guò)IRRIRR送到送到PRPR。PRPR檢查檢查ISRISR的狀態(tài),判的狀態(tài),判別有無(wú)優(yōu)先級(jí)更高的中斷正在被服務(wù),若無(wú),則將別有無(wú)優(yōu)先級(jí)更高的中斷正在被服務(wù),若無(wú),則將IRRIRR中優(yōu)中優(yōu)先級(jí)最高的中斷請(qǐng)求送入先級(jí)最高的中斷請(qǐng)求送入ISRISR,并通過(guò)

32、控制邏輯向,并通過(guò)控制邏輯向CPUCPU發(fā)出發(fā)出中斷請(qǐng)求信號(hào)中斷請(qǐng)求信號(hào)INTINT,并且將,并且將ISR ISR 中的相應(yīng)位置中的相應(yīng)位置“1”1” (8 8)控制邏輯)控制邏輯 8259A8259A全部功能的控制核心。它包括一組初始化命令字全部功能的控制核心。它包括一組初始化命令字寄存器寄存器ICW1ICW1ICW4ICW4和一組操作命令字寄存器和一組操作命令字寄存器OCW1OCW1OCW3OCW3,以及有關(guān)的控制電路。以及有關(guān)的控制電路。8 8.4.2 8259A.4.2 8259A的內(nèi)部結(jié)構(gòu)及外部引腳的內(nèi)部結(jié)構(gòu)及外部引腳CAS28259AD7CAS0GNDVCCA0IR7INT1234

33、5678910111213142827262524232221201918171615INTAIR6IR5IR4IR3IR2IR1IR0EN / SPCSWRRDD6D5D4D3D2D1D0CAS12 28259A8259A的外部引腳的外部引腳8 8.4.2 8259A.4.2 8259A的內(nèi)部結(jié)構(gòu)及外部引腳的內(nèi)部結(jié)構(gòu)及外部引腳 1 1中斷優(yōu)先級(jí)管理方式中斷優(yōu)先級(jí)管理方式 (1) (1) 全嵌套方式全嵌套方式 全嵌套方式也稱全嵌套方式也稱固定優(yōu)先級(jí)方式固定優(yōu)先級(jí)方式。在這種方式下,由。在這種方式下,由IRIR端引端引入的中斷請(qǐng)求具有固定的優(yōu)先級(jí),入的中斷請(qǐng)求具有固定的優(yōu)先級(jí),IRIR0 0最高

34、,最高,IRIR7 7最低。在對(duì)最低。在對(duì)8259A8259A初始化后若沒(méi)有設(shè)置其他優(yōu)先級(jí)方式,則初始化后若沒(méi)有設(shè)置其他優(yōu)先級(jí)方式,則默認(rèn)默認(rèn)為全嵌套方為全嵌套方式。式。 8 8.4.3 8259A.4.3 8259A的工作方式的工作方式 (2) (2) 特殊全嵌套方式特殊全嵌套方式 在主從結(jié)構(gòu)的在主從結(jié)構(gòu)的8259A8259A系統(tǒng)中,將系統(tǒng)中,將主片主片設(shè)置為特殊全嵌套方設(shè)置為特殊全嵌套方式,可以在處理某一級(jí)中斷時(shí),不但允許優(yōu)先級(jí)更高的中斷式,可以在處理某一級(jí)中斷時(shí),不但允許優(yōu)先級(jí)更高的中斷請(qǐng)求進(jìn)入,也允許同級(jí)的中斷請(qǐng)求進(jìn)入。請(qǐng)求進(jìn)入,也允許同級(jí)的中斷請(qǐng)求進(jìn)入。 8 8.4.3 8259A.

35、4.3 8259A的工作方式的工作方式 (3) (3) 優(yōu)先級(jí)自動(dòng)循環(huán)方式優(yōu)先級(jí)自動(dòng)循環(huán)方式 各中斷源優(yōu)先級(jí)是循環(huán)變化的,主要用在系統(tǒng)中各中斷各中斷源優(yōu)先級(jí)是循環(huán)變化的,主要用在系統(tǒng)中各中斷源優(yōu)先級(jí)相同的情況下。一個(gè)設(shè)備的中斷服務(wù)完成后,其優(yōu)源優(yōu)先級(jí)相同的情況下。一個(gè)設(shè)備的中斷服務(wù)完成后,其優(yōu)先級(jí)自動(dòng)降為最低,而將最高優(yōu)先級(jí)賦給原來(lái)比它低一級(jí)的先級(jí)自動(dòng)降為最低,而將最高優(yōu)先級(jí)賦給原來(lái)比它低一級(jí)的中斷請(qǐng)求。中斷請(qǐng)求。8 8.4.3 8259A.4.3 8259A的工作方式的工作方式 (4) (4) 優(yōu)先級(jí)特殊循環(huán)方式優(yōu)先級(jí)特殊循環(huán)方式 該方式與優(yōu)先級(jí)自動(dòng)循環(huán)方式相比,只有一點(diǎn)不同,該方式與優(yōu)先級(jí)

36、自動(dòng)循環(huán)方式相比,只有一點(diǎn)不同,即可以設(shè)置開(kāi)始的最低優(yōu)先級(jí)。例如,最初設(shè)定即可以設(shè)置開(kāi)始的最低優(yōu)先級(jí)。例如,最初設(shè)定IRIR4 4為最低為最低優(yōu)先級(jí),那么優(yōu)先級(jí),那么IRIR5 5就是最高優(yōu)先級(jí),而優(yōu)先級(jí)自動(dòng)循環(huán)方式就是最高優(yōu)先級(jí),而優(yōu)先級(jí)自動(dòng)循環(huán)方式中,最初的最高優(yōu)先級(jí)一定是中,最初的最高優(yōu)先級(jí)一定是IRIR0 0。 8 8.4.3 8259A.4.3 8259A的工作方式的工作方式 2 2中斷屏蔽方式中斷屏蔽方式 (1) (1) 普通屏蔽方式普通屏蔽方式 通過(guò)對(duì)通過(guò)對(duì)中斷屏蔽寄存器中斷屏蔽寄存器(IMR)(IMR)的設(shè)定,實(shí)現(xiàn)對(duì)中斷請(qǐng)求的屏的設(shè)定,實(shí)現(xiàn)對(duì)中斷請(qǐng)求的屏蔽。中斷屏蔽寄存器的蔽。

37、中斷屏蔽寄存器的每一位對(duì)應(yīng)了一個(gè)級(jí)別的中斷請(qǐng)求每一位對(duì)應(yīng)了一個(gè)級(jí)別的中斷請(qǐng)求,當(dāng),當(dāng)某一位為某一位為1 1時(shí),與之相應(yīng)的某一級(jí)別的中斷請(qǐng)求被屏蔽。時(shí),與之相應(yīng)的某一級(jí)別的中斷請(qǐng)求被屏蔽。 (2) (2) 特殊屏蔽方式特殊屏蔽方式 當(dāng)一個(gè)優(yōu)先級(jí)當(dāng)一個(gè)優(yōu)先級(jí)較高的中斷請(qǐng)求較高的中斷請(qǐng)求正在被處理時(shí),若設(shè)置了特正在被處理時(shí),若設(shè)置了特殊屏蔽方式,則殊屏蔽方式,則允許優(yōu)先級(jí)較低的中斷進(jìn)入允許優(yōu)先級(jí)較低的中斷進(jìn)入正在處理的高級(jí)別正在處理的高級(jí)別中斷。中斷。8 8.4.3 8259A.4.3 8259A的工作方式的工作方式 3 3中斷觸發(fā)方式中斷觸發(fā)方式 (1) (1) 電平觸發(fā)方式電平觸發(fā)方式 該方式以

38、該方式以IRIR端上出現(xiàn)的高電平作為中斷請(qǐng)求信號(hào)。請(qǐng)求一旦端上出現(xiàn)的高電平作為中斷請(qǐng)求信號(hào)。請(qǐng)求一旦被響應(yīng),該高電平信號(hào)應(yīng)及時(shí)撤除。被響應(yīng),該高電平信號(hào)應(yīng)及時(shí)撤除。 (2) (2) 邊沿觸發(fā)方式邊沿觸發(fā)方式 該方式以該方式以IRIR端上出現(xiàn)由低電平向高電平的跳變作為中斷請(qǐng)求端上出現(xiàn)由低電平向高電平的跳變作為中斷請(qǐng)求信號(hào),跳變后高電平一直保持信號(hào),跳變后高電平一直保持,直到被響應(yīng),直到被響應(yīng)。 8 8.4.3 8259A.4.3 8259A的工作方式的工作方式 4 4中斷結(jié)束方式中斷結(jié)束方式 (1)(1)自動(dòng)結(jié)束方式自動(dòng)結(jié)束方式(AEOI)(AEOI) 自動(dòng)結(jié)束方式在第二個(gè)負(fù)脈沖的后沿將對(duì)應(yīng)的自

39、動(dòng)結(jié)束方式在第二個(gè)負(fù)脈沖的后沿將對(duì)應(yīng)的ISRISR位清位清0 0。該方式是在中斷響應(yīng)后,而不是在中斷處理結(jié)束時(shí)將該方式是在中斷響應(yīng)后,而不是在中斷處理結(jié)束時(shí)將ISRISR位清位清0 0。在中斷處理過(guò)程中,就沒(méi)有在中斷處理過(guò)程中,就沒(méi)有“正在處理正在處理”的標(biāo)識(shí)。此時(shí)若有中的標(biāo)識(shí)。此時(shí)若有中斷請(qǐng)求出現(xiàn),沒(méi)有屏蔽且斷請(qǐng)求出現(xiàn),沒(méi)有屏蔽且IFIF1 1,則無(wú)論其優(yōu)先級(jí)如何,都將得,則無(wú)論其優(yōu)先級(jí)如何,都將得到響應(yīng)。所以,中斷自動(dòng)結(jié)束方式是一種最簡(jiǎn)單的結(jié)束方式,到響應(yīng)。所以,中斷自動(dòng)結(jié)束方式是一種最簡(jiǎn)單的結(jié)束方式,只適合于中斷請(qǐng)求信號(hào)的持續(xù)時(shí)間有一定限制、系統(tǒng)中只有只適合于中斷請(qǐng)求信號(hào)的持續(xù)時(shí)間有一定

40、限制、系統(tǒng)中只有1 1片片8259A8259A且不會(huì)出現(xiàn)中斷嵌套的場(chǎng)合。且不會(huì)出現(xiàn)中斷嵌套的場(chǎng)合。8 8.4.3 8259A.4.3 8259A的工作方式的工作方式 (2)(2)非自動(dòng)結(jié)束方式非自動(dòng)結(jié)束方式(EOI)(EOI) 從中斷程序返回前,需通過(guò)程序向從中斷程序返回前,需通過(guò)程序向8259A 8259A 輸出一個(gè)中斷結(jié)輸出一個(gè)中斷結(jié)束命令束命令(EOI)(EOI),將,將ISRISR中的相應(yīng)位清中的相應(yīng)位清0 0。具體方法有以下兩種:。具體方法有以下兩種: 一般結(jié)束方式一般結(jié)束方式。此方式由。此方式由8259A8259A自動(dòng)選擇自動(dòng)選擇ISRISR中優(yōu)先權(quán)中優(yōu)先權(quán)最高位清最高位清0 0。

41、此方式常用于完全嵌套方式下的中斷結(jié)束。在級(jí)。此方式常用于完全嵌套方式下的中斷結(jié)束。在級(jí)聯(lián)系統(tǒng)中均采用一般結(jié)束方式或特殊結(jié)束方式。在中斷處理聯(lián)系統(tǒng)中均采用一般結(jié)束方式或特殊結(jié)束方式。在中斷處理程序結(jié)束時(shí),必須發(fā)兩次中斷結(jié)束命令,一次發(fā)給主片,另程序結(jié)束時(shí),必須發(fā)兩次中斷結(jié)束命令,一次發(fā)給主片,另一次發(fā)給從片。一次發(fā)給從片。 特殊結(jié)束方式特殊結(jié)束方式。此方式需由用戶指明將。此方式需由用戶指明將ISRISR中的哪一位中的哪一位清清0 0,常用于特殊全嵌套方式。,常用于特殊全嵌套方式。8 8.4.3 8259A.4.3 8259A的工作方式的工作方式 5.5.與系統(tǒng)總線的連接方式與系統(tǒng)總線的連接方式

42、(1)(1)緩沖方式緩沖方式 在緩沖方式下,在緩沖方式下,8259A8259A通過(guò)總線收發(fā)器和數(shù)據(jù)總線相連。通過(guò)總線收發(fā)器和數(shù)據(jù)總線相連。8259A8259A的的SP/ENSP/EN作為輸出端,作為輸出端,ENEN有效,使總線收發(fā)器使能。有效,使總線收發(fā)器使能。 (2)(2)非緩沖方式非緩沖方式 非緩沖方式主要用于單片非緩沖方式主要用于單片8259A8259A或片數(shù)不多的或片數(shù)不多的8259A8259A級(jí)聯(lián)級(jí)聯(lián)的系統(tǒng)中。在該方式下,的系統(tǒng)中。在該方式下,8259A8259A直接與數(shù)據(jù)總線相連,直接與數(shù)據(jù)總線相連,8259A8259A的的SP/ENSP/EN為輸入為輸入(SP(SP有效有效) )

43、。只有單片。只有單片8259A8259A時(shí),時(shí), 接高電平;接高電平;有多片有多片8259A8259A時(shí),該引腳用于區(qū)分主從芯片。時(shí),該引腳用于區(qū)分主從芯片。 接高電平則表接高電平則表示該示該8259A8259A為主片;接低電平,則表示該為主片;接低電平,則表示該8259A8259A為從片。為從片。8 8.4.3 8259A.4.3 8259A的工作方式的工作方式 8259A 8259A的工作方式在對(duì)其進(jìn)行初始化編程或操作編程中的工作方式在對(duì)其進(jìn)行初始化編程或操作編程中設(shè)置。設(shè)置。8259A8259A有兩類命令字有兩類命令字: :初始化命令字初始化命令字ICWICW1 1ICWICW4 4和和

44、操作操作命令字命令字OCWOCW1 1OCWOCW3 3。相應(yīng)地。相應(yīng)地, ,在在8259A8259A內(nèi)部有兩組命令字寄存內(nèi)部有兩組命令字寄存器組器組, ,分別用來(lái)接收這分別用來(lái)接收這7 7個(gè)命令字。系統(tǒng)開(kāi)機(jī)時(shí)個(gè)命令字。系統(tǒng)開(kāi)機(jī)時(shí), ,由初始化程由初始化程序?qū)⑿驅(qū)CWICW1 1ICWICW4 4分別寫入分別寫入4 4個(gè)初始化命令字寄存器個(gè)初始化命令字寄存器, ,稱為稱為8259A8259A的的初始化編程初始化編程。初始化命令字一經(jīng)寫入。初始化命令字一經(jīng)寫入, ,系統(tǒng)在整個(gè)中斷工系統(tǒng)在整個(gè)中斷工作過(guò)程中就作過(guò)程中就不再改變不再改變。如果希望選擇或改變初始化設(shè)定的。如果希望選擇或改變初始化設(shè)定

45、的8259A8259A的工作方式的工作方式, ,則可在應(yīng)用程序中將則可在應(yīng)用程序中將OCWOCW1 1OCWOCW3 3分別寫入分別寫入3 3個(gè)操作命令字寄存器中。所以操作命令字可以被個(gè)操作命令字寄存器中。所以操作命令字可以被多次設(shè)置多次設(shè)置, ,以便對(duì)中斷處理方式進(jìn)行動(dòng)態(tài)控制。以便對(duì)中斷處理方式進(jìn)行動(dòng)態(tài)控制。8 8.4.4 8259A.4.4 8259A的編程設(shè)置的編程設(shè)置 1 1初始化命令字初始化命令字 初始化主要完成以下功能:初始化主要完成以下功能: 設(shè)定中斷請(qǐng)求信號(hào)觸發(fā)方式,即邊沿或電平觸發(fā)方式;設(shè)定中斷請(qǐng)求信號(hào)觸發(fā)方式,即邊沿或電平觸發(fā)方式; 設(shè)定設(shè)定8259A8259A工作方式,即

46、緩沖與非緩沖方式;工作方式,即緩沖與非緩沖方式; 設(shè)定設(shè)定8259A8259A中斷類型號(hào)基值,對(duì)應(yīng)中斷類型號(hào)基值,對(duì)應(yīng)IR0IR0的類型號(hào);的類型號(hào); 設(shè)定優(yōu)先級(jí)方式,即完全嵌套或特殊全嵌套方式;設(shè)定優(yōu)先級(jí)方式,即完全嵌套或特殊全嵌套方式; 設(shè)定中斷處理結(jié)束方式,即自動(dòng)設(shè)定中斷處理結(jié)束方式,即自動(dòng)AEOIAEOI或非自動(dòng)或非自動(dòng)EOIEOI方式。方式。8 8.4.4 8259A.4.4 8259A的編程設(shè)置的編程設(shè)置 初始化命令字共預(yù)置初始化命令字共預(yù)置4 4個(gè)命令個(gè)命令字:字: ICWICW1 1-ICW-ICW4 4,但并不是任何情,但并不是任何情況下都要預(yù)置這況下都要預(yù)置這4 4個(gè)命令字

47、,用戶個(gè)命令字,用戶可根據(jù)具體情況而定。由于可根據(jù)具體情況而定。由于ICWICW1 1 必須寫入低地址端口必須寫入低地址端口A0=0(A0=0(偶端偶端口口) ),因而,因而ICWICW2 2、ICWICW3 3、ICWICW4 4必須必須寫入高地址端口寫入高地址端口A0=1(A0=1(奇端口奇端口) ),為此為此8259A 8259A 在進(jìn)行初始化時(shí),利在進(jìn)行初始化時(shí),利用寫入的順序來(lái)區(qū)分不同的寄存用寫入的順序來(lái)區(qū)分不同的寄存器,即必須嚴(yán)格地按規(guī)定的初始器,即必須嚴(yán)格地按規(guī)定的初始化順序依次寫入?;樞蛞来螌懭?。8 8.4.4 8259A.4.4 8259A的編程設(shè)置的編程設(shè)置 (1 1)芯

48、片初始化命令字)芯片初始化命令字ICW1ICW1 ICW1 ICW1命令字的格式如圖所示,命令字的格式如圖所示,D4=1D4=1為為ICW1ICW1的特征位的特征位( (標(biāo)志標(biāo)志位位) ),用來(lái)與寫入同一地址的,用來(lái)與寫入同一地址的OCW2OCW2、OCW3OCW3區(qū)別。其他命令字區(qū)別。其他命令字的含義如圖所示。的含義如圖所示。8 8.4.4 8259A.4.4 8259A的編程設(shè)置的編程設(shè)置 (2 2)中斷類型號(hào)初始化命令字)中斷類型號(hào)初始化命令字ICW2ICW2 ICW2 ICW2命令字的格式如圖所示,命令字的格式如圖所示,T7T7T3T3為決定中斷類型號(hào)的為決定中斷類型號(hào)的高高5 5位,

49、位,D2D2D0D0不需編程通常為全不需編程通常為全0 0,表示中斷請(qǐng)求輸入端,表示中斷請(qǐng)求輸入端IR0IR0的中斷類型號(hào),在中斷響應(yīng)時(shí)由中斷源的序號(hào)的中斷類型號(hào),在中斷響應(yīng)時(shí)由中斷源的序號(hào)000000111111自動(dòng)填自動(dòng)填入相應(yīng)值,因此用一個(gè)初始化命令字入相應(yīng)值,因此用一個(gè)初始化命令字ICW2 ICW2 就可決定就可決定8 8個(gè)中斷源個(gè)中斷源的中斷類型號(hào),的中斷類型號(hào),ICW2ICW2也可以稱為中斷類型號(hào)基值寄存器。也可以稱為中斷類型號(hào)基值寄存器。8 8.4.4 8259A.4.4 8259A的編程設(shè)置的編程設(shè)置 (3 3)標(biāo)識(shí)主)標(biāo)識(shí)主/ /從片初始化命令字從片初始化命令字ICW3ICW

50、3 ICW3 ICW3命令字的格式如圖所示,對(duì)主片、從片分別寫入命令字的格式如圖所示,對(duì)主片、從片分別寫入ICW3ICW3,對(duì)主片寫入是為確定哪個(gè)中斷請(qǐng)求輸入端接的是從片,對(duì)主片寫入是為確定哪個(gè)中斷請(qǐng)求輸入端接的是從片,由于一片由于一片8259A8259A有有8 8個(gè)中斷請(qǐng)求輸入端,因此最多可接個(gè)中斷請(qǐng)求輸入端,因此最多可接8 8個(gè)從片;個(gè)從片;對(duì)從片寫入是為確定該從片的中斷請(qǐng)求輸出端接入主片的哪對(duì)從片寫入是為確定該從片的中斷請(qǐng)求輸出端接入主片的哪個(gè)輸入端。個(gè)輸入端。8 8.4.4 8259A.4.4 8259A的編程設(shè)置的編程設(shè)置 (4 4)方式控制初始化命令字)方式控制初始化命令字ICW4

51、ICW4 ICW4 ICW4命令字的格式如圖所示,在命令字的格式如圖所示,在ICW1ICW1中,若中,若D0D01 1才寫入才寫入ICW4ICW4,用來(lái)指定中斷嵌套方式及緩沖方式,對(duì),用來(lái)指定中斷嵌套方式及緩沖方式,對(duì)80X86(80X86(包括包括8086/8088)8086/8088)系統(tǒng)必須預(yù)置系統(tǒng)必須預(yù)置ICW4ICW4。8 8.4.4 8259A.4.4 8259A的編程設(shè)置的編程設(shè)置 【例】例】 8259A8259A采用兩片級(jí)聯(lián)方式,主片設(shè)定為:上升沿觸采用兩片級(jí)聯(lián)方式,主片設(shè)定為:上升沿觸發(fā)、在發(fā)、在IR2IR2引腳連接從片、需寫入引腳連接從片、需寫入ICW4ICW4、非、非AEOI AEOI 方式、中斷類方式、中斷類型碼應(yīng)設(shè)為型碼應(yīng)設(shè)為08H08H 0FH0FH、采用一般的中斷嵌套方式、主片、采用一般的中斷嵌套方式、主片8259A 8259A 端口地址是端口地址是20H20H、21H21H;從片定義為:上升沿觸發(fā)、級(jí)聯(lián)到主片;從片定義為:上升沿觸發(fā)、級(jí)聯(lián)到主片的的IR2IR2引腳、需設(shè)置引腳、需設(shè)置ICW4ICW4、非、非AEOIAEOI方式、中斷類型碼為方式、中斷類型碼為70H70H 78H78H、采用一般的中斷嵌套方式、從片、采用一般的中斷嵌套方式

溫馨提示

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