計(jì)算機(jī)組成之.8259A詳細(xì)說明_第1頁
計(jì)算機(jī)組成之.8259A詳細(xì)說明_第2頁
計(jì)算機(jī)組成之.8259A詳細(xì)說明_第3頁
計(jì)算機(jī)組成之.8259A詳細(xì)說明_第4頁
計(jì)算機(jī)組成之.8259A詳細(xì)說明_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

8259A詳細(xì)說明9.4

中斷控制器8259A現(xiàn)代計(jì)算機(jī)普遍采用功能很強(qiáng)的中斷系統(tǒng),可同時(shí)處理多個(gè)中斷源,配置可編程中斷控制器對外部中斷(可屏蔽)進(jìn)行控制和管理:接收外部的中斷請求;確認(rèn)當(dāng)前級別最高的中斷請求,并送至CPU的INTR引腳;當(dāng)CPU響應(yīng)中斷時(shí),提供中斷類型碼;中斷處理過程中屏蔽低優(yōu)先權(quán)的中斷請求,而允許高優(yōu)先權(quán)的中斷請求送出,實(shí)現(xiàn)中斷嵌套;Intel8259A是典型的中斷控制器芯片,廣泛應(yīng)用于微機(jī)系統(tǒng)中。9.4.18259A的性能概述每片8259A能管理8級中斷,可采用9片級聯(lián)構(gòu)成主從式64級中斷管理系統(tǒng);每級中斷都可以被屏蔽或允許;中斷響應(yīng)期間,可提供中斷類型碼;允許多級中斷嵌套;可設(shè)置多種優(yōu)先權(quán)管理方式及屏蔽功能;8259A是可編程芯片,可通過編程選擇不同的工作方式,使用靈活、方便;提供中斷查詢,供CPU以查詢方式完成I/O操作。

1.8259A的編程結(jié)構(gòu)

D7~D0

SP/EN

CAS0

CAS1

CAS2

數(shù)據(jù)總線緩沖器

讀/寫

控制邏輯

級連緩沖比較器

讀/寫

控制邏輯

讀/寫

控制邏輯

讀/寫

控制

邏輯

RD

WR

A0

CS

控制邏輯

中斷

服務(wù)

寄存器

ISR

優(yōu)先權(quán)

判別

電路

中斷

請求

寄存器

IRR

中斷屏蔽寄存器IMR

INTA

INT

內(nèi)部總線

IR0

IR1

IR2

IR3

IR4

IR5

IR6

IR7

9.4.28259A的編程結(jié)構(gòu)和引腳功能PR中斷請求寄存器IRR:8位,用于鎖存中斷請求信號(信號有效方式由編程決定)。當(dāng)相應(yīng)的中斷請求輸入引腳有中斷請求時(shí),寄存器的相應(yīng)位置1;優(yōu)先權(quán)判別電路PR:識別各中斷請求(同時(shí)申請)的優(yōu)先級別,允許嵌套時(shí)須考慮正在服務(wù)中斷的優(yōu)先級別,然后送出最高優(yōu)先級中斷源的請求,并在CPU響應(yīng)周期內(nèi)將中斷服務(wù)寄存器ISR的相應(yīng)位置位。各中斷請求的優(yōu)先權(quán)級別由編程控制;中斷服務(wù)寄存器ISR:8位,用于記錄已被CPU響應(yīng)的中斷請求。被服務(wù)的中斷將保持該信息位(自動EOI除外,此時(shí)不允許使用可屏蔽中斷嵌套),并由普通或特殊EOI命令復(fù)位。中斷嵌套時(shí),會有多個(gè)位同時(shí)被置位,對應(yīng)已被CPU響應(yīng)而又未處理完畢的多個(gè)中斷;中斷屏蔽寄存器IMR:8位,用于存放對中斷請求的屏蔽信息,可由編程設(shè)定。當(dāng)IMR中某位被置位,對應(yīng)的中斷請求就被屏蔽,即使IRR對應(yīng)位被置位,其中斷申請也不能送往CPU;數(shù)據(jù)總線緩沖器:8位雙向三態(tài)緩沖器,是8259A與CPU間的數(shù)據(jù)傳輸通道,用于CPU向8259A寫入ICW,OCW,讀出狀態(tài)信息。中斷響應(yīng)周期內(nèi),8259A通過數(shù)據(jù)總線緩沖器向CPU送中斷類型碼;讀寫控制邏輯:負(fù)責(zé)接收CPU發(fā)來的控制信號,完成寫入命令字和讀IRR、ISR和IMR的操作;級聯(lián)緩沖/比較器:用于實(shí)現(xiàn)8259A的級聯(lián),構(gòu)成主從式擴(kuò)展中斷管理系統(tǒng);控制邏輯:根據(jù)編程設(shè)定工作方式產(chǎn)生片內(nèi)控制信號,根據(jù)IRR、IMR的內(nèi)容和PR的判斷結(jié)果向CPU發(fā)出中斷請求,并接受來自CPU的中斷響應(yīng)信號。2.8259A的引腳功能 8259A為28引腳DIP。電源VCC和接地GND;中斷請求輸入線IR7~IR0:接受來自外設(shè)或8259A從片的中斷請求信號,可設(shè)置為上升沿或高電平觸發(fā);雙向三態(tài)數(shù)據(jù)線D7~D0:可與系統(tǒng)數(shù)據(jù)總線直接相連,或通過總線緩沖器與系統(tǒng)數(shù)據(jù)總線相連,分別稱為非緩沖和緩沖方式;中斷請求線INT:輸出信號,與CPU的可屏蔽中斷輸入端INTR相連,向CPU送中斷請求信號;

VCC

A0

INTA

IR7

IR6

IR5

IR4

IR3

IR2

IR1

IR0

INT

SP/EN

CAS2

CS

WR

RD

D7

D6

D5

D4

D3

D2

D1

D0

CAS0

CAS1

GND

1

28

2

27

3

26

4

25

5

24

6

23

7

22

8

21

9

20

10

19

11

18

12

17

13

16

14

15

中斷響應(yīng)線INTA:接收CPU在中斷響應(yīng)周期發(fā)來的中斷響應(yīng)信號,8259A接到此信號后,送中斷類型碼(編程設(shè)定);片選信號CS:由系統(tǒng)高位地址線譯碼產(chǎn)生,用于選中操作;地址線A0:用以選擇8259A內(nèi)部不同寄存器;讀信號RD:低電平有效,實(shí)現(xiàn)對IRR、ISR和IMR讀??;寫信號WR:低電平有效,用于對8259A寫入控制字;級聯(lián)線CAS2~CAS0:主從式中斷管理系統(tǒng)中,所有8259A芯片的CAS2~CAS0引腳對應(yīng)連接在一起,與SP/EN信號配合,實(shí)現(xiàn)8259A的級聯(lián)。對于8259A主片,用于輸出,否則用于輸入。在CPU響應(yīng)中斷時(shí),主片在CAS2~CAS0引腳上輸出級聯(lián)設(shè)備編碼,選中對應(yīng)的從片,三個(gè)引腳信號的不同組合000~111,對應(yīng)于8個(gè)從片;從片編程/緩沖使能SP/EN:雙向,低電平有效。在非緩沖方式下,用作輸入線SP,SP=1表示該8259A為主片,否則為從片;緩沖方式下,用作輸出線EN,控制外接數(shù)據(jù)緩沖器的接收和發(fā)送。9.4.38259A的工作過程1個(gè)或同時(shí)多個(gè)外部中斷請求送至8259A相應(yīng)引腳;IRR接收中斷請求并鎖存,將相應(yīng)位置1;根據(jù)IMR的屏蔽情況決定是否允許中斷請求進(jìn)入PR,即IMR對應(yīng)位是否為0;PR判別當(dāng)前優(yōu)先權(quán)最高的中斷請求(允許嵌套時(shí),還要包括正在服務(wù)的中斷在內(nèi)進(jìn)行比較,即參考ISR的狀態(tài)),根據(jù)判優(yōu)結(jié)果決定,向CPU發(fā)送INTR信號或等待高優(yōu)先級中斷服務(wù)完成;當(dāng)CPU允許可屏蔽中斷,即IF=1,發(fā)回INTA信號,8259A使ISR相應(yīng)位置位,同時(shí)將IRR相應(yīng)位清0,然后送出中斷類型碼;若為AEOI方式,直接清除ISR相應(yīng)位;否則需要在中斷服務(wù)結(jié)束時(shí),由CPU送出普通或特殊中斷結(jié)束命令EOI,清除ISR相應(yīng)位,標(biāo)志一個(gè)中斷結(jié)束。9.4.48259A的工作方式8259A有多種工作方式,通過編程設(shè)置或改變。1.中斷請求觸發(fā)方式電平觸發(fā)方式:將中斷請求輸入線上出現(xiàn)高電平視為有效請求信號;對其有時(shí)間限定:過短,不能觸發(fā);過長,重復(fù)觸發(fā)。要求觸發(fā)高電平持續(xù)至CPU中斷響應(yīng)總線周期中第1個(gè)INTA脈沖的下降沿;邊沿觸發(fā):將中斷請求輸入線上出現(xiàn)的上升沿視為中斷請求信號,觸發(fā)后可一直保持高電平,而不會產(chǎn)生重復(fù)觸發(fā)。常用負(fù)脈沖的后沿實(shí)現(xiàn),同時(shí)要防止第1個(gè)INTA信號有效前出現(xiàn)新的中斷請求脈沖。2.屏蔽中斷源方式

程序中安排清除中斷允許標(biāo)志位指令(CLI),可以使CPU對所有可屏蔽中斷INT一起進(jìn)行屏蔽,但無法實(shí)現(xiàn)選擇性屏蔽。8259A可編程設(shè)定允許或屏蔽指定的可屏蔽中斷源:普通屏蔽方式:通過將中斷屏蔽寄存器IMR的某些位置1,使對應(yīng)的中斷請求被屏蔽,目的是屏蔽高優(yōu)先級的中斷源;特殊屏蔽方式:該方式主要用于中斷嵌套時(shí),開放低優(yōu)先級的中斷請求,使其能得到及時(shí)響應(yīng)。在預(yù)實(shí)現(xiàn)特殊屏蔽的中斷服務(wù)程序中通過置入控制字將IMR中相應(yīng)位置1,ISR中對應(yīng)位會自動清0,從而屏蔽了本級中斷,使低優(yōu)先級的中斷可以得到響應(yīng)。在該中斷服務(wù)程序結(jié)束前要退出特殊屏蔽方式,恢復(fù)ISR相應(yīng)位,再用EOI結(jié)束中斷服務(wù)程序,而且特殊屏蔽期間被響應(yīng)的低級中斷服務(wù)程序必須用特殊中斷結(jié)束命令退出。3.中斷優(yōu)先權(quán)設(shè)置方式普通全嵌套方式:最基本、最常用的工作方式,也是默認(rèn)工作方式。此方式下,8259A的8個(gè)中斷請求按照IR0優(yōu)先權(quán)最高、IR7優(yōu)先權(quán)最低的固定優(yōu)先權(quán)順序,所以對于單片8259A最大中斷嵌套深度為8級;特殊全嵌套方式:與普通全嵌套方式基本相同,優(yōu)先權(quán)按照IR0優(yōu)先權(quán)最高、IR7優(yōu)先權(quán)最低的固定順序。不同的是允許同級中斷請求產(chǎn)生INTR信號給CPU,即可以實(shí)現(xiàn)同級中斷嵌套。該方式一般用在8259A級聯(lián)系統(tǒng)中,將主片設(shè)定為特殊全嵌套方式,當(dāng)從片的某一中斷請求被處理時(shí),保證從片較高優(yōu)先權(quán)中斷源能夠得到響應(yīng);優(yōu)先權(quán)自動循環(huán)方式:對于幾個(gè)重要性差別不大的中斷源,可采用優(yōu)先權(quán)自動循環(huán)方式,此時(shí)各中斷源的優(yōu)先權(quán)是順序變化的。變化規(guī)則是一個(gè)中斷被CPU服務(wù)結(jié)束后,它的優(yōu)先級自動降為最低,原來在其下一級的中斷升為最高優(yōu)先權(quán),其余循環(huán)類推;例如:系統(tǒng)啟動時(shí),8級中斷優(yōu)先級默認(rèn)為IR0—IR7,這時(shí),剛好IR4發(fā)出中斷請求,中斷服務(wù)之后,8259A的中斷優(yōu)先級順序自動變?yōu)镮R5、IR6、IR7、IR0、IR1、IR2、IR3、IR4。優(yōu)先權(quán)特殊循環(huán)方式:與優(yōu)先權(quán)自動循環(huán)類似,優(yōu)先權(quán)是順序變化的,但初始最低優(yōu)先級是在主或中斷服務(wù)程序中由命令字直接指定的,而不是剛剛處理完的中斷請求。例如:系統(tǒng)運(yùn)行過程中,如果在主程序或某個(gè)中斷的服務(wù)程序中編程設(shè)定IR4為最低初始優(yōu)先級,則8259A的中斷優(yōu)先級順序變?yōu)镮R5、IR6、IR7、IR0、IR1、IR2、IR3、IR4。4.中斷結(jié)束(EOI)方式

一個(gè)中斷請求被響應(yīng),8259A在ISR相應(yīng)位置1;中斷服務(wù)結(jié)束時(shí),必須將該位清0,這就是中斷結(jié)束操作。自動中斷結(jié)束方式(AEOI):CPU一旦進(jìn)入中斷響應(yīng)總線周期,8259A就自動將ISR相應(yīng)位清0。由于不能再為PR提供判優(yōu)依據(jù),會造成重復(fù)嵌套。常用在不允許中斷嵌套或保證不出現(xiàn)中斷重復(fù)嵌套的場合;普通中斷結(jié)束方式:須由CPU用OUT指令發(fā)來一個(gè)普通EOI命令,8259A收到后,將當(dāng)前ISR中已置1的具有最高優(yōu)先權(quán)的位清0;特殊中斷結(jié)束命令:多用于優(yōu)先權(quán)循環(huán)的情況下,由于無法確定當(dāng)前服務(wù)的中斷級別,須由CPU發(fā)出特殊EOI命令,指明要清除ISR中的哪一位;級聯(lián)方式下,一般不用AEOI,而且一個(gè)中斷結(jié)束可能要發(fā)兩次EOI命令,分別清除主、從片ISR中的相應(yīng)位。5.中斷查詢方式外設(shè)仍然通過中斷請求要求服務(wù);CPU不是通過中斷響應(yīng)獲得中斷類型碼進(jìn)入中斷服務(wù)程序,而是通過查詢獲得中斷請求情況;在IF=0,CPU關(guān)中斷的情況下,外設(shè)中斷請求信號INTR不被響應(yīng),CPU仍可通過查詢進(jìn)入中斷服務(wù)。6.連接系統(tǒng)總線方式緩沖方式:在多片8259A級聯(lián)的大系統(tǒng)中,8259A通過總線緩沖器與系統(tǒng)數(shù)據(jù)總線相連,SP/EN用作輸出EN,控制總線緩沖器的數(shù)據(jù)傳送;非緩沖方式:當(dāng)系統(tǒng)中只有一片或幾片8259A芯片時(shí),8259A直接與數(shù)據(jù)總線相連。單片系統(tǒng),SP/EN接高電平;多片級聯(lián)系統(tǒng),主片SP/EN接高電平,從片SP/EN接低電平。7.級聯(lián)方式一個(gè)主8259A可以帶至多8個(gè)從8259A,將中斷源擴(kuò)展到64級;從片的INT接至主片的IRi端,從片上的中斷請求通過主片的INT送至CPU;CPU的中斷響應(yīng)信號INTA分別送至主、從片上;主片在級聯(lián)線CAS2~CAS0上送出標(biāo)識符編碼,對應(yīng)編碼相同的從片可以獲得INTA信號;在第二個(gè)INTA負(fù)脈沖時(shí),主片不動作,由從片送上中斷類型碼;通常主片的優(yōu)先權(quán)控制采用特殊全嵌套方式,允許同級中斷產(chǎn)生嵌套。

B7~B0

T

74LS245OE

A7~A0

INTR

局部數(shù)據(jù)總線

B7~B0

T

74LS245OE

A7~A0

SP/END7~D0

從控B

SP/END7~D0

從控A

CAS2-~0INTAINTSP/END7~D0

主控制器INT

IR5IR6INTACAS2-0

+5V1kΩ

+5V1kΩ

+5V1kΩ

系統(tǒng)數(shù)據(jù)總線

INTA

8259A緩沖方式級聯(lián)B7~B0

T

74LS245OE

A7~A0

CAS2-~0INTAINT

地址總線

控制總線

數(shù)據(jù)總線

CSA0DBINTA

INT

CAS0

8259A從控ACAS1

CAS2

SP/ENIRQ7┅IRQ0

CSA0DBINTAINT

CAS0

CAS18259A主控

CAS2

IRQ7┅IRQ0

SP/EN76

5432

10

CSA0DB

INTA

INT

CAS0

8259A從控BCAS1

CAS2

SP/ENIRQ7┅IRQ0

GND76543210

GND76543210

VCC76543210

CSA0DB

INTA

INT

CAS0

8259A從控BCAS1

CAS2

SP/ENIRQ7┅IRQ0

CSA0DB

INTA

INT

CAS0

8259A從控BCAS1

CAS2

SP/ENIRQ7┅IRQ0

CSA0DB

INTA

INT

CAS0

8259A從控BCAS1

CAS2

SP/ENIRQ7┅IRQ0

CSA0DB

INTA

INT

CAS0

8259A從控BCAS1

CAS2

SP/ENIRQ7┅IRQ0

8259A非緩沖方式級聯(lián)9.58259A的編程

8259A是可編程中斷控制器,其工作狀態(tài)和操作方式均可通過編程設(shè)定。初始化命令字ICW1~4:8259A開始工作前,必須首先寫入ICW,使其處于預(yù)定的初始狀態(tài),并明確其所處的硬件環(huán)境;ICW設(shè)定后,在整個(gè)系統(tǒng)工作過程中保持不變。操作命令字OCW1~3:控制8259A執(zhí)行不同的操作方式;8259A工作期間,任意時(shí)刻都可以通過重置OCW,動態(tài)改變8259A的操作方式。9.5.18259A的端口分配8259A占用兩個(gè)I/O端口地址,通過A0引腳區(qū)分:與8088CPU配合使用,可直接將A0引腳與系統(tǒng)地址線A0相連,8259A的兩個(gè)端口地址是連續(xù)的;與8086CPU配合使用,由于8259A的D7~D0與系統(tǒng)數(shù)據(jù)總線的低8位相連,所以A0引腳應(yīng)與系統(tǒng)地址線A1相連,此時(shí)地址A0取0,兩個(gè)端口地址都是偶地址。為便于討論,通常稱較低的地址為偶地址,而較高的地址為奇地址;8259A內(nèi)部并不是只有兩個(gè)寄存器,為區(qū)分對不同寄存器的輸入/輸出操作,需要采用在信息中加特征位或者規(guī)定有關(guān)操作順序等方法。中斷地址9.5.28259A的初始化命令字ICW1~41.ICW1

1要ICW4

0不要ICW4

1單片方式

0級連方式

1間距為4

0間距為8

80/85

特征位

1電平觸發(fā)

0邊沿觸發(fā)

A0

D7

D6D5

D4D3

D2

D1

D0

0

偶地址端口A7A6A5

1LTIMADISNGLIC4

說明:D0:IC4位,指出初始化過程中是否需要設(shè)置ICW4,若D0=1,必須輸入ICW4;若D0=0,不需輸入ICW4。8086/8088系統(tǒng)設(shè)置D0=1;D1:SNGL位,指出系統(tǒng)中8259A是單片工作,還是多片級聯(lián)工作。8259A單片工作,則D1=1;8259A多片級連工作,則D1=0;D2:ADI位,只用于MCS80/85系統(tǒng)中,規(guī)定CALL地址的間隔,8088/8086系統(tǒng)中,該位無意義;D3:LTIM位,規(guī)定中斷請求信號的引入方式。若D3=1,則表示中斷請求信號為高電平有效;若D3=0,則表示中斷請求信號為上升沿有效;D4:恒定為1,為ICW1的特征位;D5-7:只用于MCS80/85系統(tǒng),為入口地址的編程位,在8088/8086系統(tǒng)中,無意義。2.ICW2說明:當(dāng)8259A用于MCS80/85系統(tǒng)時(shí),用于確定中斷入口地址的高8位(A15~A8);當(dāng)8259A用于8088/8086系統(tǒng)中時(shí),ICW2的D7~D3為編程設(shè)置位,作為本芯片所管理8級中斷類型碼的高5位,而D2~D0位為8級中斷源所對應(yīng)的編碼(其中:000—IR0,111—IR7)編程設(shè)置對其無影響?!纠咳鬒CW2=45H,則8級中斷源的中斷類型碼分別是IR0為40H,…,IR7為47H。A0

D7

D6

D5

D4

D3

D2

D1D0

1中斷類型碼高5位

中斷類型碼低3位8259A自動填入

T7T6T5T4T3×××奇地址端口3.ICW3(主、從)A0

D7

D6

D5

D4

D3

D2

D1D0

1Si=0:IRi上無從片;Si=1:IRi上有從片

S7S6S5S4S3S2S1S0奇地址端口A0

D7

D6

D5

D4

D3

D2

D1D0

1從片標(biāo)識符

00000ID2ID1ID0奇地址端口說明:ICW3是在8259A工作于級聯(lián)方式時(shí)設(shè)置的初始化命令字,即ICW1的D1=0;主片ICW3的S7~S0分別對應(yīng)于IR7~I(xiàn)R0引腳的連接情況:若Di=1,IRi連有從片;若Di=0,Iri未連從片?!纠恐髌琁CW3=00101011,表、示IR5、IR3、IR1和IR0上連有從8259A片。從片ICW3的D7~D3位不用,通常設(shè)為0,D2~D0位指明該從片連至主片的哪一個(gè)IRi引腳?!纠磕硰钠琁CW3=00000100,表示此從片的INT連至主8259A片的IR4引腳。級聯(lián)工作方式下,主、從8259A片的CAS2~CAS0對應(yīng)連接。當(dāng)CPU發(fā)出中斷響應(yīng)信號時(shí),主片通過CAS2~CAS0送出一個(gè)編碼,從片由CAS2~CAS0接收到主片編碼,與本身ICW3的D2~D0位比較。若相等,則將它的中斷類型碼送數(shù)據(jù)線。4.ICW4

1-8088/8086CPU

0-8080/8085CPU

1-自動EOI方式

0-非自動EOI方式

1-特殊全嵌套方式

0-普通全嵌套方式

0×非緩沖方式

10緩沖方式從片

11緩沖方式主片

A0

D7

D6

D5

D4

D3

D2

D1D0

1

000SFNMBUFM/SAEOImPM奇地址端口說明:D0:μPM位,用于指明當(dāng)前系統(tǒng)中所采用微處理器的類型,若系統(tǒng)中的微處理器為MCS80/85,則D0=0;反之,若系統(tǒng)中的微處理器為8088/8086,則D0=1;D1:AEOI位,規(guī)定中斷結(jié)束的方式,若D1=1,則為自動中斷結(jié)束方式;若D1=0,則中斷結(jié)束時(shí)必須使用中斷結(jié)束EOI命令;D2:M/S位,與BUF位配合使用。當(dāng)BUF=1選擇緩沖方式時(shí),若D2=1,則表示為主8259A;若D2=0,則表示為從8259A;D3:BUF位,用于說明是否選擇緩沖方式。若8259A工作于緩沖方式,則D3=1;否則,D3=0;D3:SFNM位:用于指明是否使用特殊全嵌套方式。若D4=1,則規(guī)定特殊全嵌套方式;否則,若D3=0則規(guī)定普通全嵌套方式,主要用于8259A多片級聯(lián)系統(tǒng)中;D5~7:恒為000,用作ICW4的標(biāo)志位。5.8259A的初始化規(guī)定系統(tǒng)開始工作前,每一片8259A都要通過寫入命令字ICW進(jìn)行初始化;命令字ICW1~4的寫入順序是固定的,其中ICW1和ICW2必須設(shè)置,而ICW3和ICW4需根據(jù)具體的情況來加以選擇;ICW1寫入偶地址,并指明是否要設(shè)置ICW3和ICW4;ICW1的寫入啟動8259A的初始化操作,其內(nèi)部電路自動完成:邊沿觸發(fā)電路復(fù)位、IMR清0、IR7被置為最低優(yōu)先級、普通全嵌套方式、固定優(yōu)先權(quán)排序、將從設(shè)備標(biāo)識碼置為111、清除特殊屏蔽方式、讀IRR狀態(tài);ICW2~4寫入奇地址,按寫入順序加以區(qū)分;級聯(lián)方式下,主、從片都需設(shè)置ICW3。設(shè)置ICW1(A0=0)設(shè)置ICW2(A0=1)級聯(lián)?主片?設(shè)置主片ICW3(A0=1)設(shè)置從片ICW3(A0=1)要ICW4?設(shè)置ICW4(A0=1)YNYNYN8259A初始化流程【例】設(shè)8259A的端口地址為20H、21H,并有初始化程序段: MOV AL,13H OUT 20H,AL MOV AL,08H OUT 21H,AL MOV AL,0DH OUT 21H,AL。由此設(shè)置可知,該8259A工作狀態(tài)為:單片8259A,中斷請求上升沿觸發(fā),中斷類型碼08H~0FH分別對應(yīng)IR0~I(xiàn)R7,普通全嵌套方式,緩沖方式,非自動中斷結(jié)束方式,8086/8088系統(tǒng)。9.5.38259A的操作命令字OCW1~3初始化完畢,8259A處于設(shè)定的工作狀態(tài),隨時(shí)準(zhǔn)備接收IRi上的中斷請求,并按要求管理中斷;8259A工作期間,可通過寫入操作命令字OCW,實(shí)現(xiàn)對8259A的操作控制,或改變工作方式,或?qū)崟r(shí)讀取8259A中某些寄存器的內(nèi)容;8259A有三個(gè)操作命令字OCW1~3;方式控制字OCW的使用沒有特別順序要求,可按編程需要隨時(shí)設(shè)定。1.OCW1說明:又稱中斷屏蔽字,寫入8259A的奇地址,其內(nèi)容實(shí)際存放于中斷屏蔽寄存器IMR中;用于對相應(yīng)的中斷請求輸入進(jìn)行屏蔽,即若Mi=1,則表示8259A對IRi的中斷請求呈屏蔽狀態(tài);否則若Mi=0,則表示8259A對IRi的中斷請求呈允許狀態(tài)?!纠咳鬙CW1=19H,則IR4、IR3、IR0引腳上的中斷請求被屏蔽。CPU可隨時(shí)從8259A奇地址讀取IMR的內(nèi)容。A0

D7

D6

D5

D4

D3

D2

D1D0

1Mi=0:開放IRi中斷請求Mi=1:禁止IRi中斷請求

M7M6M5M4M3M2M1M0奇地址端口2.OCW2說明:用于控制優(yōu)先權(quán)循環(huán)和中斷結(jié)束操作方式,必須寫入偶地址;D4、D3位恒定為00,是OCW2的特征位;R:優(yōu)先權(quán)控制位,若R=1,循化優(yōu)先權(quán),否則固定;EOI:中斷結(jié)束命令位。當(dāng)ICW4中AEOI=0,表明設(shè)置為非自動中斷結(jié)束方式,則在中斷服務(wù)程序最后中斷返回之前必須要設(shè)置中斷結(jié)束(EOI)命令。若EOI=1,表示該OCW2將作為1個(gè)EOI命令,用以清除8259A中斷服務(wù)寄存器ISR的相關(guān)位;SL:指定L2~L0位是否有效,SL=1,L位有效,否則無效;L2~L0位:在SL=1時(shí)有效,編碼指示對應(yīng)要操作的中斷級別。A0

D7

D6

D5

D4

D3

D2

D1D0

0R

SL

EOI

00

L2L1L0偶地址端口中斷級編碼

控制位

R、SL、EOI的組合應(yīng)用RSLEOI意義及應(yīng)用000結(jié)束優(yōu)先權(quán)自動循環(huán),用于方式設(shè)置001普通中斷結(jié)束命令,用于普通全嵌套方式的中斷結(jié)束010無意義011特殊中斷結(jié)束命令,清除ISR指定位100設(shè)置優(yōu)先權(quán)自動循環(huán)方式,用于方式設(shè)置101普通中斷結(jié)束并設(shè)置優(yōu)先權(quán)自動循環(huán)110指定優(yōu)先權(quán)特殊循環(huán)的最低級,用于方式設(shè)置111特殊中斷結(jié)束并設(shè)置優(yōu)先權(quán)特殊循環(huán),指定新的最低級【例】OCW2=01100011,為特殊EOI命令,指定清除ISR的D3位;OCW2=10000000,設(shè)置工作于中斷優(yōu)先權(quán)自動循環(huán)方式,中斷處理過程中,ISR對應(yīng)位置0,同時(shí)降低為最低優(yōu)先級;OCW2=11100010,特殊EOI并設(shè)置優(yōu)先權(quán)特殊循環(huán),清除L2~L0指定的中斷,同時(shí)將其置為最低優(yōu)先級。3.OCW3說明:用于控制8259A的運(yùn)行方式,必須寫入偶地址;D4、D3位恒定為01,是OCW3的特征位;ESMM:特殊屏蔽方式允許位,若ESMM=1,允許建立特殊屏蔽方式,此時(shí)SMM位起作用,否則不允許建立特殊屏蔽;SMM:特殊屏蔽方式位,當(dāng)ESMM=1,即允許建立特殊屏蔽時(shí):若SMM=1,設(shè)置特殊屏蔽方式,若為0,撤銷特殊屏蔽;RR、RIS:組合使用,選擇讀取8259A的IRR或ISR寄存器的內(nèi)容。當(dāng)RR=1,即允許讀取時(shí):若RIS=0,讀IRR寄存器狀態(tài);若RIS=1,讀ISR寄存器狀態(tài);CPU在讀IRR或IRS之前,必須發(fā)出OCW3選擇要讀出的寄存器。隨后,可多次讀取該寄存器的內(nèi)容。A0

D7

D6

D5

D4

D3

D2

D1D0

0X

ESMMSMM

01

P

RRRIS偶地址端口讀寄存器控制位

特殊屏蔽控制位

P:中斷查詢控制位,P=1使8259A處于中斷查詢方式。使用該方式時(shí),首先CPU向8259送查詢命令,即OCW3的P=1的命令字,然后執(zhí)行輸入指令,此時(shí)8259A將查詢字送到數(shù)據(jù)線,并使中斷服務(wù)寄存器ISR中對應(yīng)當(dāng)前最高中斷優(yōu)先級申請的位置1。查詢字表明當(dāng)前外設(shè)是否有中斷請求,同時(shí)提供對應(yīng)當(dāng)前最高優(yōu)先權(quán)中斷請求的編碼。I=1表示有中斷請求,否則無請求;W2~W0給出當(dāng)前優(yōu)先權(quán)最高的中斷請求的代碼。【例】當(dāng)CPU發(fā)來一個(gè)OCW3查詢命令(P=1),此時(shí)8259A的優(yōu)先權(quán)次序?yàn)镮R3、IR4、IR5、……、IR2,且IR4和IR2有中斷請求。當(dāng)CPU隨后執(zhí)行一條輸入指令,便可得到查詢字:84H。查詢字說明當(dāng)前有中斷請求,且優(yōu)先權(quán)最高的為IR4。A0

D7

D6

D5

D4

D3

D2

D1D0

0I

----W2W1W0中斷請求編碼位

9.5.48259A編程實(shí)例

8259A的編程,主要涉及以下幾個(gè)部分:8259A的初始化:寫入初始化命令字ICW,使8259A進(jìn)入設(shè)定的工作狀態(tài);預(yù)置中斷向量:指明各中斷服務(wù)程序的入口地址;中斷服務(wù)程序:保護(hù)現(xiàn)場;開中斷(中斷嵌套);具體的中斷服務(wù),即完成規(guī)定的I/O操作內(nèi)容;設(shè)置操作命令字OCW,改變8259A工作方式;關(guān)中斷、恢復(fù)現(xiàn)場、中斷返回?!纠縄BMPC/XT機(jī)中,使用單片8259A,可接受外部8級中斷。在I/O地址中,分配8259A的端口地址為20H和21H,初始化為:邊沿觸發(fā)、緩沖連接、非自動EOI方式、普通全嵌套方式,中斷類型碼08H~0FH,初始化程序?yàn)椋? …… MOV DX,20H MOV AL,00010011B OUT DX,AL ;寫入ICW1

MOV DX,21H MOV AL,08H OUT DX,AL ;寫入ICW2

MOV AL,00001101B OUT DX,AL ;寫入ICW4 XOR AL,AL OUT DX,AL ;寫入OCW1

……【例】中斷結(jié)束EOI命令和普通全嵌套方式的使用:單片8259A,中斷請求上升沿觸發(fā)、中斷類型碼40H、普通全嵌套、非緩沖方式、用于8086/8088系統(tǒng)、非自動中斷結(jié)束方式。則,初始化命令字分別是ICW1=13H,ICW2=40H,ICW4=01H。關(guān)中斷8259A初始化開中斷執(zhí)行指令保護(hù)現(xiàn)場開中斷中斷處理中斷處理關(guān)中斷恢復(fù)現(xiàn)場EOI命令中斷返回保護(hù)現(xiàn)場開中斷中斷處理關(guān)中斷恢復(fù)現(xiàn)場EOI命令中斷返回執(zhí)行下一條指令執(zhí)行下一條指令I(lǐng)R6中斷服務(wù)程序主程序IR4請求IR3IR6請求ISR4置位ISR3置位IR4中斷服務(wù)程序OCW2=20HIR3中斷服務(wù)程序【例】特殊屏蔽方式的使用:設(shè)8259A初始化與上例相同,但在IR3中斷服務(wù)程序中設(shè)置特殊屏蔽方式,使較低優(yōu)先權(quán)的中斷請求可以得到響應(yīng)。關(guān)中斷8259A初始化開中斷執(zhí)行指令保護(hù)現(xiàn)場開中斷中斷處理中斷處理關(guān)中斷恢復(fù)現(xiàn)場普通EOI命令中斷返回保護(hù)現(xiàn)場開中斷中斷處理關(guān)中斷恢復(fù)現(xiàn)場特殊EOI命令OCW2=65H中斷返回執(zhí)行下一條指令主程序IR3請求IR5請求IR3中斷服務(wù)程序IR5中斷服務(wù)程序特殊屏蔽I

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論