微機(jī)原理 第七章_第1頁(yè)
微機(jī)原理 第七章_第2頁(yè)
微機(jī)原理 第七章_第3頁(yè)
微機(jī)原理 第七章_第4頁(yè)
微機(jī)原理 第七章_第5頁(yè)
已閱讀5頁(yè),還剩43頁(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)介

第7章中斷控制器博學(xué)審問(wèn)慎思明辨篤行第7章中斷控制器

§7.18259A的引腳信號(hào)、編程結(jié)構(gòu)和工作原理

§7.28259A的工作方式

§7.38259A的初始化命令字和初始化流程

§7.48259A的操作命令字

§7.58259A使用舉例

§7.6多片8259A組成的主從式中斷系統(tǒng)

教學(xué)重點(diǎn)為:8259A的編程結(jié)構(gòu);

8259A的初始化流程;

8259A的初始化命令字與操作命令字;

8259A的實(shí)例;第7章中斷控制器第7章中斷控制器7.18259A的引腳信號(hào)、編程結(jié)構(gòu)和工作原理7.1.18259A的外部信號(hào)和含義第7章中斷控制器8259A的編程結(jié)構(gòu)第7章中斷控制器8259A的引腳計(jì)時(shí)鍵盤保留串口2

并口軟盤打印機(jī)IOW18.2HzA0CS8259A總線A0數(shù)據(jù)線

IORRDWR片選譯碼IR0IR1IR2IR3IR4IR5IR6IR7A5~A9D0~D7D0~D7VccSP/ENCA0CA1CA2GND+5V20~3FH用于多片8259A級(jí)連情況INTAINT

INTA

INTR串口1第7章中斷控制器7.1.28259A的編程結(jié)構(gòu)和工作原理第7章中斷控制器SP/ENCA0CA1CA2IORIOW總線D0~D7數(shù)據(jù)線D0~D7INTAINTRA0片選譯碼A5~A9CSA0RD

INTAWRINT

I3I4ICW1

芯片控制

ICW2

中斷類型號(hào)

ICW3

主從片連接關(guān)系

ICW4

方式控制0111A010010100OCW1

中斷屏蔽寄存器IMR

00

OCW2

優(yōu)先級(jí)設(shè)置、發(fā)EOI

01

OCW3特殊屏蔽,查詢方式設(shè)置處理部分控制部分00000000

ISR當(dāng)前中斷服務(wù)寄存器PR優(yōu)先級(jí)分析器VCCGND100A0IR0IR1IR2IR3IR4IR5IR6IR7IRR中斷請(qǐng)求寄存器00000000

8259A的編程結(jié)構(gòu)第7章中斷控制器①

中斷請(qǐng)求寄存器IRR鎖存外部的中斷申請(qǐng)。若IR0~IR7引腳上有中斷申請(qǐng),則將IRR相應(yīng)位置1IORIOW總線數(shù)據(jù)線D0~D7INTAA0片選譯碼A5~A9CSA0RD

INTAWRINTD0~D7

ICW1

芯片控制

ICW2

中斷類型號(hào)

ICW3

主從片關(guān)系

ICW4

方式控制00000000

ISR當(dāng)前中斷服務(wù)寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1

中斷屏蔽寄存器IMR

00

OCW2

優(yōu)先級(jí)、發(fā)EOI

OCW3特殊屏蔽設(shè)置PR優(yōu)先級(jí)裁決器IRR中斷請(qǐng)求寄存器00000000

10010100INTR11第7章中斷控制器②中斷屏蔽寄存器IMR決定IRR中的中斷申請(qǐng)是否進(jìn)入優(yōu)先級(jí)裁決器PR。

IMR對(duì)應(yīng)位為0,允許中斷申請(qǐng)進(jìn)入優(yōu)先級(jí)裁決器,

為1,不允許進(jìn)入,中斷申請(qǐng)被IMR屏蔽。IORIOW總線數(shù)據(jù)線D0~D7INTAA0片選譯碼A5~A9CSA0RD

INTAWRINTD0~D7

ICW1

芯片控制

ICW2

中斷類型號(hào)

ICW3

主從片關(guān)系

ICW4

方式控制00000000

ISR當(dāng)前中斷服務(wù)寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1

中斷屏蔽寄存器IMR

00

OCW2

優(yōu)先級(jí)、發(fā)EOI

OCW3特殊屏蔽設(shè)置PR優(yōu)先級(jí)裁決器IRR中斷申請(qǐng)寄存器10000001

10010100INTR第7章中斷控制器③優(yōu)先級(jí)裁決器PR據(jù)新進(jìn)入的中斷申請(qǐng)和ISR的內(nèi)容,

決定是否發(fā)中斷申請(qǐng)信號(hào)。如果進(jìn)入的中斷申請(qǐng)比ISR中記錄的中斷優(yōu)先級(jí)高,則通過(guò)8259A的INT引腳向CPU發(fā)出中斷請(qǐng)求信號(hào);如果進(jìn)入的中斷申請(qǐng)不比ISR中記錄的中斷優(yōu)先級(jí)高,同級(jí)或低級(jí),則不向CPU發(fā)中斷請(qǐng)求信號(hào)。IORIOW總線數(shù)據(jù)線D0~D7INTAA0片選譯碼A5~A9CSA0RD

INTAWRINTD0~D7

ICW1

芯片控制

ICW2

中斷類型號(hào)

ICW3

主從片關(guān)系

ICW4

方式控制001

00000

ISR當(dāng)前中斷服務(wù)寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1

中斷屏蔽寄存器IMR

00

OCW2

優(yōu)先級(jí)、發(fā)EOI

OCW3特殊屏蔽設(shè)置PR優(yōu)先級(jí)裁決器IRR中斷申請(qǐng)寄存器10000001

10010100INTR④當(dāng)前中斷服務(wù)寄存器ISR

記錄CPU正在響應(yīng)的中斷。ISR中的某位為1,表示CPU正在響應(yīng)此級(jí)中斷,即正在執(zhí)行此中斷源的中斷子程序;ISR中的某位為0,表示CPU沒(méi)有或已響應(yīng)完此級(jí)中斷,即不在執(zhí)行此中斷源的中斷子程序IORIOW總線數(shù)據(jù)線D0~D7INTAA0片選譯碼A5~A9CSA0RD

INTAWRINTD0~D7

ICW1

芯片控制

ICW2

中斷類型號(hào)

ICW3

主從片關(guān)系

ICW4

方式控制001

00000

ISR當(dāng)前中斷服務(wù)寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1

中斷屏蔽寄存器IMR

00

OCW2

優(yōu)先級(jí)、發(fā)EOI

OCW3特殊屏蔽設(shè)置PR優(yōu)先級(jí)裁決器IRR中斷請(qǐng)求寄存器10000001

10010100INTR第7章中斷控制器

CPU接收到INTR上的中斷申請(qǐng)信號(hào)后:如果IF標(biāo)志為0,則CPU不響應(yīng)此中斷申請(qǐng)信號(hào),

即中斷申請(qǐng)被IF屏蔽。如果IF標(biāo)志為1,則處理完當(dāng)前的指令后,進(jìn)入中斷響應(yīng)周期

通過(guò)INTA引腳發(fā)出兩個(gè)負(fù)脈沖信號(hào),從數(shù)據(jù)總線上獲取中斷類型號(hào),進(jìn)入中斷響應(yīng)的過(guò)程。第7章中斷控制器①將ISR中相應(yīng)位置1,表示CPU響應(yīng)此級(jí)中斷,執(zhí)行此中斷源的中斷子程。8259A在接收到第一個(gè)INTA中斷響應(yīng)信號(hào)后:001

00000

ISR當(dāng)前中斷服務(wù)寄存器IR0IR1IR2IR3IR4IR5IR6IR7PR優(yōu)先級(jí)裁決器IRR中斷申請(qǐng)寄存器10000001

ICW1

芯片控制

ICW2

中斷類型號(hào)

ICW3

主從片關(guān)系

ICW4

方式控制OCW1

中斷屏蔽寄存器IMR

00

OCW2

優(yōu)先級(jí)、發(fā)EOI

OCW3特殊屏蔽設(shè)置10010100IORIOW總線數(shù)據(jù)線D0~D7INTAA0片選譯碼A5~A9CSA0RDWR

INTAINTD0~D7INTR01②

把IRR中對(duì)應(yīng)的位清0,清除IRR中鎖存的中斷申請(qǐng)信號(hào)。①

通過(guò)數(shù)據(jù)線,將被響應(yīng)申請(qǐng)的中斷類型號(hào)送給CPU。類型號(hào)由ICW2提供,在初始化8259A時(shí)已設(shè)定好。8259A在接收到第二個(gè)INTA中斷響應(yīng)信號(hào)后:001

00000

ISR當(dāng)前中斷服務(wù)寄存器IR0IR1IR2IR3IR4IR5IR6IR7PR優(yōu)先級(jí)裁決器IRR中斷申請(qǐng)寄存器10000001

ICW1

芯片控制

ICW2

中斷類型號(hào)

ICW3

主從片關(guān)系

ICW4

方式控制OCW1

中斷屏蔽寄存器IMR

00

OCW2

優(yōu)先級(jí)、發(fā)EOI

OCW3特殊屏蔽設(shè)置10010100IORIOW總線數(shù)據(jù)線D0~D7INTAA0片選譯碼A5~A9CSA0RDWR

INTAINTD0~D7INTR01②CPU獲得中斷類型號(hào)后,進(jìn)入CPU響應(yīng)中斷的過(guò)程,

執(zhí)行中斷子程,處理中斷源申請(qǐng)的功能。返回7.28259A的工作方式

8259A有多種工作方式,這些工作方式由程序初始化來(lái)設(shè)置,使用起來(lái)相當(dāng)靈活。1.優(yōu)先級(jí)設(shè)置方式(1)固定優(yōu)先級(jí)(也稱全嵌套方式)在全嵌套優(yōu)先級(jí)方式中,8259A的中斷優(yōu)先級(jí)從IR0到IR7,即IR0優(yōu)先級(jí)最高,IR7優(yōu)先級(jí)最能低。這是最常用、最基本的工作方式。(2)特殊全嵌套方式與固定全嵌套方式基本相同,但在特殊全嵌套方式中,當(dāng)正在處理某一級(jí)中斷時(shí),如果有同級(jí)的中斷請(qǐng)求發(fā)生,8259A也會(huì)響應(yīng),從而開(kāi)放了同級(jí)中斷請(qǐng)求的特殊嵌套。這種方式主要用于8259A級(jí)聯(lián)系統(tǒng)中,在這種系統(tǒng)中,主片設(shè)置為特殊全嵌套方式,從片設(shè)置為其它優(yōu)先級(jí)方式,這樣,某一從片的請(qǐng)求正在處理時(shí),來(lái)自同一從片中的優(yōu)先級(jí)較高的中斷請(qǐng)求也能得到響應(yīng)。第7章中斷控制器(3)優(yōu)先級(jí)自動(dòng)循環(huán)方式優(yōu)先級(jí)自動(dòng)循環(huán)方式一般用于多個(gè)中斷源優(yōu)先級(jí)相同的情況下。在這種方式中,優(yōu)先級(jí)隊(duì)列是循環(huán)變化的,某一中斷源得到中斷服務(wù)后,優(yōu)先自動(dòng)降為最低。例如:在優(yōu)先級(jí)自動(dòng)循環(huán)方式中,優(yōu)先級(jí)初始隊(duì)列由高到低為:IR0、IR1、IR2、……、IR6、IR7,如果此時(shí)IR2端有中斷請(qǐng)求,并予以響應(yīng),響應(yīng)結(jié)束后,IR2的優(yōu)先級(jí)自動(dòng)降為最低,IR3的優(yōu)先級(jí)為最高,這時(shí),系統(tǒng)的優(yōu)先級(jí)隊(duì)列由高到低變?yōu)椋篒R3、IR4、IR5、IR6、IR7、IR0、IR1、IR2。(4)優(yōu)先級(jí)特殊循環(huán)方式優(yōu)先級(jí)特殊循環(huán)方式與優(yōu)先級(jí)自動(dòng)循環(huán)方式相比,唯一的區(qū)別在于:前者是優(yōu)先級(jí)初始隊(duì)列是程序編程來(lái)決定的,如果程序規(guī)定,IR4優(yōu)先級(jí)最低,那么IR5優(yōu)先級(jí)則最高;而后者的優(yōu)先級(jí)初始隊(duì)列開(kāi)始是IR0優(yōu)先級(jí)最高,IR7優(yōu)先級(jí)最低。第7章中斷控制器2.屏蔽中斷源的方式按照中斷源的屏蔽方式,8259A有以下兩種工作方式:(1)普通屏蔽方式在8259A內(nèi)部有一個(gè)8位屏蔽寄存器(OCW1),對(duì)應(yīng)IR0~I(xiàn)R7的8個(gè)中斷請(qǐng)求,可由程序設(shè)置將屏蔽寄存器中的任一位或幾位置1,這樣與之相對(duì)應(yīng)的中斷請(qǐng)求就被屏蔽了。當(dāng)然,要清除屏蔽,只要將屏蔽寄存器(OCW1)中的對(duì)應(yīng)位復(fù)位即可。(2)特殊屏蔽方式特殊屏蔽方式是當(dāng)設(shè)置了特殊屏蔽方式后,對(duì)屏蔽寄存器(IMR)中的對(duì)應(yīng)位置1

,同時(shí)使當(dāng)前中斷服務(wù)寄存器中的對(duì)應(yīng)位自動(dòng)清0,這樣,不只屏蔽了當(dāng)前正在處理的這級(jí)中斷,還開(kāi)放優(yōu)先級(jí)較低的其它中斷請(qǐng)求。因此,特殊屏蔽方式,總是在中斷服務(wù)程序中使用。第7章中斷控制器3.中斷結(jié)束處理的方式在中斷服務(wù)程序結(jié)束時(shí),必經(jīng)發(fā)出中斷結(jié)束命令,使ISR中對(duì)應(yīng)位復(fù)位,否則,系統(tǒng)便不能正常工作。使ISR對(duì)應(yīng)位復(fù)位的動(dòng)作稱為中斷結(jié)束處理。8259A有以下三種中斷結(jié)束方式:(1)中斷自動(dòng)結(jié)束方式這種中斷結(jié)束方式是最簡(jiǎn)單的方式,用于系統(tǒng)中只有一片8259A的情況。在這種方式中,系統(tǒng)一進(jìn)入中斷過(guò)程,在第二個(gè)中斷響應(yīng)信號(hào)INTA到來(lái)時(shí),8259A會(huì)自動(dòng)將當(dāng)前中斷服務(wù)寄存器ISR中的相應(yīng)位復(fù)位。(2)普通(一般)中斷結(jié)束方式該方式多用于全嵌套方式下。當(dāng)CPU向8259A發(fā)出一條EOI命令時(shí),8259A會(huì)把當(dāng)前中斷服務(wù)寄存器中的最高非零位復(fù)位。具體操作是,只要在程序中向8259A的偶地址端口寫一個(gè)操作命令字OCW2,并使其中的EOI=1,SL=0,R=O即可。第7章中斷控制器(3)特殊的中斷結(jié)束方式這種方式是在程序中發(fā)出一條特殊的中斷結(jié)束命令,具體指出要清除ISR中的哪一位。往往用于非全嵌套方式。具體操作是,在程序中向8259A的偶地址端口寫一個(gè)命令字OCW2,并使其中的EOI=1,SL=1,R=0,此時(shí)L2,L1,L0這三位指出要清除ISR中的哪一位。需要指出的是,在級(jí)聯(lián)系統(tǒng)中,一般不使用中斷自動(dòng)結(jié)束方式,而用非自動(dòng)結(jié)束方式。而且,不管是使用普通中斷結(jié)束方式,還是使用特殊的中斷處理方式,在中斷服務(wù)程序結(jié)束時(shí),都必經(jīng)發(fā)出兩次中斷結(jié)束命令,一次是對(duì)主片,一次是對(duì)從片。第7章中斷控制器4.連接系統(tǒng)總線的方式根據(jù)8259A與系統(tǒng)總線的連接方式,可以分為緩沖方式和非緩沖方式兩種:(1)緩沖方式在多片8259A級(jí)聯(lián)的大系統(tǒng)中,8259A通過(guò)總線驅(qū)動(dòng)器和數(shù)據(jù)總線相連,這種方式稱為緩沖方式。在這種方式中,將8259A的SP/EN端和總線驅(qū)動(dòng)器的允許端相連,8259A在輸出狀態(tài)字和中斷類型碼的同時(shí),向SP/EN端輸出一個(gè)低電平,此低電平信號(hào)作為總線驅(qū)動(dòng)器的啟動(dòng)信號(hào)。(2)非緩沖方式在只有一片或幾片8259A的系統(tǒng)中,8259A直接與CPU的數(shù)據(jù)總線相連,稱為非緩沖方式。在非緩沖方式中,8259A的SP/EN端作為輸入信號(hào)。在單片的8259A系統(tǒng)中,SP/EN端接高電平;在多片的8259A的系統(tǒng)中,主片的SP/EN端接高電平,從片的SP/EN端接低電平。第7章中斷控制器5.引入中斷請(qǐng)求的方式根據(jù)中斷請(qǐng)求信號(hào)的引入方式,8259A有以下三種方式:(1)電平觸發(fā)方式在電平觸發(fā)方式中,8259A把中斷請(qǐng)求輸入端IR出現(xiàn)高電平作為中斷請(qǐng)求信號(hào)。(2)邊沿觸發(fā)方式在邊沿觸發(fā)方式中,8259A把中斷請(qǐng)求輸入信號(hào)IR出現(xiàn)的上升沿作為中斷請(qǐng)求信號(hào)。(3)中斷查詢方式

8259A可工作于查詢方式來(lái)檢查外部設(shè)備的中斷請(qǐng)求。第7章中斷控制器普通全嵌套方式特殊全嵌套方式自動(dòng)循環(huán)方式特殊循環(huán)方式優(yōu)先權(quán)固定方式優(yōu)先權(quán)循環(huán)方式設(shè)置優(yōu)先權(quán)方式普通中斷結(jié)束方式特殊中斷結(jié)束方式自動(dòng)中斷結(jié)束方式非自動(dòng)中斷結(jié)束方式結(jié)束中斷處理方式屏蔽中斷源方式普通屏蔽方式特殊屏蔽方式中斷觸發(fā)方式邊沿觸發(fā)方式電平觸發(fā)方式數(shù)據(jù)線連接方式緩沖方式非緩沖方式第7章中斷控制器7.38259A的初始化命令字和初始化流程7.3.18259A的初始化命令字

8259A有4個(gè)初始化命令字ICW1~ICW4,用來(lái)對(duì)8259A進(jìn)行初始狀態(tài)的設(shè)置。8259A在開(kāi)始工作前必須寫入;必須按照ICW1~I(xiàn)CW4順序?qū)懭搿?.ICW1(芯片控制初始化命令字)的格式和含義偶地址端口×——表示可以任意為1為0都可以(建議為0)1——只能為1。作為標(biāo)志中斷觸發(fā)方式:LTIM=1,電平觸發(fā)方式LTIM=0,邊沿觸發(fā)方式規(guī)定單片或級(jí)連方式:SNGL=1,單片方式SNGL=0,級(jí)連方式是否寫入ICW4IC4=1,要寫入ICW4IC4=0,不寫入ICW4,即ICW4規(guī)定的位全為0ICW1:A0=0,D4=1第7章中斷控制器2.ICW2(設(shè)置中斷類型號(hào)初始化命令字)的格式和含義ICW2:A0=1奇地址端口設(shè)置中斷向量號(hào)

T7~T3為中斷向量號(hào)的高5位低3位為由8259A自動(dòng)確定:

IR0為000、IR1為001、…IR7為111中斷類型碼的高五位是由ICW2的五位確定,低三位是由引入中斷請(qǐng)求的引腳確定。例如:ICW2為40H,則8259A的IR0~I(xiàn)R7對(duì)應(yīng)的8個(gè)中斷類型碼為40H、41H、42H、43H、44H、45H、46H、47H。第7章中斷控制器3.ICW3(標(biāo)志主片/從片的初始化命令字)的格式和含義奇地址端口ICW3:A0=1級(jí)連命令字主片8259A:IRi=1對(duì)應(yīng)IRi接有從片;否則IRi沒(méi)有連接從片從片8259A:ID0~I(xiàn)D2編碼說(shuō)明從片INT引腳接到主片哪個(gè)IR引腳第7章中斷控制器4.ICW4(方式控制初始化命令字)的格式和含義ICW4:A0=1嵌套方式:特殊全嵌套方式(SFNM=1)普通全嵌套方式(SFNM=0)數(shù)據(jù)線的緩沖方式:緩沖方式(BUF=1)非緩沖方式(BUF=0)主片/從片選擇:主片(M/S=1)從片(M/S=0)中斷結(jié)束方式:自動(dòng)中斷結(jié)束(AEOI=1)非自動(dòng)中斷結(jié)束(AEOI=0)微處理器類型:16位80x86(PM=1)8位8080/8085(PM=0)奇地址端口第7章中斷控制器7.3.28259A的初始化流程1)ICW1寫入偶地址端口,ICW2~ICW4寫入奇地址端口。2)先依次寫入命令字ICW1和ICW2。3)只有當(dāng)ICW1中的SNGL=0時(shí),才送ICW3。主片和從片均送ICW3,但它們的格式不同。4)只有當(dāng)ICW1中的IC4=1時(shí),才送ICW4。對(duì)8086/8088系統(tǒng),ICW4總是需要設(shè)置的。綜上所述,在微機(jī)系統(tǒng)中:采用單片8259A結(jié)構(gòu)時(shí),初始化要寫入的預(yù)置命令字是:ICW1、ICW2和ICW4。而采用級(jí)連時(shí),要寫入的預(yù)置命令字是:ICW1、ICW2、ICW3和ICW4。第7章中斷控制器第7章中斷控制器ICW的設(shè)置方法:8259A在系統(tǒng)中占用二個(gè)端口地址,用A0來(lái)尋址ICW1:A0=0ICW2、3、4:A0=1,共用一個(gè)端口,所以區(qū)分這三個(gè)寄存器的唯一方法就是按照從ICW2~ICW4的排列順序進(jìn)行初始化的設(shè)置,否則易出現(xiàn)錯(cuò)誤。

例:在IBMPC機(jī)中,分配給中斷控制器的端口地址為20H,21H。并且其8259A為單片系統(tǒng)。第7章中斷控制器

INTA00EQU20H;8259A端口地址

INTA01EQU21H

。。。

MOVAL,13HOUTINTA00,AL;設(shè)ICW1,邊沿觸發(fā),單片

MOVAL,08HOUTINTA01,AL;設(shè)ICW2,中斷類型號(hào)00001HMOVAL,09HOUTINTA01,AL;設(shè)ICW4,非特殊全嵌,非8位系統(tǒng),非中斷自動(dòng)結(jié)束00010011第7章中斷控制器7.48259A的操作命令字

8259A有三個(gè)操作命令字OCW1~OCW3。在應(yīng)用程序中設(shè)置,設(shè)置次序沒(méi)有規(guī)定,對(duì)端口地址有嚴(yán)格規(guī)定,OCW1寫入奇地址,OCW2、OCW3寫入偶地址。1.OCW1(中斷屏蔽操作命令字)的格式和含義OCW1:A0=1奇地址端口屏蔽命令字:中斷屏蔽寄存器IMRDi=Mi對(duì)應(yīng)IRi,為1禁止IRi中斷;為0允許IRi中斷。各位互相獨(dú)立。第7章中斷控制器2.OCW2(設(shè)置優(yōu)先級(jí)循環(huán)方式和中斷結(jié)束方式的操作命令字)的格式和含義偶地址端口OCW2:A0=0R:中斷優(yōu)先權(quán)控制R=1循環(huán)優(yōu)先權(quán)R=0固定優(yōu)先權(quán)SL=1L0~L2指明一個(gè)中斷級(jí)EOI=1

結(jié)束中斷指令L2~L0的3位編碼指定IR引腳該命令字:產(chǎn)生中斷結(jié)束方式和改變優(yōu)先權(quán)順序A0=D4=D3=0:是OCW2的標(biāo)志位。第7章中斷控制器A0=D7=D4=0,D3=1是OCW3的特征位,以便于與OCW1和OCW2相區(qū)別。3.OCW3(設(shè)置特殊屏蔽、中斷查詢、讀操作命令字)的格式和含義OCW3:A0=0偶地址端口設(shè)置中斷屏蔽方式ESMM特殊屏蔽模式允許位SMM特殊屏蔽模式位P

查詢方式位,P=1,8259A依靠發(fā)送查詢命令來(lái)獲得外部設(shè)備的中斷請(qǐng)求信息;P=0,處于非查詢方式。RR讀寄存器命令。RR=1,允許讀IRR和ISR的值;RR=0,禁止讀取。RIS讀IRR或RIS的選擇位。當(dāng)RR=1時(shí),RIS=1,允許讀當(dāng)前中斷服務(wù)寄存器ISR的值;RIS=0,允許讀中斷請(qǐng)求寄存器IRR的值。第7章中斷控制器7.58259A的使用舉例【例】8259A在系統(tǒng)中的初始化編程。使用要求和特點(diǎn)如下:(1)一片8259A管理8級(jí)中斷,(2)端口的地址范圍為20H~3FH,實(shí)際使用20H和21H兩個(gè)端口。(3)8個(gè)中斷請(qǐng)求信號(hào)均為邊沿觸發(fā)。(4)采用固定優(yōu)先級(jí)方式。(5)中斷類型碼的范圍是:08H~0FH。非自動(dòng)中斷結(jié)束。硬件連接如圖所示:第7章中斷控制器8259A的初始化程序段:MOVAL,13H;寫ICW1,單片8259A,邊沿觸發(fā),需設(shè)ICW4OUT20H,ALMOVAL,08H;寫ICW2,中斷類型碼的高五位為00001BOUT21H,ALMOVAL,01H;寫ICW4,8086/8088系統(tǒng),固定優(yōu)先級(jí),非自動(dòng)中斷結(jié)束OUT21H,AL采用中斷結(jié)束命令的程序段:MOVAL,20H;寫OCW2,向8259A發(fā)出普通EOI命令OUT20H,AL第7章中斷控制器(1)初始化命令字(ICW1-ICW4)

決定8259A的工作方式

通常是在計(jì)算機(jī)系統(tǒng)啟動(dòng)時(shí)在初始程序設(shè)置,一旦設(shè)定,一般在系統(tǒng)工作過(guò)程不再改變。例開(kāi)機(jī)后,BIOS將8259A初始化為:①

IR0~IR7中斷申請(qǐng)信號(hào)為上升沿觸發(fā)方式;②

IR0~IR7對(duì)應(yīng)的中斷類型號(hào)分別為08H~0FH;③優(yōu)先級(jí)IR0最高,IR7最低;(2)操作命令字(OCW1,OCW2,OCW3)

在應(yīng)用程序中設(shè)定,動(dòng)態(tài)地控制CPU處理中斷的過(guò)程(3)ISR和IRR存放當(dāng)前8259A的狀態(tài)

通過(guò)讀取ISR和IRR的內(nèi)容,可了解當(dāng)前8259A工作情況小結(jié)第7章中斷控制器(1)通過(guò)中斷屏蔽寄存器IMR的讀寫,設(shè)置中斷屏蔽字(2)

通過(guò)OCW2操作命令寄存器,發(fā)中斷結(jié)束EOI命令要求掌握:通過(guò)往奇地址端口寫入OCW1(IMR)內(nèi)容實(shí)現(xiàn)對(duì)應(yīng)位為0,允許該級(jí)中斷申請(qǐng)進(jìn)入對(duì)應(yīng)位為1,禁止該級(jí)中斷申請(qǐng)進(jìn)入(1)設(shè)置中斷屏蔽字第7章中斷控制器IORIOW總線數(shù)據(jù)線D0~D7INTAA0片選譯碼A5~A9CSA0RD

INTAWRINTD0~D7

ICW1

芯片控制

ICW2

中斷類型號(hào)

ICW3

主從片關(guān)系

ICW4

方式控制00000000

ISR當(dāng)前中斷服務(wù)寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1

中斷屏蔽寄存器IMR

00

OCW2

優(yōu)先級(jí)、發(fā)EOI

OCW3特殊屏蔽設(shè)置PR優(yōu)先級(jí)裁決器IRR中斷申請(qǐng)寄存器10000001

10010100INTR第7章中斷控制器新增允許IR2的中斷申請(qǐng)

INAL,21H;讀入原IMR的內(nèi)容

ANDAL,11111011B;D2=0,允許IR2的中斷申請(qǐng)

OUT21H,AL;寫入IMR禁止IR4的中斷申請(qǐng)

INAL,21H;讀入原IMR的內(nèi)容

ORAL,00010000B;D4=1,禁止IR4的中斷申請(qǐng)

OUT21H,AL;寫入IMR例

已知IBMPC/XT系統(tǒng)中

8259A的奇地址端口地址為21H第7章中斷控制器設(shè)置完成后的結(jié)果:IORIOW總線數(shù)據(jù)線D0~D7INTAA0片選譯碼A5~A9CSA0RD

INTAWRINTD0~D7

ICW1

芯片控制

ICW2

中斷類型號(hào)

ICW3

主從片關(guān)系

ICW4

方式控制00000000

ISR當(dāng)前中斷服務(wù)寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1

中斷屏蔽寄存器IMR

00

OCW2

優(yōu)先級(jí)、發(fā)E

溫馨提示

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