版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第
九章中斷控制器8259A中斷控制器概述8259A的外部引腳、內(nèi)部結(jié)構(gòu)及工作原理8259A的內(nèi)部結(jié)構(gòu)8259A的工作原理8259A的外部引腳8259A的控制寄存器及其編程可編程的寄存器8259A的端口地址分配8259A的初始化命令子及初始化編程8259A的工作編程應(yīng)用舉例IBMPC/AT機(jī)的中斷管理著三種中斷源:(1)內(nèi)部中斷源(2)非屏蔽中斷NMI(3)可屏蔽中斷INTR
其中可屏蔽中斷源由8259A中斷控制器進(jìn)行管理,之后向CPU發(fā)出INTR中斷請(qǐng)求。一、中斷控制器概述8259的基本功能:能接收外部的中斷請(qǐng)求,并進(jìn)行判斷,選中當(dāng)前優(yōu)先級(jí)最高的中斷請(qǐng)求送CPU的INTR引腳。能在CPU響應(yīng)中斷時(shí),送出對(duì)應(yīng)中斷源的中斷類(lèi)別號(hào),從而能迅速轉(zhuǎn)至中斷服務(wù)程序。能在CPU響應(yīng)并進(jìn)入中斷子程序處理過(guò)程中,仍負(fù)責(zé)對(duì)其它外部中斷請(qǐng)求的管理,可讓更高級(jí)的中斷請(qǐng)求被響應(yīng),而中斷現(xiàn)行中斷處理(嵌套)。每一級(jí)中斷都可以被屏蔽或允許。8259A的特點(diǎn):1片8259A能管理8級(jí)中斷(8個(gè)中斷源)。可以級(jí)聯(lián),在不增加其它電路的情況下,可由9片8259A構(gòu)成64級(jí)的主從式中斷管理系統(tǒng)。8259A可以編程設(shè)置各種不同的工作方式。如:優(yōu)先級(jí)方式(4種)、屏蔽中斷源的方式(2種)、結(jié)束中斷的方式(3種)、連接系統(tǒng)數(shù)據(jù)總線的方式(2種)、引入中斷請(qǐng)求的觸發(fā)方式(3種)等等,非常靈活,故我們稱(chēng)8259A為可編程的中斷控制器。二、8259A的外部引腳、編程結(jié)構(gòu)和工作原理(1)8259A的外部引腳信號(hào)(2)8259A的內(nèi)部結(jié)構(gòu)(3)8259A對(duì)外部中斷的處理過(guò)程(工作原理)(3)8259A的外部引腳
VCC
A0
INTA
IR7
IR6
IR5
IR4
IR3
IR2
IR1
IR0
INT
SP/EN
CAS2CS
WR
RD
D7
D6
D5
D4
D3
D2
D1
D0
CAS0
CAS1
GND1
8259A28
2
27
3
26
4
25
5
24
6
23
7
22
8
21
9
20
10
19
11
18
12
17
13
16
1415圖38259A的外部引腳D7~D0INTAINT中斷請(qǐng)求寄存器中斷屏蔽寄存器數(shù)據(jù)總線緩沖器IR0IR7讀/寫(xiě)控制邏輯級(jí)聯(lián)緩沖器比較器RDWRA0CSCAS0CSA1CAS2SP/EN優(yōu)先權(quán)判別電路中斷服務(wù)寄存器控制邏輯(2)8259A內(nèi)部結(jié)構(gòu)IRRPRISRIMR中斷請(qǐng)求寄存器IRR保存8條外界中斷請(qǐng)求信號(hào)IR0~I(xiàn)R7的請(qǐng)求狀態(tài)Di位為1表示IRi引腳有中斷請(qǐng)求;為0表示無(wú)請(qǐng)求中斷服務(wù)寄存器ISR保存正在被8259A服務(wù)著的中斷狀態(tài)Di位為1表示IRi中斷正在服務(wù)中;為0表示沒(méi)有被服務(wù)中斷屏蔽寄存器IMR保存對(duì)中斷請(qǐng)求信號(hào)IR的屏蔽狀態(tài)Di位為1表示IRi中斷被屏蔽(禁止);為0表示允許
8259A是28腳的芯片,除電源外還有26腳。
D7~D0:與數(shù)據(jù)總線的低8位相連。實(shí)現(xiàn)8259A和CPU的數(shù)據(jù)交換。在小系統(tǒng)中,可直接與CPU相連。(非緩沖方式)在大系統(tǒng)中,通過(guò)總線驅(qū)動(dòng)器與CPU相連。(緩沖方式)
(續(xù))8259A的外部引腳
INT:與CPU的INTR相連,向CPU發(fā)中斷請(qǐng)求。INTA:與CPU的INTA相連,接收CPU發(fā)出的中斷響應(yīng)信號(hào)。在CPU的中斷響應(yīng)周期,將發(fā)來(lái)兩個(gè)連續(xù)的INTA,在第二個(gè)INTA結(jié)束時(shí),CPU取走8259A提供的當(dāng)前中斷源的中斷類(lèi)別號(hào)。IR7~IR0:8條外部中斷請(qǐng)求線。接收外設(shè)的中斷請(qǐng)求。
在級(jí)聯(lián)方式的系統(tǒng)中,IRi可接從片的INT引腳。RD、WR:讀/寫(xiě)命令信號(hào)線,低電平有效。執(zhí)行IN/OUT指令時(shí),在I/O總線周期由CPU產(chǎn)生,通過(guò)CB總線送來(lái)。(續(xù))8259A的外部引腳
CS:片選信號(hào),由高位地址譯碼產(chǎn)生。A0:用以選擇8259A內(nèi)部不同的端口寄存器
8259A內(nèi)部有兩個(gè)端口:一個(gè)偶地址端口一個(gè)奇地址端口
CAS2~CAS0:級(jí)聯(lián)信號(hào)線。該信號(hào)是雙向的:當(dāng)8259A作為主片時(shí),這三條線為輸出線;當(dāng)8259A作為從片時(shí),這三條線為輸入線,指出是哪一個(gè)從片(000~111)——表示IR0~IR7(續(xù))8259A的外部引腳
SP/EN:從片/允許緩沖器信號(hào)(雙向、低電平有效)
當(dāng)它作為輸入信號(hào)時(shí)(含義SP,接+5V或接地):
SP=1表示該8259A是主片;
此時(shí)的CAS2~CAS0為輸出,輸出三位從片編碼。
SP=0表示該8259A是從片。
此時(shí)的CAS2~CAS0為輸入,接收主片的三位編碼,與自己的從片編碼比較,相同則選中。
當(dāng)它作為輸出信號(hào)時(shí)(含義EN)有的應(yīng)用場(chǎng)合,8259A數(shù)據(jù)線和系統(tǒng)總線之間要加總線驅(qū)動(dòng)器,此時(shí)用EN有效作為允許緩沖器接通信號(hào),啟動(dòng)總線驅(qū)動(dòng)器。這時(shí)EN是輸出信號(hào)。CAS0IR0CAS1IR1CAS2IR2
IR3-INTAIR4IR5INTIR6IR7-SP/-EN
CAS0-INTA
CAS1
CAS2INT
IR0
IR1-SP/-ENIR7CAS0IR0CAS1IR1CAS2IR2IR3-INTAIR4IR5INTIR6IR7-SP/-EN-INTAINTR+5V8259級(jí)聯(lián)工作示意圖輸出得到響應(yīng)的從片編號(hào)(續(xù))8259A的外部引腳
EN有效的情況下,如果又是級(jí)聯(lián)方式,則無(wú)法區(qū)分主從片了。這時(shí)靠初始化時(shí)編程設(shè)置。
SP/EN到底是作為輸入還是輸出,取決于什么呢?取決于8259A是否采用緩沖方式工作(如采用則SP/EN為輸出,若不采用則SP/EN為輸入。(3)8259A的工作原理(對(duì)外部中斷的處理過(guò)程)P272圖7.2
中斷請(qǐng)求寄存器IRR接收外部的中斷請(qǐng)求,當(dāng)哪一個(gè)設(shè)備有了中斷請(qǐng)求信號(hào),IRR的對(duì)應(yīng)位就被置1,即該中斷請(qǐng)求被鎖存。工作寄存器OCW1又叫做中斷屏蔽寄存器IMR,D7~D0分別對(duì)應(yīng)IR7~IR0是否被屏蔽,當(dāng)該位為0時(shí)未屏蔽,為1時(shí)表示屏蔽。當(dāng)中斷請(qǐng)求被IRR鎖存后,如果IMR對(duì)應(yīng)位未屏蔽,就讓中斷請(qǐng)求通過(guò)而進(jìn)入PR(中斷優(yōu)先級(jí)裁決器),否則中斷請(qǐng)求進(jìn)不了PR。
PR把新進(jìn)入的中斷請(qǐng)求和ISR(當(dāng)前中斷服務(wù)寄存器)中存放的正在處理的中斷進(jìn)行比較,來(lái)決定誰(shuí)的優(yōu)先級(jí)更高。如果PR判斷出新的中斷請(qǐng)求比當(dāng)前處理的中斷請(qǐng)求級(jí)別高,則PR會(huì)通過(guò)相應(yīng)的邏輯電路使8259的INT為1,向CPU發(fā)出一個(gè)新的中斷請(qǐng)求。CPU若響應(yīng),則可中斷現(xiàn)行的中斷處理(當(dāng)然要滿足中斷相應(yīng)條件)。CPU響應(yīng)中斷時(shí),從INTA引腳往8259A連續(xù)送兩個(gè)INTA信號(hào)(在兩個(gè)中斷響應(yīng)周期中)。(續(xù))
8259A的工作原理(對(duì)外部中斷的處理過(guò)程)第一個(gè)負(fù)脈沖到達(dá)時(shí),8259A做3個(gè)動(dòng)作:1)使IRR的鎖存功能失效,不能接收新的中斷請(qǐng)求。2)使當(dāng)前中斷服務(wù)寄存器ISR中的相應(yīng)位置1。3)使IRR寄存器中的相應(yīng)位清零。第二個(gè)負(fù)脈沖到達(dá)時(shí),8259A完成:1)使IRR鎖存功能有效,可以接收新的中斷請(qǐng)求。2)將中斷源的中斷類(lèi)型號(hào)送上數(shù)據(jù)總線(中斷類(lèi)別碼寄存器ICW2)。3)如果工作在中斷自動(dòng)結(jié)束方式,那么在第二個(gè)INTA脈沖結(jié)束時(shí),8259A會(huì)將第一個(gè)脈沖到來(lái)時(shí)設(shè)置的當(dāng)前中斷服務(wù)寄存器ISR的相應(yīng)位清零。
8259A的編程結(jié)構(gòu)ISRPRIRRIMR奇偶(4)8259A控制寄存器及I/O端口的識(shí)別表28259A讀寫(xiě)操作及地址CSRDWRA0功能8259A端口PC/XT機(jī)端口0010讀IRR,ISR偶地址20H0011讀IMR奇地址21H0100寫(xiě)ICW1,OCW2,OCW3偶地址20H0101寫(xiě)ICW2,ICW3,ICW4,OCW1奇地址21H011×無(wú)操作
1×××無(wú)操作
三.工作方式1、設(shè)置優(yōu)先級(jí)的方式(1)一般完全嵌套方式(2)特殊完全嵌套方式(3)優(yōu)先級(jí)自動(dòng)循環(huán)方式(4)優(yōu)先級(jí)特殊循環(huán)方式一般完全嵌套方式8259A的缺省工作方式
固定優(yōu)先級(jí)IR0最高、IR7最低,高優(yōu)先級(jí)可以中斷低優(yōu)先級(jí),只有當(dāng)更高級(jí)的中斷請(qǐng)求來(lái)到時(shí),才會(huì)進(jìn)行嵌套。屏蔽同級(jí)和低級(jí)的中斷請(qǐng)求(2)特殊完全嵌套方式
固定優(yōu)先級(jí)IR0最高、IR7最低,同級(jí)也可中斷嵌套,只屏蔽低級(jí)中斷。當(dāng)更高級(jí)的或同級(jí)中斷請(qǐng)求來(lái)到時(shí),會(huì)進(jìn)行嵌套。這種特殊的全嵌套方式一般用在主從式結(jié)構(gòu)中,主片采用特殊的全嵌套方式,而從片則工作于其它的工作方式如一般完全嵌套方式。(3)優(yōu)先級(jí)自動(dòng)循環(huán)方式指各中斷請(qǐng)求的優(yōu)先級(jí)是不斷變化,當(dāng)一個(gè)外部I/O設(shè)備申請(qǐng)中斷并被響應(yīng)后,它的優(yōu)先級(jí)自動(dòng)降為最低。初始優(yōu)先級(jí)排列為IR0,IR1,…,IR6,IR7。比如當(dāng)IR2申請(qǐng)中斷并得到響應(yīng)后,此時(shí)優(yōu)先級(jí)隊(duì)列重新排列,由高到低依次為IR3,IR4,…,IR7,IR0,IR1,IR2。當(dāng)系統(tǒng)中多個(gè)中斷的優(yōu)先級(jí)相等時(shí)一般采用該方式。(4)優(yōu)先級(jí)特殊循環(huán)方式與優(yōu)先級(jí)自動(dòng)循環(huán)方式相比,只有一點(diǎn)不同,就是最初優(yōu)先級(jí)隊(duì)列可以由編程設(shè)定,而不像優(yōu)先級(jí)自動(dòng)循環(huán)方式那樣最初的優(yōu)先級(jí)隊(duì)列是確定的。屏蔽中斷源的方式
中斷禁止(IF=0);中斷屏蔽(設(shè)置IMR)
普通屏蔽方式
通過(guò)IMR設(shè)置,0允許,1屏蔽
(2)特殊屏蔽方式(允許發(fā)生低級(jí)的中斷嵌套,用于級(jí)連時(shí)的主片)
開(kāi)放低級(jí)中斷
將IMR的Di位置1,對(duì)應(yīng)的中斷IRRi被屏蔽的同時(shí),使ISR的Di位置03.結(jié)束中斷處理的方式中斷自動(dòng)結(jié)束方式(2)一般的中斷結(jié)束方式(3)特殊的中斷結(jié)束方式
返回本節(jié)什么是8259A的中斷結(jié)束?8259A利用中斷服務(wù)寄存器ISR判斷:某位為1,表示正在進(jìn)行中斷服務(wù);該位為0,就是該中斷結(jié)束服務(wù)。這里說(shuō)明如何使ISR某位為0,不反映CPU的工作狀態(tài)。中斷自動(dòng)結(jié)束方式多個(gè)中斷源不會(huì)發(fā)生嵌套的場(chǎng)合,8259A收到中斷響應(yīng)信號(hào)后自動(dòng)將ISR中對(duì)應(yīng)位清‘0’(2)
一般的中斷結(jié)束方式(配合固定優(yōu)先級(jí)方式使用)指在中斷程序結(jié)束前,CPU向8259A的端口發(fā)出指令告訴中斷處理程序結(jié)束,8259A會(huì)自動(dòng)把當(dāng)前ISR中優(yōu)先級(jí)最高的‘1’位清‘0’,由于一般中斷結(jié)束方式應(yīng)用于全嵌套方式下,因此優(yōu)先級(jí)最高的‘1’位與當(dāng)前服務(wù)的中斷相對(duì)應(yīng),這樣也就結(jié)束了當(dāng)前正在處理的中斷。(3)特殊的中斷結(jié)束方式(配合循環(huán)優(yōu)先級(jí)方式使用)
在非全嵌套方式下,當(dāng)中斷處理程序結(jié)束時(shí),CPU向8259A發(fā)出一個(gè)特殊EOI指令來(lái)指出要清除當(dāng)前中斷服務(wù)寄存器中的哪一位。4.連接系統(tǒng)總線的方式緩沖方式:8259A通過(guò)總線驅(qū)動(dòng)器和數(shù)據(jù)總線相連,這就是緩沖方式。8259A的數(shù)據(jù)線需加緩沖器予以驅(qū)動(dòng)8259A把SP*/EN*引腳作為輸出端,輸出允許信號(hào),用以鎖存或開(kāi)啟緩沖器(2)非緩沖方式:當(dāng)系統(tǒng)中只有單片8259A時(shí),一般將它直接與數(shù)據(jù)總線相連。
SP*/EN*引腳為輸入端若8259A級(jí)連,由其確定是主片或從片
B7~B0
T
74LS245OE
A7~A0
DT/R
INTR
DEN
局部數(shù)據(jù)總線
B7~B0
T
74LS245OE
A7~A0
SP/END7~D0
從控B
CAS2-0INTAINT
SP/END7~D0
從控A
CAS2-0INTAINT
SP/END7~D0
主控制器INT
IR5IR6INTACAS2-0
+5V1kΩ
B7~B0
OE74LS245T
A7~A0
+5V1kΩ
+5V1kΩ
系統(tǒng)數(shù)據(jù)總線
INTA
圖48259A緩沖方式下級(jí)連結(jié)構(gòu)圖58259A非緩沖方式下級(jí)連結(jié)構(gòu)返回本節(jié)5.引入中斷方式1)邊沿觸發(fā)方式上跳沿有效
2)電平觸發(fā)方式高電平有效
3)中斷查詢(xún)方式u
外設(shè)仍然通過(guò)向8259A發(fā)中斷申請(qǐng)信號(hào),請(qǐng)求CPU為其服務(wù),但8259A不向CPU發(fā)申請(qǐng),即8259A不與INTR引腳相連u
CPU處于關(guān)中斷狀態(tài)(IF=0),靠程序查詢(xún)8259A的相關(guān)寄存器來(lái)識(shí)別中斷源。u
既有中斷的特點(diǎn),又有查詢(xún)的特點(diǎn)u
不需設(shè)置中斷向量表
四、8259A初始化命令字和操作方式命令字1、初始化命令字ICW
(1)ICW1(2)ICW2(3)ICW3
(4)ICW4
(5)初始化命令字的編程順序(1)ICW1命令字
芯片控制初始化命令字,必須寫(xiě)入偶地址端口
A0
D7
D6D5
D4D3
D2
D1
D0
0
1:要ICW4
0:不要ICW4
1:?jiǎn)纹绞?/p>
0:級(jí)連方式
偶地址端口
8086/8088系統(tǒng)不用
特征位
1:電平觸發(fā)
0:邊沿觸發(fā)
XXX1LTIMADISNGLIC4
8086/8088系統(tǒng)無(wú)意義8086/8088系統(tǒng)必須為1(2)ICW2命令字用來(lái)設(shè)定中斷類(lèi)型碼,必須奇地址端口(A0=1)。
A0
D7
D6
D5
D4
D3
D2
D1D0
1
中斷類(lèi)型號(hào)的高5位由用戶編程確定
8259A自動(dòng)填入
T7T6T5T4T3000
000:IR0001:IR1、、、111:IR7奇地址端口(3)ICW3命令字設(shè)定主片/從片標(biāo)志,奇地址端口,只有多片級(jí)聯(lián)時(shí)才設(shè)置。主片的ICW3如下:
1:IRi輸入引腳接從片的INT
0:-IRi輸入引腳未接從片的INT
A0
D7
D6
D5
D4
D3
D2
D1
D0
IR3
IR2
IR1
IR0
IR4
IR5
IR6
IR7
1
奇地址端口(3)ICW3命令字從片的標(biāo)識(shí)碼從片的ICW3如下:
A0
D7
D6
D5
D4
D3
D2
D1
D0
0
ID2
ID1
ID0
0
0
0
0
1
奇地址端口000:該從片與主片的IR0引腳相連001:該從片與主片的IR1引腳相連、、、111:該從片與主片的IR7引腳相連(4)ICW4命令字方式控制初始化命令字,必須填入奇地址端口。
1-8088/8086CPU
0-8080/8085CPU
1-自動(dòng)EOI方式
0-非自動(dòng)EOI方式
1-特殊完全嵌套方式
0-一般完全嵌套方式
0
X
非緩沖方式
1
0
緩沖方式從片
1
1
緩沖方式主片
A0
D7
D6
D5
D4
D3
D2
D1D0
1
000SFNMBUFM/SAEOIuPM
P283/圖7.38086CPU中8259A初始化命令字的順序必須按順序?qū)懭隝CW1(偶地址端口)ICW2(奇地址端口)是級(jí)聯(lián)方式嗎?主或從片ICW3(奇地址端口)ICW4(奇地址端口)結(jié)束YN(5)、初始化編程舉例
1)8086/8088系統(tǒng),單片8259A,電平觸發(fā)、中斷類(lèi)型碼基值為40H,全嵌套方式,普通EOI方式,非緩沖方式,8259A的端口地址為20H、21H。ICW1:ICW2:ICW3:無(wú)ICW4:對(duì)8259A設(shè)置初始化命令字的例子MOV AL,1BHOUT 20H,AL ;設(shè)置ICW1MOV AL,40HOUT 21H,AL ;設(shè)置ICW2MOV AL,01HOUT 21H,AL ;設(shè)置ICW42)8086/8088系統(tǒng),3片8259A級(jí)聯(lián),兩片從8259A分別接入主8259A的IR3和IR4端,電平觸發(fā)、中斷類(lèi)型碼基值為分別為40H,50H,60H,普通EOI方式,緩沖方式,主片為特殊全嵌套方式,從片為一般全嵌套方式;8259A的端口地址為主片20H、21H;從片1為30H、31H;從片2為40H、41H。 主片 從片1 從片2ICW1ICW2ICW3ICW4主片8259A設(shè)置初始化命令字MOV AL,00011001BOUT 20H,AL ;設(shè)置ICW1MOV AL,40HOUT 21H,AL ;設(shè)置ICW2MOV AL,00011000BOUT 21H,AL ;設(shè)置ICW3MOV AL,00011101BOUT 21H,AL ;設(shè)置ICW4從片18259A設(shè)置初始化命令字MOV AL,00011001BOUT 30H,AL ;設(shè)置ICW1MOV AL,50HOUT 31H,AL ;設(shè)置ICW2MOV AL,00000011BOUT 31H,AL ;設(shè)置ICW3MOV AL,00001001BOUT 31H,AL ;設(shè)置ICW4從片28259A設(shè)置初始化命令字MOV AL,00011001BOUT 40H,AL ;設(shè)置ICW1MOV AL,60HOUT 41H,AL ;設(shè)置ICW2MOV AL,00000100BOUT 41H,AL ;設(shè)置ICW3MOV AL,00001001BOUT 41H,AL ;設(shè)置ICW42、操作命令字OCW
(1)OCW1
(2)OCW2
(3)OCW3(1)OCW1命令字
中斷屏蔽操作命令字,要求寫(xiě)入奇地址端口
1:輸入引腳對(duì)應(yīng)中斷請(qǐng)求受到屏蔽
0:輸入引腳對(duì)應(yīng)中斷請(qǐng)求得到允許
A0
D7
D6
D5
D4
D3
D2
D1
D0
M3
M2
M1
M0
M4
M5
M6M71
(1)OCW1命令字例子:允許系統(tǒng)中8259AIR2對(duì)應(yīng)的中斷請(qǐng)求INAL,21HANLAL,11111011BOUT21H,AL例子:屏蔽系統(tǒng)中8259AIR2對(duì)應(yīng)的中斷請(qǐng)求
(1)OCW1命令字例子:允許系統(tǒng)中8259AIR2對(duì)應(yīng)的中斷請(qǐng)求INAL,21HANDAL,11111011BOUT21H,AL例子:屏蔽系統(tǒng)中8259AIR2對(duì)應(yīng)的中斷請(qǐng)求INAL,21HORAL,00000100BOUT21H,AL
(2)OCW2命令字優(yōu)先級(jí)循環(huán)方式和中斷結(jié)束方式操作命令字,寫(xiě)入偶地址端口由R、SL、EOI組合實(shí)現(xiàn)
A0
D7
D6
D5
D4
D3
D2
D1
D0
0
L2
L1
L0
0
EOI
SL
R
0
1:優(yōu)先級(jí)循環(huán)0:固定優(yōu)先級(jí)1:L2~L0有效0:L2~L0無(wú)效
1:發(fā)中斷結(jié)束命令0:不發(fā)中斷結(jié)束命令標(biāo)志位
指定中斷源,000:IR0、、、111:IR7優(yōu)先級(jí)時(shí)代表最低級(jí)OCW2的總結(jié)RSLEOI功能100優(yōu)先級(jí)自動(dòng)循環(huán)方式000結(jié)束優(yōu)先級(jí)循環(huán)方式110特殊優(yōu)先級(jí)循環(huán)方式101發(fā)中斷結(jié)束命令,并仍用優(yōu)先級(jí)循環(huán)方式111發(fā)中斷結(jié)束命令,并用特殊優(yōu)先級(jí)循環(huán)方式011特殊中斷結(jié)束命令001一般中斷結(jié)束方式
RSLEOI001一般EOI命令011特殊EOI命令101優(yōu)先級(jí)自動(dòng)循環(huán)的EOI命令100設(shè)置優(yōu)先級(jí)自動(dòng)循環(huán)方式000結(jié)束優(yōu)先級(jí)自動(dòng)循環(huán)方式111特殊優(yōu)先級(jí)循環(huán)的EOI命令110設(shè)置特殊優(yōu)先級(jí)循環(huán)方式010無(wú)效
(2)OCW2命令字例子:使系統(tǒng)中的8259A優(yōu)先級(jí)順序?yàn)镮R3、IR4、、、OCW2:例子:向系統(tǒng)中的8259A發(fā)出一般中斷結(jié)束命令,清除最高優(yōu)先級(jí)的IS位OCW2:例子:向系統(tǒng)中的8259A發(fā)出特殊中斷結(jié)束命令,清除IS3OCW2:(2)OCW2命令字例子:使系統(tǒng)中的8259A優(yōu)先級(jí)順序?yàn)镮R3、IR4、、、OCW2:11000010MOVAL,0C2HOUT20H,AL例子:向系統(tǒng)中的8259A發(fā)出一般中斷結(jié)束命令,清除最高優(yōu)先級(jí)的IS位OCW2:00100000BMOVAL,20HOUT20H,AL例子:向系統(tǒng)中的8259A發(fā)出特殊中斷結(jié)束命令,清除IS3OCW2:01100011BMOVAL,63HOUT20H,AL
(3)OCW3命令字(三部分功能)
特殊屏蔽方式、中斷查詢(xún)方式、讀IRR/ISR命令字
A0
D7
D6
D5
D4
D3
D2
D1
D0
1
P
RR
RIS
0
SMM
ESMM
0
0
0X:無(wú)效10:取消特殊屏蔽方式11:設(shè)置特殊屏蔽方式
標(biāo)志位
0X:無(wú)效10:準(zhǔn)備讀IRR11:準(zhǔn)備讀ISR1:中斷查詢(xún)工作方式0:不查詢(xún)
(3)OCW3命令字例子:使系統(tǒng)中的8259A設(shè)置為特殊屏蔽方式
OCW3:例子:使系統(tǒng)中的8259A取消特殊屏蔽方式
OCW3:
(3)OCW3命令字例子:使系統(tǒng)中的8259A設(shè)置為特殊屏蔽方式
OCW3:01101000MOVAL,68HOUT20H,AL例子:使系統(tǒng)中的8259A取消特殊屏蔽方式
OCW3:01001000MOVAL,48HOUT20H,AL
(3)OCW3命令字查詢(xún)功能:CPU輸出查詢(xún)命令0CH,再執(zhí)行一條IN指令,讀入查詢(xún)字
A0
D7
D6
D5
D4
D3
D2
D1
D0
X
W2
W1
W0
X
X
X
IR
0
1:有中斷請(qǐng)求0:無(wú)
000:IR0優(yōu)先級(jí)最高001:IR1優(yōu)先級(jí)最高、、、111:IR7優(yōu)先級(jí)最高M(jìn)OVAL,0CH(00001100B)OUT20H,ALINAL,20H
;根據(jù)AL的值確定中斷源
(3)OCW3命令字讀IRR、ISR寄存器例子1:讀ISR 讀IRROCW3:00001011 00001010MOVAL,0BH MOVAL,0AHOUT20H,AL OUT20H,ALINAL,20H
INAL,20H五、8259A使用舉例1、中斷全嵌套方式的例子 2、中斷結(jié)束命令如何使用的例子 返回本節(jié) 8259A使用舉例1中斷全嵌套方式的例子例1結(jié)論1.主程序必須執(zhí)行開(kāi)中斷指令(STI),才有可能相應(yīng)中斷.2.每當(dāng)進(jìn)入一個(gè)中斷處理程序時(shí),系統(tǒng)會(huì)自動(dòng)關(guān)中斷,所以只有中斷處理程序再次應(yīng)用開(kāi)中斷指令,才有可能中斷嵌套.3.每個(gè)中斷處理程序結(jié)束后,必須執(zhí)行中斷結(jié)束命令,清除對(duì)應(yīng)的ISn位,才能返回?cái)帱c(diǎn). 8259A使用舉例2使用中斷結(jié)束命令的例子六、多片8259A的級(jí)聯(lián)組成的主從式中斷系統(tǒng)各個(gè)芯片的CAS2~CAS0并連在一起各個(gè)芯片的INTA并連在一起主片的INT與CPU的INTR引腳相連從片的INT與主片的IR引腳相連緩沖方式:每個(gè)8259A的SP/EN引腳分別控制各自的總線收發(fā)器主從片的區(qū)分由ICW4設(shè)置非緩沖方式:主片的SP/EN接+5V
從片的SP/EN接地
多片8259A組成的主從式中斷系統(tǒng)多片8259A組成的主從式中斷系統(tǒng)優(yōu)先級(jí)排列的例子1個(gè)主片2個(gè)從片,并設(shè)從片1連在主片的IR1引腳上,而從片2連在主片的IR2引腳上 主片:IR0(這是系統(tǒng)中的最高優(yōu)先級(jí))
從片1:IR0、IR1、IR2、IR3、IR4、IR5、IR6、IR7
從片2:IR0、IR1、IR2、IR3、IR4、IR5、IR6、IR7
主片:IR3、IR4、IR5、IR6、IR7 (主片的IR7為系統(tǒng)中的最低優(yōu)先級(jí))圖58259A非緩沖方式下級(jí)連結(jié)構(gòu)返回本節(jié)
B7~B0
T
74LS245OE
A7~A0
DT/R
INTR
DEN
局部數(shù)據(jù)總線
B7~B0
T
74LS245OE
A7~A0
SP/END7~D0
從控B
CAS2-0INTAINT
SP/END7~D0
從控A
CAS2-0INTAINT
SP/END7~D0
主控制器INT
IR5IR6INTACAS2-0
+5V1kΩ
B7~B0
OE74LS245T
A7~A0
+5V1kΩ
+5V1kΩ
系統(tǒng)數(shù)據(jù)總線
INTA
圖48259A緩沖方式下級(jí)連結(jié)構(gòu)
主從式系統(tǒng)的中斷響應(yīng)過(guò)程:
當(dāng)從片向主片的IRn發(fā)出中斷請(qǐng)求時(shí),如果此時(shí)主片允許中斷請(qǐng)求通過(guò)的話,那么主片通過(guò)INT端向CPU發(fā)出中斷請(qǐng)求信號(hào)。CPU響應(yīng)中斷后,同單片8259A系統(tǒng)一樣,CPU從INTA線上發(fā)送兩個(gè)負(fù)脈沖。
主片在收到第一個(gè)INTA信號(hào)后,將中斷服務(wù)寄存器ISR的對(duì)應(yīng)位置1,同時(shí)中斷請(qǐng)求寄存器IRR中的對(duì)應(yīng)位清0,并且同時(shí)將從片的標(biāo)識(shí)號(hào)送到CAS2~CAS0線上,比如,從片連接在主片的IR6引腿上,則此時(shí)CAS2~CAS0的取值為110。此時(shí),從片判斷自身的標(biāo)號(hào)是否與CAS2~CAS0上的取值一致,如果一致,則從片也對(duì)INTA信號(hào)響應(yīng),將本片的中斷服務(wù)寄存器ISR的相應(yīng)位置1,同時(shí)中斷請(qǐng)求寄存器IRR中的對(duì)應(yīng)位清0。
在第二個(gè)INTA信號(hào)到達(dá)后,此時(shí)主片不作出任何響應(yīng),從片則將對(duì)應(yīng)的中斷類(lèi)型號(hào)送到數(shù)據(jù)總線上。七、8259A在IBMPC系列機(jī)上的應(yīng)用CAS0~2CAS0~2+5V主8259A828880286CPUINTRD0~D7SP/ENINTD0~D7日時(shí)鐘鍵盤(pán)串行口2串行口1并行口2軟盤(pán)并行口1A0INTR1CS—IRQ0—IRQ1IRQ2—IRQ3—IRQ4—IRQ5—IRQ6—IRQ7—A0—CS
從8259AD0~D7INTSP/EN實(shí)時(shí)鐘改向0AH中斷保留保留保留協(xié)處理器硬盤(pán)保留A0INTR2CS—IRQ8—IRQ9—IRQ10—IRQ11—IRQ12—IRQ13—IRQ14—IRQ15—A0—CSINTARDWRINTAIORIOWINTARDWRCAS0~2
從8259AD0~D7INTSP/EN實(shí)時(shí)鐘改向0AH中斷保留保留保留協(xié)處理器硬盤(pán)保留A0INTR2CS—IRQ8—IRQ9—IRQ10—IRQ11—IRQ12—IRQ13—IRQ14—IRQ15—A0—CSINTARDWR對(duì)比在IBMPC/XT機(jī)的應(yīng)用初始化主片8259A
MOVAL,11H ;寫(xiě)入ICW1 OUT20H,AL MOVAL,08H ;寫(xiě)入ICW2 OUT21H,AL MOVAL,04H ;寫(xiě)入ICW3 OUT21H,AL MOVAL,1H ;寫(xiě)入ICW4 OUT21H,AL中斷控制器的初始化程序段初始化從片8259A
MOVAL,11H ;寫(xiě)入ICW1 OUT0A0H,AL MOVAL,70H ;寫(xiě)入ICW2 OUT0A1H,AL MOVAL,02H ;寫(xiě)入ICW3 OUT0A1H,AL MOVAL,01H ;寫(xiě)入ICW4 OUT0A1H,AL中斷控制器的初始化程序段應(yīng)用注意事項(xiàng)利用上升沿做為中斷請(qǐng)求IRQ的有效信號(hào)在IBM-PC/XT中,只有一個(gè)8259A地址為20H21H在386以上有兩個(gè)8259A地址為20H21H和0A0H0A1H
IRQ0~I(xiàn)RQ7的中斷向量號(hào)依次為08H~0FH,IRQ8~I(xiàn)RQ15依次為70H~77H采用普通全嵌套優(yōu)先權(quán)方式,中斷優(yōu)先權(quán)從高到低順序?yàn)镮RQ0~I(xiàn)RQ2、IRQ8~I(xiàn)RQ15、IRQ3~I(xiàn)RQ7,且不能改變一般采用普通屏蔽方式,通過(guò)寫(xiě)入IMR允許中斷,但注意不要破壞原屏蔽狀態(tài)采用普通中斷結(jié)束EOI方式,需要在中斷服務(wù)程序最后發(fā)送普通EOI命令應(yīng)用注意事項(xiàng)一般采用普通屏蔽方式,通過(guò)寫(xiě)入IMR允許中斷,但注意不要破壞原屏蔽狀態(tài)
INAL,21H;設(shè)置中斷允許
ANDAL,11111011B;主片
OUT21H,ALINAL,0A1H;從片
ANDAL,11011111BOUT0A1H,AL應(yīng)用注意事項(xiàng)采用普通中斷結(jié)束EOI方式,需要在中斷服務(wù)程序最后發(fā)送普通EOI命令
MOVAL,20H;OCW2OUT0A0H,AL;從片
OUT20H,AL;主片中斷程序設(shè)計(jì)一、中斷向量的保存、設(shè)置和恢復(fù)二、可屏蔽硬中斷程序設(shè)計(jì)一、中斷向量的保存、設(shè)置和恢復(fù)1.獲得中斷向量(35H功能)入口參數(shù)
AL=要保存向量的中斷類(lèi)型號(hào)N功能號(hào)
AH=
35H類(lèi)型號(hào)
21H出口參數(shù)
BX=(0:N×4)
ES=(0:N×4+2)實(shí)現(xiàn)功能將類(lèi)型號(hào)N的中斷向量保存在ES、BX中
用變量保存中斷向量
save_09csDW?;定義變量
save_09ipDW?
、、、
MOVAX,SEGsave_09csMOVDS,AXMOVAL,09H;取中斷向量
MOVAH,35H
INT21HMOVsave_09cs,ES;用變量保存
MOVsave_09ip,BX
入口參數(shù)
AL=要設(shè)置向量的中斷類(lèi)型號(hào)N
DS:DX=中斷子程的入口地址(中斷向量)
功能號(hào)
AH=25H
類(lèi)型號(hào)
21H
出口參數(shù)無(wú)
實(shí)現(xiàn)功能將類(lèi)型N的中斷向量設(shè)置在向量表中,即
(0:N×4)=類(lèi)型N中斷子程入口地址的偏移值
(0:N×4+2)=類(lèi)型N中斷子程入口地址的段值2.設(shè)置中斷向量(25H功能)例1
設(shè)置中斷子程Sound的中斷向量,類(lèi)型號(hào)為60HcodeSEGMENTASSUMECS:codestart:、、
PUSHDS
MOVAX,SEGsoundMOVDS,AXMOVDX,OffsetsoundMOVAL,60HMOVAH,25HINT21H
、、、、
MOVAH,4CHINT21H;
中斷子程
soundPROC
、、、、、、、、、
IRETsoundENDP
codeENDSENDstart二、可屏蔽硬中斷程序設(shè)計(jì)分三大步驟:1.
了解IBMPC系統(tǒng)可屏蔽硬中斷的響應(yīng)過(guò)程,根據(jù)連線確定外設(shè)中斷申請(qǐng)對(duì)應(yīng)的中斷類(lèi)型號(hào);2.主程中做好外設(shè)發(fā)出中斷申請(qǐng),CPU能夠響應(yīng)的準(zhǔn)備工作;3.編寫(xiě)可屏蔽硬中斷子程,完成中斷源請(qǐng)求的任務(wù)。1.
了解IBMPC系統(tǒng)可屏蔽硬中斷的響應(yīng)過(guò)程,根據(jù)連線確定外設(shè)中斷申請(qǐng)對(duì)應(yīng)的中斷類(lèi)型號(hào)。例
接口的中斷申請(qǐng)連IRQ3
類(lèi)型號(hào)73H
接口的中斷申請(qǐng)連IRQ5
類(lèi)型號(hào)75HIRQ2IRQ3IRQ4IRQ5IRQ6IRQ7CS8259AA0RDWRD0~D7SP/ENCA0CA1CA2GNDIR8IR9IR10IR11IR12IR13IR14IR15Vcc+5VINTAINT數(shù)據(jù)線片選譯碼0A0~0AFHIOWA0總線
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 石河子大學(xué)《水資源規(guī)劃及利用》2023-2024學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《流行病學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《教育電視節(jié)目編導(dǎo)與制作》2022-2023學(xué)年第一學(xué)期期末試卷
- 沈陽(yáng)理工大學(xué)《陶瓷》2022-2023學(xué)年第一學(xué)期期末試卷
- 沈陽(yáng)理工大學(xué)《面向?qū)ο蟪绦蛟O(shè)計(jì)及應(yīng)用》2022-2023學(xué)年期末試卷
- 沈陽(yáng)理工大學(xué)《機(jī)械工程控制基礎(chǔ)》2023-2024學(xué)年期末試卷
- 沈陽(yáng)理工大學(xué)《編譯原理》2022-2023學(xué)年第一學(xué)期期末試卷
- 國(guó)企合同工工資標(biāo)準(zhǔn)
- 合同 確認(rèn)書(shū) 備忘錄
- 合同法案例教程
- 休閑生態(tài)農(nóng)業(yè)觀光園建設(shè)項(xiàng)目財(cái)務(wù)分析及效益評(píng)價(jià)
- 江西省南昌市民德學(xué)校2023-2024學(xué)年八年級(jí)上學(xué)期期中數(shù)學(xué)試題
- 國(guó)際金融(英文版)智慧樹(shù)知到期末考試答案2024年
- 2024年《藥物臨床試驗(yàn)質(zhì)量管理規(guī)范》(GCP)網(wǎng)絡(luò)培訓(xùn)題庫(kù)
- 遼寧省名校聯(lián)盟2024屆高三下學(xué)期3月份聯(lián)合考試化學(xué)
- 2023年度學(xué)校食堂每月食品安全調(diào)度會(huì)議紀(jì)要
- 建筑門(mén)窗、幕墻安裝工人安全技術(shù)操作規(guī)程
- 糖尿病高滲性昏迷護(hù)理查房
- 教學(xué)能力比賽-教學(xué)實(shí)施報(bào)告(中職公共基礎(chǔ)-英語(yǔ))
- 綠色高效百萬(wàn)噸級(jí)乙烯成套技術(shù)開(kāi)發(fā)及工業(yè)應(yīng)用-研究報(bào)告
- 逐夢(mèng)青春志在四方規(guī)劃啟航職引未來(lái)
評(píng)論
0/150
提交評(píng)論