




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第
九章中斷控制器8259A中斷控制器概述8259A的外部引腳、內(nèi)部結(jié)構(gòu)及工作原理8259A的內(nèi)部結(jié)構(gòu)8259A的工作原理8259A的外部引腳8259A的控制寄存器及其編程可編程的寄存器8259A的端口地址分配8259A的初始化命令子及初始化編程8259A的工作編程應(yīng)用舉例IBMPC/AT機的中斷管理著三種中斷源:(1)內(nèi)部中斷源(2)非屏蔽中斷NMI(3)可屏蔽中斷INTR
其中可屏蔽中斷源由8259A中斷控制器進行管理,之后向CPU發(fā)出INTR中斷請求。一、中斷控制器概述8259的基本功能:能接收外部的中斷請求,并進行判斷,選中當前優(yōu)先級最高的中斷請求送CPU的INTR引腳。能在CPU響應(yīng)中斷時,送出對應(yīng)中斷源的中斷類別號,從而能迅速轉(zhuǎn)至中斷服務(wù)程序。能在CPU響應(yīng)并進入中斷子程序處理過程中,仍負責(zé)對其它外部中斷請求的管理,可讓更高級的中斷請求被響應(yīng),而中斷現(xiàn)行中斷處理(嵌套)。每一級中斷都可以被屏蔽或允許。8259A的特點:1片8259A能管理8級中斷(8個中斷源)。可以級聯(lián),在不增加其它電路的情況下,可由9片8259A構(gòu)成64級的主從式中斷管理系統(tǒng)。8259A可以編程設(shè)置各種不同的工作方式。如:優(yōu)先級方式(4種)、屏蔽中斷源的方式(2種)、結(jié)束中斷的方式(3種)、連接系統(tǒng)數(shù)據(jù)總線的方式(2種)、引入中斷請求的觸發(fā)方式(3種)等等,非常靈活,故我們稱8259A為可編程的中斷控制器。二、8259A的外部引腳、編程結(jié)構(gòu)和工作原理(1)8259A的外部引腳信號(2)8259A的內(nèi)部結(jié)構(gòu)(3)8259A對外部中斷的處理過程(工作原理)(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中斷請求寄存器中斷屏蔽寄存器數(shù)據(jù)總線緩沖器IR0IR7讀/寫控制邏輯級聯(lián)緩沖器比較器RDWRA0CSCAS0CSA1CAS2SP/EN優(yōu)先權(quán)判別電路中斷服務(wù)寄存器控制邏輯(2)8259A內(nèi)部結(jié)構(gòu)IRRPRISRIMR中斷請求寄存器IRR保存8條外界中斷請求信號IR0~IR7的請求狀態(tài)Di位為1表示IRi引腳有中斷請求;為0表示無請求中斷服務(wù)寄存器ISR保存正在被8259A服務(wù)著的中斷狀態(tài)Di位為1表示IRi中斷正在服務(wù)中;為0表示沒有被服務(wù)中斷屏蔽寄存器IMR保存對中斷請求信號IR的屏蔽狀態(tài)Di位為1表示IRi中斷被屏蔽(禁止);為0表示允許
8259A是28腳的芯片,除電源外還有26腳。
D7~D0:與數(shù)據(jù)總線的低8位相連。實現(xiàn)8259A和CPU的數(shù)據(jù)交換。在小系統(tǒng)中,可直接與CPU相連。(非緩沖方式)在大系統(tǒng)中,通過總線驅(qū)動器與CPU相連。(緩沖方式)
(續(xù))8259A的外部引腳
INT:與CPU的INTR相連,向CPU發(fā)中斷請求。INTA:與CPU的INTA相連,接收CPU發(fā)出的中斷響應(yīng)信號。在CPU的中斷響應(yīng)周期,將發(fā)來兩個連續(xù)的INTA,在第二個INTA結(jié)束時,CPU取走8259A提供的當前中斷源的中斷類別號。IR7~IR0:8條外部中斷請求線。接收外設(shè)的中斷請求。
在級聯(lián)方式的系統(tǒng)中,IRi可接從片的INT引腳。RD、WR:讀/寫命令信號線,低電平有效。執(zhí)行IN/OUT指令時,在I/O總線周期由CPU產(chǎn)生,通過CB總線送來。(續(xù))8259A的外部引腳
CS:片選信號,由高位地址譯碼產(chǎn)生。A0:用以選擇8259A內(nèi)部不同的端口寄存器
8259A內(nèi)部有兩個端口:一個偶地址端口一個奇地址端口
CAS2~CAS0:級聯(lián)信號線。該信號是雙向的:當8259A作為主片時,這三條線為輸出線;當8259A作為從片時,這三條線為輸入線,指出是哪一個從片(000~111)——表示IR0~IR7(續(xù))8259A的外部引腳
SP/EN:從片/允許緩沖器信號(雙向、低電平有效)
當它作為輸入信號時(含義SP,接+5V或接地):
SP=1表示該8259A是主片;
此時的CAS2~CAS0為輸出,輸出三位從片編碼。
SP=0表示該8259A是從片。
此時的CAS2~CAS0為輸入,接收主片的三位編碼,與自己的從片編碼比較,相同則選中。
當它作為輸出信號時(含義EN)有的應(yīng)用場合,8259A數(shù)據(jù)線和系統(tǒng)總線之間要加總線驅(qū)動器,此時用EN有效作為允許緩沖器接通信號,啟動總線驅(qū)動器。這時EN是輸出信號。CAS0IR0CAS1IR1CAS2IR2
IR3-INTAIR4IR5INTIR6IR7-SP/-EN
CAS0-INTA
CAS1
CAS2INT
IR0
IR1-SP/-ENIR7CAS0IR0CAS1IR1CAS2IR2IR3-INTAIR4IR5INTIR6IR7-SP/-EN-INTAINTR+5V8259級聯(lián)工作示意圖輸出得到響應(yīng)的從片編號(續(xù))8259A的外部引腳
EN有效的情況下,如果又是級聯(lián)方式,則無法區(qū)分主從片了。這時靠初始化時編程設(shè)置。
SP/EN到底是作為輸入還是輸出,取決于什么呢?取決于8259A是否采用緩沖方式工作(如采用則SP/EN為輸出,若不采用則SP/EN為輸入。(3)8259A的工作原理(對外部中斷的處理過程)P272圖7.2
中斷請求寄存器IRR接收外部的中斷請求,當哪一個設(shè)備有了中斷請求信號,IRR的對應(yīng)位就被置1,即該中斷請求被鎖存。工作寄存器OCW1又叫做中斷屏蔽寄存器IMR,D7~D0分別對應(yīng)IR7~IR0是否被屏蔽,當該位為0時未屏蔽,為1時表示屏蔽。當中斷請求被IRR鎖存后,如果IMR對應(yīng)位未屏蔽,就讓中斷請求通過而進入PR(中斷優(yōu)先級裁決器),否則中斷請求進不了PR。
PR把新進入的中斷請求和ISR(當前中斷服務(wù)寄存器)中存放的正在處理的中斷進行比較,來決定誰的優(yōu)先級更高。如果PR判斷出新的中斷請求比當前處理的中斷請求級別高,則PR會通過相應(yīng)的邏輯電路使8259的INT為1,向CPU發(fā)出一個新的中斷請求。CPU若響應(yīng),則可中斷現(xiàn)行的中斷處理(當然要滿足中斷相應(yīng)條件)。CPU響應(yīng)中斷時,從INTA引腳往8259A連續(xù)送兩個INTA信號(在兩個中斷響應(yīng)周期中)。(續(xù))
8259A的工作原理(對外部中斷的處理過程)第一個負脈沖到達時,8259A做3個動作:1)使IRR的鎖存功能失效,不能接收新的中斷請求。2)使當前中斷服務(wù)寄存器ISR中的相應(yīng)位置1。3)使IRR寄存器中的相應(yīng)位清零。第二個負脈沖到達時,8259A完成:1)使IRR鎖存功能有效,可以接收新的中斷請求。2)將中斷源的中斷類型號送上數(shù)據(jù)總線(中斷類別碼寄存器ICW2)。3)如果工作在中斷自動結(jié)束方式,那么在第二個INTA脈沖結(jié)束時,8259A會將第一個脈沖到來時設(shè)置的當前中斷服務(wù)寄存器ISR的相應(yīng)位清零。
8259A的編程結(jié)構(gòu)ISRPRIRRIMR奇偶(4)8259A控制寄存器及I/O端口的識別表28259A讀寫操作及地址CSRDWRA0功能8259A端口PC/XT機端口0010讀IRR,ISR偶地址20H0011讀IMR奇地址21H0100寫ICW1,OCW2,OCW3偶地址20H0101寫ICW2,ICW3,ICW4,OCW1奇地址21H011×無操作
1×××無操作
三.工作方式1、設(shè)置優(yōu)先級的方式(1)一般完全嵌套方式(2)特殊完全嵌套方式(3)優(yōu)先級自動循環(huán)方式(4)優(yōu)先級特殊循環(huán)方式一般完全嵌套方式8259A的缺省工作方式
固定優(yōu)先級IR0最高、IR7最低,高優(yōu)先級可以中斷低優(yōu)先級,只有當更高級的中斷請求來到時,才會進行嵌套。屏蔽同級和低級的中斷請求(2)特殊完全嵌套方式
固定優(yōu)先級IR0最高、IR7最低,同級也可中斷嵌套,只屏蔽低級中斷。當更高級的或同級中斷請求來到時,會進行嵌套。這種特殊的全嵌套方式一般用在主從式結(jié)構(gòu)中,主片采用特殊的全嵌套方式,而從片則工作于其它的工作方式如一般完全嵌套方式。(3)優(yōu)先級自動循環(huán)方式指各中斷請求的優(yōu)先級是不斷變化,當一個外部I/O設(shè)備申請中斷并被響應(yīng)后,它的優(yōu)先級自動降為最低。初始優(yōu)先級排列為IR0,IR1,…,IR6,IR7。比如當IR2申請中斷并得到響應(yīng)后,此時優(yōu)先級隊列重新排列,由高到低依次為IR3,IR4,…,IR7,IR0,IR1,IR2。當系統(tǒng)中多個中斷的優(yōu)先級相等時一般采用該方式。(4)優(yōu)先級特殊循環(huán)方式與優(yōu)先級自動循環(huán)方式相比,只有一點不同,就是最初優(yōu)先級隊列可以由編程設(shè)定,而不像優(yōu)先級自動循環(huán)方式那樣最初的優(yōu)先級隊列是確定的。屏蔽中斷源的方式
中斷禁止(IF=0);中斷屏蔽(設(shè)置IMR)
普通屏蔽方式
通過IMR設(shè)置,0允許,1屏蔽
(2)特殊屏蔽方式(允許發(fā)生低級的中斷嵌套,用于級連時的主片)
開放低級中斷
將IMR的Di位置1,對應(yīng)的中斷IRRi被屏蔽的同時,使ISR的Di位置03.結(jié)束中斷處理的方式中斷自動結(jié)束方式(2)一般的中斷結(jié)束方式(3)特殊的中斷結(jié)束方式
返回本節(jié)什么是8259A的中斷結(jié)束?8259A利用中斷服務(wù)寄存器ISR判斷:某位為1,表示正在進行中斷服務(wù);該位為0,就是該中斷結(jié)束服務(wù)。這里說明如何使ISR某位為0,不反映CPU的工作狀態(tài)。中斷自動結(jié)束方式多個中斷源不會發(fā)生嵌套的場合,8259A收到中斷響應(yīng)信號后自動將ISR中對應(yīng)位清‘0’(2)
一般的中斷結(jié)束方式(配合固定優(yōu)先級方式使用)指在中斷程序結(jié)束前,CPU向8259A的端口發(fā)出指令告訴中斷處理程序結(jié)束,8259A會自動把當前ISR中優(yōu)先級最高的‘1’位清‘0’,由于一般中斷結(jié)束方式應(yīng)用于全嵌套方式下,因此優(yōu)先級最高的‘1’位與當前服務(wù)的中斷相對應(yīng),這樣也就結(jié)束了當前正在處理的中斷。(3)特殊的中斷結(jié)束方式(配合循環(huán)優(yōu)先級方式使用)
在非全嵌套方式下,當中斷處理程序結(jié)束時,CPU向8259A發(fā)出一個特殊EOI指令來指出要清除當前中斷服務(wù)寄存器中的哪一位。4.連接系統(tǒng)總線的方式緩沖方式:8259A通過總線驅(qū)動器和數(shù)據(jù)總線相連,這就是緩沖方式。8259A的數(shù)據(jù)線需加緩沖器予以驅(qū)動8259A把SP*/EN*引腳作為輸出端,輸出允許信號,用以鎖存或開啟緩沖器(2)非緩沖方式:當系統(tǒng)中只有單片8259A時,一般將它直接與數(shù)據(jù)總線相連。
SP*/EN*引腳為輸入端若8259A級連,由其確定是主片或從片
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緩沖方式下級連結(jié)構(gòu)圖58259A非緩沖方式下級連結(jié)構(gòu)返回本節(jié)5.引入中斷方式1)邊沿觸發(fā)方式上跳沿有效
2)電平觸發(fā)方式高電平有效
3)中斷查詢方式u
外設(shè)仍然通過向8259A發(fā)中斷申請信號,請求CPU為其服務(wù),但8259A不向CPU發(fā)申請,即8259A不與INTR引腳相連u
CPU處于關(guān)中斷狀態(tài)(IF=0),靠程序查詢8259A的相關(guān)寄存器來識別中斷源。u
既有中斷的特點,又有查詢的特點u
不需設(shè)置中斷向量表
四、8259A初始化命令字和操作方式命令字1、初始化命令字ICW
(1)ICW1(2)ICW2(3)ICW3
(4)ICW4
(5)初始化命令字的編程順序(1)ICW1命令字
芯片控制初始化命令字,必須寫入偶地址端口
A0
D7
D6D5
D4D3
D2
D1
D0
0
1:要ICW4
0:不要ICW4
1:單片方式
0:級連方式
偶地址端口
8086/8088系統(tǒng)不用
特征位
1:電平觸發(fā)
0:邊沿觸發(fā)
XXX1LTIMADISNGLIC4
8086/8088系統(tǒng)無意義8086/8088系統(tǒng)必須為1(2)ICW2命令字用來設(shè)定中斷類型碼,必須奇地址端口(A0=1)。
A0
D7
D6
D5
D4
D3
D2
D1D0
1
中斷類型號的高5位由用戶編程確定
8259A自動填入
T7T6T5T4T3000
000:IR0001:IR1、、、111:IR7奇地址端口(3)ICW3命令字設(shè)定主片/從片標志,奇地址端口,只有多片級聯(lián)時才設(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命令字從片的標識碼從片的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-自動EOI方式
0-非自動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(奇地址端口)是級聯(lián)方式嗎?主或從片ICW3(奇地址端口)ICW4(奇地址端口)結(jié)束YN(5)、初始化編程舉例
1)8086/8088系統(tǒng),單片8259A,電平觸發(fā)、中斷類型碼基值為40H,全嵌套方式,普通EOI方式,非緩沖方式,8259A的端口地址為20H、21H。ICW1:ICW2:ICW3:無ICW4:對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級聯(lián),兩片從8259A分別接入主8259A的IR3和IR4端,電平觸發(fā)、中斷類型碼基值為分別為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命令字
中斷屏蔽操作命令字,要求寫入奇地址端口
1:輸入引腳對應(yīng)中斷請求受到屏蔽
0:輸入引腳對應(yīng)中斷請求得到允許
A0
D7
D6
D5
D4
D3
D2
D1
D0
M3
M2
M1
M0
M4
M5
M6M71
(1)OCW1命令字例子:允許系統(tǒng)中8259AIR2對應(yīng)的中斷請求INAL,21HANLAL,11111011BOUT21H,AL例子:屏蔽系統(tǒng)中8259AIR2對應(yīng)的中斷請求
(1)OCW1命令字例子:允許系統(tǒng)中8259AIR2對應(yīng)的中斷請求INAL,21HANDAL,11111011BOUT21H,AL例子:屏蔽系統(tǒng)中8259AIR2對應(yīng)的中斷請求INAL,21HORAL,00000100BOUT21H,AL
(2)OCW2命令字優(yōu)先級循環(huán)方式和中斷結(jié)束方式操作命令字,寫入偶地址端口由R、SL、EOI組合實現(xiàn)
A0
D7
D6
D5
D4
D3
D2
D1
D0
0
L2
L1
L0
0
EOI
SL
R
0
1:優(yōu)先級循環(huán)0:固定優(yōu)先級1:L2~L0有效0:L2~L0無效
1:發(fā)中斷結(jié)束命令0:不發(fā)中斷結(jié)束命令標志位
指定中斷源,000:IR0、、、111:IR7優(yōu)先級時代表最低級OCW2的總結(jié)RSLEOI功能100優(yōu)先級自動循環(huán)方式000結(jié)束優(yōu)先級循環(huán)方式110特殊優(yōu)先級循環(huán)方式101發(fā)中斷結(jié)束命令,并仍用優(yōu)先級循環(huán)方式111發(fā)中斷結(jié)束命令,并用特殊優(yōu)先級循環(huán)方式011特殊中斷結(jié)束命令001一般中斷結(jié)束方式
RSLEOI001一般EOI命令011特殊EOI命令101優(yōu)先級自動循環(huán)的EOI命令100設(shè)置優(yōu)先級自動循環(huán)方式000結(jié)束優(yōu)先級自動循環(huán)方式111特殊優(yōu)先級循環(huán)的EOI命令110設(shè)置特殊優(yōu)先級循環(huán)方式010無效
(2)OCW2命令字例子:使系統(tǒng)中的8259A優(yōu)先級順序為IR3、IR4、、、OCW2:例子:向系統(tǒng)中的8259A發(fā)出一般中斷結(jié)束命令,清除最高優(yōu)先級的IS位OCW2:例子:向系統(tǒng)中的8259A發(fā)出特殊中斷結(jié)束命令,清除IS3OCW2:(2)OCW2命令字例子:使系統(tǒng)中的8259A優(yōu)先級順序為IR3、IR4、、、OCW2:11000010MOVAL,0C2HOUT20H,AL例子:向系統(tǒng)中的8259A發(fā)出一般中斷結(jié)束命令,清除最高優(yōu)先級的IS位OCW2:00100000BMOVAL,20HOUT20H,AL例子:向系統(tǒng)中的8259A發(fā)出特殊中斷結(jié)束命令,清除IS3OCW2:01100011BMOVAL,63HOUT20H,AL
(3)OCW3命令字(三部分功能)
特殊屏蔽方式、中斷查詢方式、讀IRR/ISR命令字
A0
D7
D6
D5
D4
D3
D2
D1
D0
1
P
RR
RIS
0
SMM
ESMM
0
0
0X:無效10:取消特殊屏蔽方式11:設(shè)置特殊屏蔽方式
標志位
0X:無效10:準備讀IRR11:準備讀ISR1:中斷查詢工作方式0:不查詢
(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命令字查詢功能:CPU輸出查詢命令0CH,再執(zhí)行一條IN指令,讀入查詢字
A0
D7
D6
D5
D4
D3
D2
D1
D0
X
W2
W1
W0
X
X
X
IR
0
1:有中斷請求0:無
000:IR0優(yōu)先級最高001:IR1優(yōu)先級最高、、、111:IR7優(yōu)先級最高MOVAL,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í)行開中斷指令(STI),才有可能相應(yīng)中斷.2.每當進入一個中斷處理程序時,系統(tǒng)會自動關(guān)中斷,所以只有中斷處理程序再次應(yīng)用開中斷指令,才有可能中斷嵌套.3.每個中斷處理程序結(jié)束后,必須執(zhí)行中斷結(jié)束命令,清除對應(yīng)的ISn位,才能返回斷點. 8259A使用舉例2使用中斷結(jié)束命令的例子六、多片8259A的級聯(lián)組成的主從式中斷系統(tǒng)各個芯片的CAS2~CAS0并連在一起各個芯片的INTA并連在一起主片的INT與CPU的INTR引腳相連從片的INT與主片的IR引腳相連緩沖方式:每個8259A的SP/EN引腳分別控制各自的總線收發(fā)器主從片的區(qū)分由ICW4設(shè)置非緩沖方式:主片的SP/EN接+5V
從片的SP/EN接地
多片8259A組成的主從式中斷系統(tǒng)多片8259A組成的主從式中斷系統(tǒng)優(yōu)先級排列的例子1個主片2個從片,并設(shè)從片1連在主片的IR1引腳上,而從片2連在主片的IR2引腳上 主片:IR0(這是系統(tǒng)中的最高優(yōu)先級)
從片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)先級)圖58259A非緩沖方式下級連結(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緩沖方式下級連結(jié)構(gòu)
主從式系統(tǒng)的中斷響應(yīng)過程:
當從片向主片的IRn發(fā)出中斷請求時,如果此時主片允許中斷請求通過的話,那么主片通過INT端向CPU發(fā)出中斷請求信號。CPU響應(yīng)中斷后,同單片8259A系統(tǒng)一樣,CPU從INTA線上發(fā)送兩個負脈沖。
主片在收到第一個INTA信號后,將中斷服務(wù)寄存器ISR的對應(yīng)位置1,同時中斷請求寄存器IRR中的對應(yīng)位清0,并且同時將從片的標識號送到CAS2~CAS0線上,比如,從片連接在主片的IR6引腿上,則此時CAS2~CAS0的取值為110。此時,從片判斷自身的標號是否與CAS2~CAS0上的取值一致,如果一致,則從片也對INTA信號響應(yīng),將本片的中斷服務(wù)寄存器ISR的相應(yīng)位置1,同時中斷請求寄存器IRR中的對應(yīng)位清0。
在第二個INTA信號到達后,此時主片不作出任何響應(yīng),從片則將對應(yīng)的中斷類型號送到數(shù)據(jù)總線上。七、8259A在IBMPC系列機上的應(yīng)用CAS0~2CAS0~2+5V主8259A828880286CPUINTRD0~D7SP/ENINTD0~D7日時鐘鍵盤串行口2串行口1并行口2軟盤并行口1A0INTR1CS—IRQ0—IRQ1IRQ2—IRQ3—IRQ4—IRQ5—IRQ6—IRQ7—A0—CS
從8259AD0~D7INTSP/EN實時鐘改向0AH中斷保留保留保留協(xié)處理器硬盤保留A0INTR2CS—IRQ8—IRQ9—IRQ10—IRQ11—IRQ12—IRQ13—IRQ14—IRQ15—A0—CSINTARDWRINTAIORIOWINTARDWRCAS0~2
從8259AD0~D7INTSP/EN實時鐘改向0AH中斷保留保留保留協(xié)處理器硬盤保留A0INTR2CS—IRQ8—IRQ9—IRQ10—IRQ11—IRQ12—IRQ13—IRQ14—IRQ15—A0—CSINTARDWR對比在IBMPC/XT機的應(yīng)用初始化主片8259A
MOVAL,11H ;寫入ICW1 OUT20H,AL MOVAL,08H ;寫入ICW2 OUT21H,AL MOVAL,04H ;寫入ICW3 OUT21H,AL MOVAL,1H ;寫入ICW4 OUT21H,AL中斷控制器的初始化程序段初始化從片8259A
MOVAL,11H ;寫入ICW1 OUT0A0H,AL MOVAL,70H ;寫入ICW2 OUT0A1H,AL MOVAL,02H ;寫入ICW3 OUT0A1H,AL MOVAL,01H ;寫入ICW4 OUT0A1H,AL中斷控制器的初始化程序段應(yīng)用注意事項利用上升沿做為中斷請求IRQ的有效信號在IBM-PC/XT中,只有一個8259A地址為20H21H在386以上有兩個8259A地址為20H21H和0A0H0A1H
IRQ0~IRQ7的中斷向量號依次為08H~0FH,IRQ8~IRQ15依次為70H~77H采用普通全嵌套優(yōu)先權(quán)方式,中斷優(yōu)先權(quán)從高到低順序為IRQ0~IRQ2、IRQ8~IRQ15、IRQ3~IRQ7,且不能改變一般采用普通屏蔽方式,通過寫入IMR允許中斷,但注意不要破壞原屏蔽狀態(tài)采用普通中斷結(jié)束EOI方式,需要在中斷服務(wù)程序最后發(fā)送普通EOI命令應(yīng)用注意事項一般采用普通屏蔽方式,通過寫入IMR允許中斷,但注意不要破壞原屏蔽狀態(tài)
INAL,21H;設(shè)置中斷允許
ANDAL,11111011B;主片
OUT21H,ALINAL,0A1H;從片
ANDAL,11011111BOUT0A1H,AL應(yīng)用注意事項采用普通中斷結(jié)束EOI方式,需要在中斷服務(wù)程序最后發(fā)送普通EOI命令
MOVAL,20H;OCW2OUT0A0H,AL;從片
OUT20H,AL;主片中斷程序設(shè)計一、中斷向量的保存、設(shè)置和恢復(fù)二、可屏蔽硬中斷程序設(shè)計一、中斷向量的保存、設(shè)置和恢復(fù)1.獲得中斷向量(35H功能)入口參數(shù)
AL=要保存向量的中斷類型號N功能號
AH=
35H類型號
21H出口參數(shù)
BX=(0:N×4)
ES=(0:N×4+2)實現(xiàn)功能將類型號N的中斷向量保存在ES、BX中
用變量保存中斷向量
save_09csDW?;定義變量
save_09ipDW?
、、、
MOVAX,SEGsave_09csMOVDS,AXMOVAL,09H;取中斷向量
MOVAH,35H
INT21HMOVsave_09cs,ES;用變量保存
MOVsave_09ip,BX
入口參數(shù)
AL=要設(shè)置向量的中斷類型號N
DS:DX=中斷子程的入口地址(中斷向量)
功能號
AH=25H
類型號
21H
出口參數(shù)無
實現(xiàn)功能將類型N的中斷向量設(shè)置在向量表中,即
(0:N×4)=類型N中斷子程入口地址的偏移值
(0:N×4+2)=類型N中斷子程入口地址的段值2.設(shè)置中斷向量(25H功能)例1
設(shè)置中斷子程Sound的中斷向量,類型號為60HcodeSEGMENTASSUMECS:codestart:、、
PUSHDS
MOVAX,SEGsoundMOVDS,AXMOVDX,OffsetsoundMOVAL,60HMOVAH,25HINT21H
、、、、
MOVAH,4CHINT21H;
中斷子程
soundPROC
、、、、、、、、、
IRETsoundENDP
codeENDSENDstart二、可屏蔽硬中斷程序設(shè)計分三大步驟:1.
了解IBMPC系統(tǒng)可屏蔽硬中斷的響應(yīng)過程,根據(jù)連線確定外設(shè)中斷申請對應(yīng)的中斷類型號;2.主程中做好外設(shè)發(fā)出中斷申請,CPU能夠響應(yīng)的準備工作;3.編寫可屏蔽硬中斷子程,完成中斷源請求的任務(wù)。1.
了解IBMPC系統(tǒng)可屏蔽硬中斷的響應(yīng)過程,根據(jù)連線確定外設(shè)中斷申請對應(yīng)的中斷類型號。例
接口的中斷申請連IRQ3
類型號73H
接口的中斷申請連IRQ5
類型號75HIRQ2IRQ3IRQ4IRQ5IRQ6IRQ7CS8259AA0RDWRD0~D7SP/ENCA0CA1CA2GNDIR8IR9IR10IR11IR12IR13IR14IR15Vcc+5VINTAINT數(shù)據(jù)線片選譯碼0A0~0AFHIOWA0總線
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)保設(shè)施運維合同樣本
- 專項信托外匯固定資產(chǎn)貸款合作合同
- 玫瑰貸記卡動產(chǎn)質(zhì)押合同協(xié)議
- 員工合同解除合同書
- 贍養(yǎng)義務(wù)履行合同范文
- 聯(lián)合購房按揭貸款合同
- 精簡版商業(yè)租賃合同范本
- 租賃合同季度范本:機械設(shè)備篇
- 南湖區(qū):合同科技創(chuàng)新與合作新機遇
- 出租車股份合作合同條款
- 干式變壓器培訓(xùn)課件
- 2023年上海中考語文試卷(附答案)
- 理發(fā)店業(yè)務(wù)轉(zhuǎn)讓協(xié)議書范本
- 2024年江蘇省中學(xué)生生物學(xué)奧林匹克初賽理論試題
- 環(huán)境年度報告
- 生產(chǎn)流水線的規(guī)劃方案
- 小針刀療法教學(xué)課件
- 打造寫生基地方案
- 寫作:廣告詞-【中職專用】高二語文高效課堂(高教版2023·職業(yè)模塊)
- 爆發(fā)性心肌炎護理查房課件
- 銷售人員人才畫像
評論
0/150
提交評論