微機原理與接口技術(shù)-08中斷系統(tǒng)與可編程中斷控制器8259A_第1頁
微機原理與接口技術(shù)-08中斷系統(tǒng)與可編程中斷控制器8259A_第2頁
微機原理與接口技術(shù)-08中斷系統(tǒng)與可編程中斷控制器8259A_第3頁
微機原理與接口技術(shù)-08中斷系統(tǒng)與可編程中斷控制器8259A_第4頁
微機原理與接口技術(shù)-08中斷系統(tǒng)與可編程中斷控制器8259A_第5頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

中斷的基本概念

8086的中斷系統(tǒng)可編程中斷控制器8259A及其應(yīng)用

第8章中斷系統(tǒng)與可編程中斷控制器8259A一、中斷系統(tǒng)中的名詞概念

中斷是指CPU暫停正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行處理中斷事件的中斷服務(wù)程序,待執(zhí)行完中斷服務(wù)程序再返回到原被中斷的程序繼續(xù)執(zhí)行。1、中斷8.1 中斷的基本概念

2、中斷源及分類內(nèi)部中斷源:中斷源位于微處理器內(nèi)部,如程序異常、陷阱中斷、軟件中斷等外部中斷源:中斷源在微處理器的外部,如外部故障、外部事件、I/O事件等通常稱引起中斷的事件為中斷源。8.1 中斷的基本概念

3、中斷類型號

為了能使CPU識別中斷源,從而能正確地轉(zhuǎn)向該中斷源對應(yīng)的中斷服務(wù)程序入口,通常用若干位二進(jìn)制編碼來給中斷源編號,該編號稱為中斷類型號。4、中斷斷點

由于中斷的發(fā)生,某個程序被暫停執(zhí)行。該程序中即將執(zhí)行,但由于中斷而沒有被執(zhí)行的那條指令(即中斷發(fā)生時CPU正在執(zhí)行指令的下一條指令)的地址稱為中斷斷點,簡稱斷點。8.1 中斷的基本概念

5、中斷服務(wù)程序

中斷服務(wù)程序:處理中斷事件的程序段。如除法錯中斷服務(wù)程序、輸入輸出中斷服務(wù)程序等。中斷服務(wù)程序與一般的子程序?qū)Ρ龋鹤映绦虻恼{(diào)用是由程序設(shè)定,因此是確定的而中斷服務(wù)程序由某個事件引發(fā),它的發(fā)生往往是隨機的、不確定的。6、中斷系統(tǒng)

為實現(xiàn)計算機的中斷功能而配置的相關(guān)硬件、軟件的集合稱為中斷系統(tǒng)。二、中斷工作方式的特點●并行處理能力

●實時處理能力

●故障處理能力

●多道程序或多重任務(wù)的運行

8.1 中斷的基本概念

三、中斷管理1、對中斷全過程的控制

中斷源發(fā)出中斷請求時,微處理器能決定是否響應(yīng)這一中斷。若允許響應(yīng)這個中斷請求,微處理器能在保護(hù)斷點后,將控制轉(zhuǎn)移到相應(yīng)的中斷服務(wù)程序去,中斷處理完后,微處理器又能返回到斷點處繼續(xù)執(zhí)行被中斷的程序。8.1 中斷的基本概念

2、中斷源的識別

在多個中斷源共存的系統(tǒng)中,當(dāng)有中斷發(fā)生時,CPU需要識別是那個中斷源發(fā)出的請求。軟件方法:軟件查詢中斷源的狀態(tài)來識別。硬件方法:需硬件提供中斷類型號來識別。8.1 中斷的基本概念

3、中斷的優(yōu)先權(quán)

對于系統(tǒng)中的所有中斷源,必須根據(jù)中斷的性質(zhì)及處理的輕重緩急對中斷源進(jìn)行排隊,并給予優(yōu)先權(quán)。所謂優(yōu)先權(quán),是指有多個中斷源同時提出中斷請求時,微處理器響應(yīng)中斷的優(yōu)先次序。8.1 中斷的基本概念

4、中斷嵌套

微處理器在處理級別低的中斷過程中,如果出現(xiàn)了級別高的中斷請求,微處理器停止執(zhí)行低級中斷的處理程序而去處理高優(yōu)先級中斷,等高級中斷處理完畢后,再接著執(zhí)行低級的未處理完的程序,這種中斷處理方式為中斷嵌套。四、中斷過程

對于不同類型的中斷源,微處理器的響應(yīng)及處理過程不完全一樣,大致過程為:中斷源請求中斷中斷響應(yīng)中斷服務(wù)8.1 中斷的基本概念

1、中斷源請求中斷①外部中斷源。由外部硬件產(chǎn)生可屏蔽或不可屏蔽中斷的請求信號。②內(nèi)部中斷源。在程序運行過程中發(fā)生了指令異常或其他情況。8.1 中斷的基本概念

2、中斷響應(yīng)

(1)響應(yīng)可屏蔽中斷條件:

①微處理器處于中斷允許狀態(tài)(IF=1)。

②沒有不可屏蔽中斷請求和總線請求。

③當(dāng)前指令執(zhí)行結(jié)束。(2)響應(yīng)不可屏蔽中斷條件:

①沒有總線請求。

②當(dāng)前指令執(zhí)行結(jié)束。(3)響應(yīng)內(nèi)部中斷條件:當(dāng)前指令執(zhí)行結(jié)束識別中斷源FLAGS,CS,IP進(jìn)棧清TF,IF標(biāo)志讀中斷向量,轉(zhuǎn)入中斷服務(wù)程序開中斷中斷處理關(guān)中斷恢復(fù)現(xiàn)場中斷返回主程序保護(hù)現(xiàn)場斷點中斷響應(yīng)周期中斷服務(wù)程序中斷響應(yīng)過程如下:8.1 中斷的基本概念

3、中斷服務(wù)(1)保護(hù)現(xiàn)場保護(hù)中斷服務(wù)時要使用的寄存器的內(nèi)容。(2)開中斷(3)中斷處理執(zhí)行輸入輸出或非常事件的處理。(4)關(guān)中斷保證在恢復(fù)現(xiàn)場時不被新的中斷打擾。(5)恢復(fù)現(xiàn)場(6)返回

在中斷服務(wù)程序的最后,需要安排一條中斷返回指令,使程序回到被中斷的地址。一、8086微處理器的中斷類型

外部中斷中斷

內(nèi)部中斷

8.2 8086的中斷系統(tǒng)

8086用8位二進(jìn)制碼表示一個中斷類型,共有256個中斷,可分為兩大類:可屏蔽中斷非可屏蔽中斷除法錯中斷單步中斷斷點中斷溢出中斷軟中斷8086中斷結(jié)構(gòu)

除法出錯中斷、INTn和INTO指令的優(yōu)先級最高,其次為不可屏蔽中斷NMI,再者為可屏蔽中斷INTR,單步中斷的優(yōu)先級最低。8.2 8086的中斷系統(tǒng)1、外部可屏蔽中斷

可屏蔽中斷由INTR引入,受標(biāo)志寄存器中的中斷允許標(biāo)志位IF的控制。IF=0時,微處理器不響應(yīng)INTR的中斷請求,IF=1時,微處理器響應(yīng)INTR的中斷請求。8086的可屏蔽中斷源由中斷控制器8259A統(tǒng)一管理,INTR中斷的類型碼可以是8~255。8.2 8086的中斷系統(tǒng)2、外部不可屏蔽中斷

不可屏蔽中斷由NMI引腳引入,微處理器對NMI中斷請求的響應(yīng),不受中斷允許標(biāo)志位IF控制。不管IF的狀態(tài)如何,只要NMI信號有效,8086現(xiàn)行指令執(zhí)行結(jié)束,沒有DMA請求,都會立即響應(yīng)NMI中斷請求。NMI中斷類型碼固定為2。8.2 8086的中斷系統(tǒng)(1)除法錯中斷

在執(zhí)行DIV(無符號數(shù)除法)或IDIV(有符號數(shù)除法)指令時,若發(fā)現(xiàn)除數(shù)為零或商超過寄存器所能表達(dá)的范圍(商溢出),8086微處理器立即執(zhí)行中斷類型碼為0的內(nèi)部中斷。3、內(nèi)部中斷8.2 8086的中斷系統(tǒng)(2)單步中斷8086標(biāo)志寄存器中有一個陷阱標(biāo)志位TF,若TF=1,則微處理器每執(zhí)行完一條指令就引起一個中斷類型碼為1的內(nèi)部中斷。它用于實現(xiàn)單步操作,是一種強有力的調(diào)試手段。(3)斷點中斷INT3指令產(chǎn)生一個中斷碼為3的內(nèi)部中斷,稱為斷點中斷。在程序調(diào)試過程中,需要跟蹤程序走向、了解程序執(zhí)行過程的中間結(jié)果時,可以用INT3指令臨時替換原有的指令,稱為設(shè)置斷點。4、溢出中斷8086標(biāo)志寄存器中有一個溢出標(biāo)志位OF,若上一條指令的執(zhí)行結(jié)果使OF=1,則INTO指令引起中斷類型碼為4的內(nèi)部中斷;否則此指令不起作用,程序順序執(zhí)行下一條指令。5、軟中斷

用戶可以用INTn指令產(chǎn)生一個中斷,n為中斷類型碼。如DOS系統(tǒng)功能調(diào)用INT21H指令的中斷類型碼為21H。8.2 8086的中斷系統(tǒng)二、8086微處理器的中斷向量表中斷向量:也稱為中斷指針,就是中斷服務(wù)程序的入口地址中斷向量表:它是中斷類型號與它對應(yīng)的中斷服務(wù)程序入口地址之間的換算表。8086的中斷向量表占用存儲器從00000H開始的最低地址區(qū)的1024個單元,每個中斷向量占用4B,故可存256個中斷向量。8.2 8086的中斷系統(tǒng)中斷向量表的結(jié)構(gòu)三、8086微處理器的中斷響應(yīng)及返回1、可屏蔽中斷的響應(yīng)操作①等待當(dāng)前指令結(jié)束,然后進(jìn)入中斷響應(yīng)周期;②從微處理器外部的中斷控制邏輯獲得中斷類型號;③當(dāng)前的PSW、CS和IP的內(nèi)容依次壓入堆棧;④清除PSW中的IF位和TF位;⑤把中斷服務(wù)程序的入口地址置入IP和CS,即把地址為4n和4n+1兩個單元的16位數(shù)作為中斷服務(wù)程序入口的偏移地址置入IP,

把地址為4n+2和4n+3兩個單元的16位數(shù)作為服務(wù)程序的段地址置入CS。2、非可屏蔽中斷的響應(yīng)操作CPU對它的響應(yīng)不受IF位的控制,也要等待當(dāng)前指令執(zhí)行結(jié)束。若非可屏蔽中斷請求和可屏蔽中斷請求同時出現(xiàn),CPU將優(yōu)先響應(yīng)非可屏蔽中斷。非可屏蔽中斷的中斷類型號固定為2,無需從外部取回一個字節(jié)的中斷類型號操作。非可屏蔽中斷響應(yīng)的其它操作和可屏蔽中斷相同。8.2 8086的中斷系統(tǒng)3、內(nèi)部中斷的響應(yīng)過程

內(nèi)部中斷響應(yīng)操作有以下共同點:①中斷類型號要么是指令碼給定的,要么是處理器硬件決定的,都不需要從外部邏輯輸入。②沒有INTA信號的響應(yīng)周期。③不受IF位的控制,但單步中斷受TF位控制。④除單步中斷之外,其它內(nèi)部中斷都比外部中斷優(yōu)先響應(yīng)。除上述特點外,內(nèi)部中斷響應(yīng)也要執(zhí)行可屏蔽中斷響應(yīng)的③、④和⑤項操作。8.2 8086的中斷系統(tǒng)作業(yè)

P264-265:

8.1、8.4中斷控制器的功能:接收外部中斷請求,向微處理器發(fā)送中斷請求;進(jìn)行優(yōu)先權(quán)級別的判斷,把當(dāng)前優(yōu)先權(quán)最高的中斷源的中斷類型號送往微處理器;處理器響應(yīng)中斷,進(jìn)入中斷服務(wù)后,當(dāng)優(yōu)先權(quán)更高的外部中斷請求產(chǎn)生時,中斷控制器能夠?qū)崿F(xiàn)中斷的嵌套;對于優(yōu)先權(quán)較低的中斷請求則予以屏蔽。8.3 可編程中斷控制器8259A及其應(yīng)用一、8259A的引腳功能CAS2~CAS0:級聯(lián)線IR7~IR0:外設(shè)向8259A發(fā)出的中斷請求信號。SP/EN:主從設(shè)備設(shè)定/緩沖器讀寫控制。A0:用于選擇內(nèi)部端口。8.3 可編程中斷控制器8259A及其應(yīng)用二、8259A的內(nèi)部結(jié)構(gòu)及功能模塊8259A內(nèi)部結(jié)構(gòu)圖8.3 可編程中斷控制器8259A及其應(yīng)用1、中斷請求寄存器(IRR)IRR是一個8位的鎖存器,用來鎖存外部設(shè)備送來的IR7~IR0中斷請求信號。當(dāng)外部中斷請求線IRi有中斷請求時,IRR中與之對應(yīng)的第i位被置1。這個寄存器的內(nèi)容可以被微處理器讀出。8.3 可編程中斷控制器8259A及其應(yīng)用2、中斷屏蔽寄存器(IMR)IMR是一個8位的寄存器,用于設(shè)置中斷請求的屏蔽信號。此寄存器的第i位被置1時,與之對應(yīng)的外部中斷請求線IRi被屏蔽,不能向微處理器發(fā)出INT信號。可通過軟件設(shè)置IMR內(nèi)容,確定每一個中斷請求的屏蔽狀態(tài)。設(shè)置IMR也可以起到改變中斷請求的優(yōu)先級的效果。8.3 可編程中斷控制器8259A及其應(yīng)用3、中斷服務(wù)狀態(tài)寄存器(ISR)ISR是一個8位的寄存器,用于記錄當(dāng)前正在被服務(wù)的所有中斷級,包括尚未服務(wù)完而中途被更高優(yōu)先級打斷的中斷級。若微處理器響應(yīng)了IRi中斷請求,則ISR中與之對應(yīng)的第i位置1。該中斷處理結(jié)束前,要使用指令清除這一位。此寄存器的內(nèi)容可以被微處理器讀出。8.3 可編程中斷控制器8259A及其應(yīng)用4、優(yōu)先權(quán)處理器

優(yōu)先權(quán)處理器用于識別和管理各中斷請求信號的優(yōu)先級別。當(dāng)幾個中斷請求信號同時出現(xiàn)時,微處理器響應(yīng)中斷請求時,把優(yōu)先權(quán)最高的IRR中的“1”送入ISR。當(dāng)8259A正在為某一級中斷服務(wù)時,若又出現(xiàn)新的中斷請求,由優(yōu)先權(quán)處理器判斷新出現(xiàn)的中斷請求的優(yōu)先級別并決定是否進(jìn)入多重中斷處理。8.3 可編程中斷控制器8259A及其應(yīng)用5、控制邏輯

在8259A的控制邏輯電路中,有一組初始化命令字寄存器ICW1~ICW4和一組操作命令字寄存器OCW1~OCW3。初始化命令字在系統(tǒng)初始化時置入,工作過程中一般保持不變。操作命令字在工作過程中根據(jù)需要設(shè)定。控制邏輯電路按照編程設(shè)定的工作方式管理8259A的全部工作。8.3 可編程中斷控制器8259A及其應(yīng)用6、數(shù)據(jù)總線緩沖器

這是一個8位的雙向三態(tài)緩沖器,是8259A與系統(tǒng)數(shù)據(jù)總線的接口。8259A通過數(shù)據(jù)總線緩沖器接收微處理器發(fā)來的控制字,也通過數(shù)據(jù)總線緩沖器向微處理器發(fā)送中斷類型碼和狀態(tài)信息。8.3 可編程中斷控制器8259A及其應(yīng)用7、讀寫控制邏輯D4D3讀寫操作0000000111110000001x01xx數(shù)據(jù)總線→OCW2數(shù)據(jù)總線→OCW3數(shù)據(jù)總線→ICW1數(shù)據(jù)總線→ICW2,ICW3,ICW4,OCW100010011IRR或ISR或中斷級別編碼→數(shù)據(jù)總線IMR→數(shù)據(jù)總線8.3 可編程中斷控制器8259A及其應(yīng)用

系統(tǒng)需要擴展而使用多個8259A時,要有一個8259A作為主器件而其他的作為從器件。級聯(lián)緩沖/比較器在級聯(lián)方式的主/從結(jié)構(gòu)中,用來控制8259A的級聯(lián)。與此部件相關(guān)的有3根級聯(lián)線CAS2~CAS0和1根主從設(shè)備設(shè)定/緩沖器讀寫控制線/。8、級聯(lián)緩沖/比較器

8.3 可編程中斷控制器8259A及其應(yīng)用三、8259A的工作方式1、8259A的工作過程①中斷源在中斷請求輸入端IR0~IR7上產(chǎn)生中斷請求;②中斷請求被鎖存在IRR中,并經(jīng)IMR“屏蔽”,其結(jié)果送給優(yōu)先權(quán)電路判斷;③控制邏輯接收中斷請求,向微處理器輸出INT信號;④微處理器從INTR引腳接受8259A的INT信號,進(jìn)入連續(xù)兩個INTA周期;⑤優(yōu)先權(quán)電路檢出優(yōu)先權(quán)最高的中斷請求位,設(shè)置ISR中的對應(yīng)位;⑦8086CPU讀取該中斷類型號,轉(zhuǎn)移到相應(yīng)的中斷處理程序;⑧在中斷處理結(jié)束前,中斷處理程序向8259A發(fā)送一個EOI(中斷結(jié)束)命令,使ISR相應(yīng)位復(fù)位,本次中斷到此結(jié)束。⑥若8259A作為主控中斷控制器,則在第一個INTA周期將級聯(lián)地址從CAS2~CAS0送出,若8259A是單獨使用或是由CAS2~CAS0選擇的從屬控制器,就在第二個INTA周期將一個中斷類型號輸出到低8位數(shù)據(jù)總線上;2、8259A的優(yōu)先權(quán)管理(1)固定優(yōu)先級

這種方式下各個中斷源的優(yōu)先級由它所連接的引腳編號決定,一旦連接,其優(yōu)先級就已確定。具體有全嵌套方式和特殊全嵌套方式兩種。

全嵌套方式下,中斷優(yōu)先權(quán)的級別是固定的,IR0優(yōu)先權(quán)最高,IR1~IR6逐級次之,IR7最低。8.3 可編程中斷控制器8259A及其應(yīng)用

特殊全嵌套方式一般用于8259A級聯(lián)的情況。系統(tǒng)中有多片8259A,一片為主片,其他為從片。從片上的8個中斷請求通過它的INT引腳連接到主片的某個中斷請求輸入端IRi上。從片上的8個中斷請求有不同的優(yōu)先級,但從主片看來,這些中斷請求來自同一個引腳,屬于同一級別。假設(shè)從片工作在全嵌套方式,先后收到了兩次中斷請求,而且第二次中斷請求有較高的優(yōu)先級,那么該從片就會兩次通過INT引腳向上一級申請中斷。如果主片采用全嵌套方式,則它不會響應(yīng)來自同一個引腳的第二次中斷請求。而采用特殊全嵌套方式后,就會響應(yīng)該請求。(2)循環(huán)優(yōu)先級

這種方式下,各個中斷申請具有大體相同的優(yōu)先級。它分為自動循環(huán)方式和優(yōu)先權(quán)特殊循環(huán)方式。

在優(yōu)先權(quán)自動循環(huán)方式下,某一個中斷源受到中斷服務(wù)后,它的優(yōu)先權(quán)自動降為最低,而與之相鄰的優(yōu)先級升為最高。8259A在設(shè)置優(yōu)先權(quán)自動循環(huán)方式之初,總是自動規(guī)定IR0具有最高優(yōu)先權(quán),IR7具有最低優(yōu)先權(quán)。

優(yōu)先權(quán)特殊循環(huán)方式與優(yōu)先權(quán)自動循環(huán)方式僅有一處不同:在優(yōu)先權(quán)自動循環(huán)方式下,一開始的最高優(yōu)先權(quán)固定為IR0;而在優(yōu)先權(quán)特殊循環(huán)方式下,由編程確定最初的最低優(yōu)先權(quán),從而也就確定了最高優(yōu)先權(quán)。8.3 可編程中斷控制器8259A及其應(yīng)用3、8259A中斷屏蔽方式

普通屏蔽方式和特殊屏蔽方式。

普通屏蔽方式是將中斷屏蔽字寫入IMR而實現(xiàn)的。某位為“1”,對應(yīng)位中斷請求被屏蔽;為“0”則開放。

特殊屏蔽方式是用于這樣一種特殊要求的場合:在執(zhí)行較高級的中斷服務(wù)時,由于某種特殊原因,希望開放較低級別的中斷請求。采用特殊屏蔽方式并用屏蔽字對IMR中某一位置“1”,會同時使ISR中對應(yīng)位清“0”,這樣不但屏蔽了當(dāng)前正在服務(wù)的較高中斷級,同時真正開放了其他優(yōu)先權(quán)較低的中斷級。4、8259A中斷結(jié)束方式

中斷結(jié)束的方式:自動中斷結(jié)束方式(AEOI)和非自動中斷結(jié)束方式(EOI)。

中斷服務(wù)完成時,必須給8259A一個命令,使這個中斷級在ISR中的相應(yīng)位清“0”,表示該中斷處理已經(jīng)結(jié)束。8.3 可編程中斷控制器8259A及其應(yīng)用

自動中斷結(jié)束方式(AEOI):

在這種方式下,系統(tǒng)一旦進(jìn)入中斷響應(yīng),8259A就在第二個中斷響應(yīng)周期INTA信號的后沿,自動將ISR中被響應(yīng)中斷級的對應(yīng)位清“0”。這是一種最簡單的中斷結(jié)束處理方式,可以通過初始化命令來設(shè)定。這種方式只能用在系統(tǒng)中只有一個8259A,且多個中斷不會嵌套的情況。8.3 可編程中斷控制器8259A及其應(yīng)用

非自動中斷結(jié)束方式(EOI):

在這種工作方式下,從中斷服務(wù)程序返回前,必須在程序里向8259A輸出一個中斷結(jié)束命令(EOI),把ISR對應(yīng)位清“0”。具體有兩種:

一般的中斷結(jié)束方式。指令內(nèi)不指定清除ISR中的哪一位,由8259A自動選擇優(yōu)先權(quán)最高的位。

特殊的中斷結(jié)束EOI命令。在指令內(nèi)指明要清除ISR中某一位。8.3 可編程中斷控制器8259A及其應(yīng)用5、8259A的查詢工作方式8259A工作在程序查詢方式時,8259A不向微處理器發(fā)INT信號,微處理器通過查詢8259A了解有無中斷。查詢字格式為:

I××××W2W1W0I=1表示有中斷請求,I=0表示沒有中斷請求。W2W1W0表示8259A請求服務(wù)的最高優(yōu)先級編碼。若有,根據(jù)W2W1W0的值轉(zhuǎn)移到對應(yīng)的中斷服務(wù)程序去。8.3 可編程中斷控制器8259A及其應(yīng)用6、讀8259A的狀態(tài)8259A內(nèi)部的IRR、ISR和IMR的狀態(tài)可以通過適當(dāng)?shù)淖x命令讀到微處理器中,以了解8259A的工作情況。上述的各種工作方式,都是通過8259A的初始化命令字(ICW1~ICW4)和操作命令字(OCW1~OCW3)來設(shè)定的。8.3 可編程中斷控制器8259A及其應(yīng)用四、8259A的編程8259的編程分為兩個階段:初始化階段和操作階段。初始化階段應(yīng)該在系統(tǒng)加電或復(fù)位后由初始化程序完成。用輸出指令向8259置入初始化命令。操作階段,用輸出指令向8259發(fā)適當(dāng)?shù)牟僮髅钭郑瑢崿F(xiàn)對8259的狀態(tài)、中斷方式和過程的控制。8.3 可編程中斷控制器8259A及其應(yīng)用初始化編程的任務(wù):第一、設(shè)定中斷請求信號的有效形式,即高電平有效,還是低電平向高電平跳變的上升沿有效;第二、是單片工作方式還是級聯(lián)工作方式;第三、設(shè)定8259管理的中斷類型號基值,即0級中斷IR0對應(yīng)的中斷類型號,當(dāng)中斷請求響應(yīng)時,得到中斷向量表中相應(yīng)的地址;第四、設(shè)定各級的優(yōu)先排序規(guī)則;第五、設(shè)定一次中斷處理結(jié)束時的結(jié)束操作規(guī)則。通過向8259發(fā)初始化命令字ICW實現(xiàn)。1、初始化命令字ICW8259A有4個初始化命令字寄存器ICW1~ICW4。8259A開始工作時,必須對它寫入初始化命令字,使它按預(yù)定的工作方式工作。8.3 可編程中斷控制器8259A及其應(yīng)用(1)初始化命令字ICW1:格式:設(shè)置ICW1需要I/O地址為A0=0。

D7D6D5D4D3D2D1D0×××1LTIM0SNGLIC4其中:×表示無關(guān)位,可以是任意值;

LTIM=1:表示有效的中斷請求信號是高電平,為0是低電平向高電平跳變的上升沿;

SNGL=1:表示單片工作,為0多片級聯(lián);IC4=1:表示在后面程序還要設(shè)置初始化命令I(lǐng)CW4,為0不再設(shè)置ICW4;D4=1:是ICW1的特征標(biāo)志(2)初始化命令字ICW2

用于設(shè)置中斷類型號基值。格式為:

D7D6D5D4D3D2D1D0T7T6T5T4T3000其中:低3位必須為0;若兩片8259A的中斷類型號基值分別為08H和70H,ICW2的高5位T7~T3分別為00001和01110。

設(shè)置ICW2的地址為A0=1。初始化命令字ICW2說明:①外中斷的中斷類型號是在中斷需要期間由8259提供的;②

8259是根據(jù)初始化過程中用ICW2命令置入的中斷類型號基值來提供中斷類型號。③

IR0對應(yīng)的中斷類型號是中斷類型號基值,一定能被8整除的正整數(shù)。8.3 可編程中斷控制器8259A及其應(yīng)用(3)初始化命令字ICW3

專為級聯(lián)而設(shè)置的。當(dāng)只有一片8259A(即設(shè)ICW1的D1位為1),則不設(shè)置ICW3;當(dāng)多于一片時,將主片和從片的ICW1中D1位設(shè)置為0;且在設(shè)置ICW2之后向A0=1地址設(shè)置的才是ICW3。

D7D6D5D4D3D2D1D0S7S6S5S4S3S2S1S0Si=1,表示對應(yīng)的IRi引腳輸入來自從片8259A的INT輸出(即該引腳被從片8259A級聯(lián));為0表示對應(yīng)的IRi輸入來自中斷源。ICW3(從屬)00000該3位的編碼對應(yīng)從屬8259接主控IR的編號

例如:從屬芯片接到主控芯片的IR2上,則從屬芯片的ICW3對應(yīng)的是02H;主片中設(shè)置的ICW3為00000100。

初始化命令字ICW4:只有ICW1的IC4位為1才能設(shè)置ICW4,格式為:

D7D6D5D4D3D2D1D0000SFNMBUFM/SAEOIμPM1-中斷自動結(jié)束0-中斷正常結(jié)束0×非緩沖方式10緩沖方式/從片11緩沖方式/主片1-特殊全嵌套方法0-正常全嵌套方法1-8086/8088方式0-8080/8085方式8.3 可編程中斷控制器8259A及其應(yīng)用8259初始化命令字設(shè)置次序:ICW1ICW2SNGL=1?ICW3NY地址A0=0(20H)A0=1(21H)A0=1(21H)A0=1(21H)IC4=1?YICW4N2、操作命令字OCW

系統(tǒng)運行中可以向8259發(fā)操作命令字,對8259A管理中斷的方式進(jìn)行修改和設(shè)定;8259A共有OCW1、OCW2和OCW3三個操作控制字。與初始化命令字ICW不同,OCW不是按照既定流程寫入,而是按需要選擇寫入。(1)操作控制字OCW1

用于設(shè)置屏蔽狀態(tài)。用輸出指令把OCW1發(fā)送到IMR中斷屏蔽寄存器IMR中為1的位對應(yīng)的中斷級的輸入線IR處于被屏蔽狀態(tài)。被屏蔽的中斷級請求不能使8259的INT輸出端產(chǎn)生有效的請求信號。設(shè)置OCW1的I/O地址是A0=1。OCW1格式為:D7D6D5D4D3D2D1D01:屏蔽響應(yīng)的IR

0:允許相應(yīng)的IR中斷

例如:將42H寫入OCW1,則IR6和IR1被屏蔽,而IR0、IR2、IR3、IR4、IR5和IR7允許中斷。

向地址A0=1發(fā)的OCW1是屏蔽字,對同一地址的輸入指令將讀回OCW1設(shè)置的屏蔽字。(2)操作控制字OCW2

用來改變/設(shè)置中斷優(yōu)先級模式和發(fā)送中斷結(jié)束命令。設(shè)置OCW2地址的是A0=0。格式為:RSLEOI00L2L1L0

指定中斷級

0000

0011

...

1117

R=0固定優(yōu)先權(quán)

R=1循環(huán)優(yōu)先權(quán)

SL=0表明L2、L1、LO無意義

SL=1表明L2、L1、LO有意義

EOI=1向8259A發(fā)中斷結(jié)束命令;EOI=0這位不起作用(3)操作控制字OCW3

用于管理特殊的屏蔽方式和查詢方法。設(shè)置OCW3地址的是A0=0。

D7D6D5D4D3D2D1D00ESMMSMM01PRRRIS

它的特征標(biāo)識為D4D3=01ESMM:特殊屏蔽方式,為1允許特殊屏蔽方式SMM:特殊屏蔽方式標(biāo)識,1表示特殊屏蔽方式,0表示非特殊屏蔽方式ESMM為1,SMM為才有意義,否則無意義。D7D6D5D4D3D2D1D00ESMMSMM01PRRRISP:管理查詢方式,1表示向8259A發(fā)查詢命令

0表示不發(fā)查詢命令RR、RIS:控制讀出8259內(nèi)部寄存器IRR和ISR

的內(nèi)容,10、11讀寄存器IRR、ISR

的命令;00、01無意義,其中

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論