大三下-微機米么瑞chapter_第1頁
大三下-微機米么瑞chapter_第2頁
大三下-微機米么瑞chapter_第3頁
大三下-微機米么瑞chapter_第4頁
大三下-微機米么瑞chapter_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

20142014第6章20142014第三節(jié)可編程中斷控制器1.設(shè)置中 2.發(fā)中斷結(jié)束命令四、8259A在IBMPC/XT系統(tǒng)中的應(yīng)用五、8259A在Pentium機中的應(yīng)用20142014接口接口接口接口管理接口接口接口接口20142014中斷申請管理接口的主要功能向CPU的引腳INTR發(fā)中斷申請信當有多個外設(shè)同時發(fā)出中斷請求能按照一定的優(yōu)先級順序,向CPU發(fā)出中斷申使CPU能優(yōu)先響應(yīng)優(yōu)先級最高的外部設(shè)備的中斷申在CPU中斷響應(yīng)周期,針對不同外設(shè)的中斷請求向CPU傳送不同的中斷類型使CPU執(zhí)行相應(yīng)的中斷子程在IBMPC機由8259A可編程中斷控制器(PIC)20142014二、8259A的引腳、編程結(jié)構(gòu)和工作20142014可編程中斷控制器8259A是一種可編程中斷控制器,有如下功能 當CPU響應(yīng)中斷時,為CPU提供中斷個外部中斷的優(yōu)先級排列方可以通過行指定。也可以通過編程 某些中斷請,或者通過碼。允許9片8259級聯(lián),構(gòu)成64級中斷系統(tǒng)器件用NMOS工藝制造,只需一組+5V電源,因電路是靜態(tài)的,無需時鐘輸入在PC/AT系列微機中,使用兩片8259級聯(lián),構(gòu)成15級中 雙列直插

2014~總~~片

(參 圖6-+方波鍵盤保留串口2串口1用于多級連情20142014D7~D0:數(shù)據(jù)線。用于與CPU之間傳送命令、狀態(tài)、中斷類型讀出信號。通知8259把某個內(nèi)部寄存器的值送數(shù)據(jù)線D7~D0。寫入信號。通知8259把數(shù)據(jù)線D7~D0上的值寫入內(nèi)部某個寄存器。A0:選擇內(nèi)部寄存器的端口地在標準AT機中,使用兩片8259構(gòu)成主從式中斷系主8259的端口地址:從8259的端口地址:INT:把IRQ7~IRQ0上的最高優(yōu)先級請求傳送到CPU的INTR引INTA:接收CPU的中斷響應(yīng)信號。CPU發(fā)出的中斷響應(yīng)信號為兩個負脈沖。20142014SP/

片2.8259A的編程結(jié)處理部

中 寄存

2014總~數(shù)據(jù)~~片選

0 0 00

0 0 寄存器000

×1 控×1碼 ICW2中斷類

100110010100OCW1中 寄存器00 00OCW2優(yōu)先級設(shè)置、發(fā)

1ICW4方式控1

001OCW3特 ,查詢方式設(shè)01控制部

20142014中斷請求寄存器~的Ii中斷服務(wù)寄存器Ii中中 寄存器存放中 字,某位=1表示對應(yīng)的IRi輸入中斷優(yōu)先權(quán)判別電路

處理

0000000000

20148259A內(nèi)部有94個初始化命令寄存

寄存器

00000000ICW1、ICW3、

控 3個操作命令寄存OCW2、當前中斷服務(wù)寄存器中斷申請寄存器

1×I3ICW2中斷類型號ICW3主從片關(guān)系ICW4方式控制

10中

101000000101控制部2014初始化命令字(ICW12014決定8259A的工作方 開機后,BIOS將8259A初始化為①IR0~IR7②IR0~IR7對應(yīng)的中斷類型號分別為③優(yōu)先級IR0最高IR7ISR和IRR存放當前8259A的狀通 ISR和IRR的內(nèi)容,可了解當前8259A工作情201420148259A的控制命令分初始化命令字向8259A寫入ICW的過程稱為初始化操作命令字向8259A寫入OCW的過程稱為操作方式20142014需要CS#、A0、RD#、WR#和D4、D3的配內(nèi)部寄存器 方法如下表000010001寫01x1xx00101xx讀出20142014NYNY寫NYNY寫寫寫寫20142014初始化8259A必須從ICW1開寫ICW1意味著重新初始化寫入ICW1后,8259A的狀態(tài)如下清除ISR和IMR(全將中斷優(yōu)先級設(shè)成初始狀態(tài):IR0最高,IR7最低設(shè)定為一 方式采用非自動中斷結(jié)束方式狀態(tài)讀出邏輯預(yù)置為讀IRR2014ICW1——初始化 D6 ICW10 2014ICW1——初始化地址 特征0xxx1LTIM: =1 =0SNGL: =1 =0IC4:ICW4 =1要寫 ICW2——中斷向量2014 A15/T7A14/T6A13/T5A12/T4A11/T31xxxT7~T3:中斷向量碼的高5T2~T0:最低3位為中斷源的序號000~111分別對應(yīng)由8259A根據(jù)中斷源的序號自動填例如20142014ICW3——ICW3用于級聯(lián)工作方式。對于級聯(lián)工作方式下要分別對主片、從片進行初化。對于主片、從片ICW3命令字分別為1主片的級聯(lián)控制Si=1對應(yīng)IRi線上連接了從100000從片的級聯(lián)控制ID2~ID0標識碼,說明本從片連接到主片的哪個IR引腳上。000~111應(yīng)IR0~IR720142014ICW3——級連控制字(續(xù)ICW3必須與主從片的連接關(guān)系一例如,主片的INC=10,。C送出被允許中斷CW3C2014201410001SFNM特殊全嵌1特殊全嵌套方0一般全嵌套方AEOI自動1自動EOI方0非自動EOI

BUF:緩沖方M/S主/從緩沖BUF 緩沖方式/主 緩沖方式/從 非緩沖方式/201420148259A的操作命令字OCW用于設(shè)置8259的工作狀在初始化后OCW的寫入順序?qū)懭氲刂芬狾CW1必須寫入奇地址端口OCW2,OCW3必須寫入偶地址端口20142014OCW1——中 1Mi=1中斷請求線IRi (不允許中斷=0允許該IRi中OCW1將寫入IMRA0=1時讀OCW1可讀出設(shè)置的IMR內(nèi)容201420140R0R00R:優(yōu)先級自動循環(huán):R=1,使用循環(huán)優(yōu)先級;R=0,固定優(yōu)SL:指定優(yōu)先級:SL1,指定優(yōu)先級L2~L0SL0L2~L0EOI:結(jié)束中斷命令:EOI=1,設(shè)置中斷結(jié)束命 SL001非指定EOI命令(NSEOI),全嵌套方011指定EOI命令(SEOI),全嵌套方式,按L2-L0編碼復(fù)位101NSEOI命令,優(yōu)先級自動循100自動EOI,設(shè)置優(yōu)先級自動000自動EOI,取消優(yōu)先級自動循環(huán)(固定優(yōu)先級111SEOI命令,按L2-L0編碼循環(huán)優(yōu)先級(L2-L0設(shè)為最低優(yōu)先級110按L2-L0編碼循環(huán)優(yōu)先級(L2-L0設(shè)為最低優(yōu)先級2014201489在上電初始之后,如未設(shè)定其它方式,則59自動▲中斷請求優(yōu)先級順序是IR0~IR7,其中IR0IR7優(yōu)先權(quán)最▲服務(wù)寄存器IS中得到響應(yīng)的那一位被置“1”,且保持到中斷服務(wù)程序在返回前發(fā)出的中斷結(jié)束命令O殊的EOI命令為 其中,PORT為8259A的端口地址20142014利用非特殊EIS高的置“位。 方式和讀出控000001P方RR選方RR選ESMM

11讀11讀10讀0x

2014

P(Polling):=1查詢方=0非查詢方20142014OCW3(續(xù)查詢方式允許8259A不工作于中斷方式,而是以查詢方式工CPU先寫一個D2=1的OCW3,再對同一地址讀入,即可得到如下狀態(tài)節(jié) I=1表示有中斷請求,中斷請求號為R2-此查詢步驟可反復(fù)執(zhí)行,以響應(yīng)多個同時發(fā)生的中斷20148259A編程 20148259A編程C化 ADI 接口地址為20H和中斷為上升發(fā);單片8259AICW4與IR0-IR3對應(yīng)的中斷向量碼為08H- R4-

根據(jù)要求,各初始化參數(shù)及工作參數(shù)如ICW1 =ICW2=OCW1 =

中斷向中 201420148259A編程舉例(續(xù)初始化程序如;A0=0,寫;上升沿觸發(fā),單片,不寫;A0=1,寫;OCW1:IR4-2014201420HMOV OUT ;I/OMOV OUTMOV OUTMOV OUT20142014例:使主8259的 ,程序為OCW1AEQU21H;主8259OCW1 AL,OCW1A;讀出 B 20142014例:讀OCW3EQUIRREQUISREQUOUTIN20142014例:讀OCW3EQUIRREQUISREQUMOVOUTIN

;讀出命令,P=0,RR=1,RIS=0,選;在AL中讀得IRR201420148259A分兩步(1)處理外設(shè)中斷申請,決定是否向CPU發(fā)中斷申請信號(2)若發(fā)中斷申請信號,且CPU響應(yīng)則在CPU20142014IR0~IR7引腳上有中斷申請,則將IRR相應(yīng)位置②中 是否進入優(yōu)先級裁決器PRIMR對應(yīng)位為0,允許中斷申請進入為1,不允許進入,中斷申請被 ③當前中斷服務(wù)寄存器ISR記錄CPU正在響應(yīng)的中ISR中的某位為1,表示CPU正在響應(yīng)此級中ISR中的某位為0,表示CPU沒有或已響應(yīng)完此優(yōu)先級裁決器PR據(jù)新進入的中斷申請和ISR的內(nèi)容決定是否發(fā)中斷申請如果進入的中斷申請比ISR中記錄的中斷優(yōu)先級則通過8259AINT引腳向CPU發(fā)出中斷請求如果進入的中斷申請不比ISR中記錄的中斷優(yōu)先級同級或低級,則不向CPU發(fā)中斷請求信20142014總 片 選1000010000001

00000000000000

10

1010

ICW2中斷類型ICW4方式控ICW3ICW4方式控

OCW1中 寄存器 OCW2優(yōu)先級、發(fā)

OCW3特 設(shè)②中 是否進入優(yōu)先級裁決器PR

2014IMR對應(yīng)位為0,允許中斷申請進入優(yōu)先級裁決器為1,不允許進入,中斷申請被 總~~

數(shù)據(jù) ~片選 控碼W2W2中類號ICW4方式控ICW4方式控W3主片系

000000000000000

100100000010010100100OCW1中斷 OCW2優(yōu)先級、發(fā)EOI0010100100OCW3OCW3特 設(shè)

③當前中斷服務(wù)寄存器ISR記錄CPU正在響應(yīng)的ISR中的某位為1,表示CPU正在響應(yīng)此級中即正在執(zhí)行此中斷源ISR中的某位為0,表示CPU沒有或已響應(yīng)完此級中斷即不在執(zhí)行此中斷源

2014總~~

數(shù)據(jù) ~片選 控碼W2W2中類號ICW4方式控ICW4方式控W3主片系

001000000100000

100100000011001010010010100OCW1中 寄存器0000OCW3OCW3特 設(shè)

2014④優(yōu)先級裁決器PR據(jù)新進入的中斷申請和ISR的內(nèi)2014決定是否發(fā)中斷申請如果進入的中斷申請比ISR中記錄的中斷優(yōu)先級高則通過8259AINT引腳向CPU發(fā)出中斷請求信號總~~

數(shù)據(jù) 片選 控碼W2W2中類號ICW4方式控ICW4方式控W3主片系

00100000100000

10100000010010100100OCW1中斷 OCW2優(yōu)先級、發(fā)EOI0010100100OCW3OCW3特 設(shè)

20142014CPU接收到INTR上的中斷申請信號l如果IF標志為0,則CPU不響應(yīng)此中斷申請信號, lIF標志為1則處理完當前的指令后進入中斷響應(yīng)周通過INTA引腳發(fā)出兩個負脈沖信從數(shù)據(jù)總線上獲取中斷類進入中斷響應(yīng)的過20148088CPU中斷響應(yīng)周2014第一第一第二向量類20142014①將ISR中相應(yīng)位置CPUIRR中對應(yīng)的位清0,清除IRR總 片

10100010100000

中斷0

W2中類W2中類號

1001010

W3W3主片系

方式控

OCW1中 寄存器0000OCW3特殊 8259A在接收到第二個INTA中斷響應(yīng)信號通過數(shù)據(jù)線,將被響應(yīng)申請的中斷類型號送給CPU。②CPU獲得中斷類型號后,進入CPU響應(yīng)中斷的過程

2014總 片

101000010100000

中斷0

W2中類W2中類號

1001010

W3W3主片系

方式控

OCW1中 寄存器0000OCW3特 設(shè)CPU響應(yīng)中斷過取中斷類型號當前PSW清IF、TF標志為當前IP

20142014⑥取內(nèi)存單元(0N4)字內(nèi)容送⑦取內(nèi)存單元(0N4+2字內(nèi)容送

此時CS:IP指向中斷程序 2014三、2014設(shè)置中

處理

0000000000

20148259A內(nèi)部有9

0000000000

1×I3

10

1010

ICW2中斷類型號中

ICW3主從片

00000101ICW4方式控

控制部

2014000000008259A有00000000

處理部

00000000000A0=0偶地址端A0=1奇地址端對9個寄存器的

均通過這兩個端口實

A0 寫入數(shù)據(jù)的特征1×1×

ICW2中斷類型 中

101001010000寫入的先后順 00 區(qū)分是對哪個寄進行操

ICW3主從片

10 10ICW4方式控

1

控制20142.8259A的編程20148259A有多種工作方式這些工作方式均可編程選使用相當靈尤其要求掌握如下(1)通過中 寄存器IMR的讀寫,設(shè)置中 (2)通過OCW2操作命令寄存器,發(fā)中斷結(jié)束EOI命設(shè)置中 10000001對10000001

2014總 片 選 控 控

000000000000000

寄存0010100寄存00101001

ICW2中斷類ICW3主從片ICW4ICW4

OCW1中0000OCW3OCW3特 設(shè)2014例已知IBMPC/XT系統(tǒng)中2014l新增允許IR2 AL, 21H,AL

;D2=0,允許IR2的中斷申 IR4 AL, ;讀入原IMR的內(nèi) AL,0001 21H, 2014201410000001總 片 選 控 控

000000000000000

寄存0000100寄存00001001

ICW2中斷類ICW3主從片ICW4ICW4

OCW1中0000OCW3OCW3特 設(shè)20142014由8259A的工作過程可知ISRCU響應(yīng)某級中斷后,859A自動將IR的對應(yīng)位置1,如果CU已R 在中斷響應(yīng)后,對ISR中相應(yīng)位的清0它是8259A認為中20142014總~

數(shù)據(jù) 片選 控 控W2W2中類號W3W3主片系ICW4ICW4方式控

10100010100000

100100000010010100100OCW1中斷 OCW2優(yōu)先級、發(fā)EOI0010100100OCW3OCW3特 設(shè)

2014ISR2014一、初始化8259A時,設(shè)置8259A工作方式為自動清0方式則在CPU響應(yīng)中斷后,硬件自動將ISR的對應(yīng)位清0二、初始化8259A時,設(shè)置8259A工作方式為非自動清0方式需在中斷子程中,通過軟件方式清0方法是:通過往OCW2寫入20H實現(xiàn),即由偶地址端口寫00100100000

0R00 已知IBMPC系統(tǒng)中,8259A的偶地址端口地址為

2014BIOS初始化8259A時,設(shè)置8259A工作方式為非自動清0IRET返回前,發(fā)中斷結(jié)束命令EOIintsubPROC、、、、、、MOVAL,20HOUT20H,ALintsub

;寫入OCW22014四、8259A在IBMPC/XT系統(tǒng)中20141.8259A與系統(tǒng)的連線2.BIOS初始化程序?qū)?259A的設(shè)置

2014注意:8259A在連線中的CLKAD7~AD0CLKAD7~AD0內(nèi)存地址鎖存8282(兩片

數(shù)據(jù)收 T 總 控制器

數(shù)據(jù)接接控制總

溫馨提示

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

最新文檔

評論

0/150

提交評論