版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
CPU暫停原來的程序而轉去中斷處理,處理好中斷服務后再返回繼續(xù)執(zhí)行原來的程序,這樣一個過程就是一個中斷過程。能夠引起CPU中斷的事件稱為中斷源。8086可處理256個中斷源采用中斷向量管理中斷服務程序中斷向量就是中斷服務程序的是IP,高字是CS。將所有中斷源的中斷向量集中地址地址,低字在0000h:0000h開始的空間,這個區(qū)域為中斷向量表。地址范圍是00000h-003ffh.中斷源的
中斷類型碼0-FFH,256個。中斷源的中斷類型碼獲取0~4由硬件邏輯電路自動提供(除法錯0,單步1,斷點3,溢出4)INTN,指令提供INTR,由中斷接口
在中斷響應時向CPU提供。中斷工作方式的工作過程中斷請求中斷排隊中斷響應,得到中斷類型碼根據(jù)中斷類型碼去中斷向量表查找中斷服務程序
地址(起始地址)以子程序方式調(diào)用中斷服務程序(即要將本來下一條要執(zhí)行的指令地址壓入堆棧)保護現(xiàn)場,中斷服務中斷向量的設置INT21HAH=25HAL=類型碼DS:段地址DX:偏移地址INT
21H直接用MOV傳送指令要采用中斷工作方式,需做的準備工作編寫中斷服務程序將1)的程序裝入內(nèi)存,得到起始地址將起始地址寫入中斷向量表(寫入表中的位置由設計(安排)的中斷類型號決定)data
segmentx
dw'a'intoffintsegintmsgdw? ;用于保存原中斷向量將來恢復dw? ;用于保存原中斷向量將來恢復db 'A
Instruction
Interrupt
!'db
0dh,0ah,0 ;要顯示的信息s:code,ss:stackdata
endsstacksegmentdb
256
dup(?)stack
endscode
segmentassume
ds:dstart:movax,datamovds,axmovax,stackmovss,axmov
ax,3580hint
21hmov
intoff,bxmov
intseg,espush
ds;讀出原中斷向量;保存偏移地址;保存
地址mov
dx,offset
new80hmov
ax,seg
new80hmov
ds,ax;設置新中斷向量mov
ax,2580hint
21hpop
dsmov
dx,offset
intmsgint
80hmov
dx,intoffmov
ax,intsegmov
ds,ax;中斷調(diào)用;恢復原中斷向量mov
ax,2580hint
21hmov
ax,4c00hint
21hnew80hstipush
axpush
bxpush
siproc;開中斷,允許中斷嵌套;保護現(xiàn)場mov
si,dxnew1:mov
al,[si]cmp
al,0jz
new2mov
bx,0mov
ah,0ehint
10hincsijmp
new1new2:;判是否串尾;調(diào)BIOS中斷;恢復現(xiàn)場pop
sipop
bxpop
axiretnew80hcode
endsend
start;中斷返回endp可編程中斷控制器8259A8259A的功能In 8259A中斷控制器是把中斷源識別、中斷優(yōu)先權排隊、中斷 、中斷向量提供等功能集于一身的, 于微機系統(tǒng)中斷管理的大規(guī)模集成電路
。管理8個具有優(yōu)先權的中斷,通過級連可以擴展至64個。每個中斷都可以設定
或開放。有多種中斷優(yōu)先權排隊模式。當中斷響應時,可提供相應的中斷類型號,中斷類型號可以由用戶設定??梢酝ㄟ^編程設定或變更8259A的各種工作方式。8259A的CAS0CAS1CAS2SP/EN數(shù)據(jù)總線緩沖器D7~D0讀/寫控制邏輯級連緩沖/比較器結構和管腳INTA
INT中斷服務寄存器(ISR)中斷優(yōu)先級裁決器(PR)中斷
寄存器
(IMR)IR0~IR7中斷請求寄存器(IRR)控制邏輯初始化命令寄存器組操作命令寄存器組RDWRCSA08259A的工作原理當一條或多條中斷請求線IR0~IR7變高時,設置相應的中斷請求寄存器IRR位。在8259A對中斷優(yōu)先權和中斷
寄存器的狀態(tài)進行判斷之后,如某中斷優(yōu)先權最高且為允許中斷狀態(tài),由INT引腳向CPU發(fā)中斷請求信號INTR。若CPU處于開中斷,則當前指令執(zhí)行完后,CPU用INTA信號作為對INTR的響應,送回應答信號脈沖。8259A接到來自CPU的第一個脈沖時,把允許中斷的最高優(yōu)先級請求位置送入當前中斷服務寄存器(ISR),并把IRR中的相應位復位。同時,8259A準備向數(shù)據(jù)總線發(fā)送中斷向量。在8259A發(fā)送中斷向量的最后一個脈沖期間,如果是在AEOI(自動結束中斷)方式下,在這個脈沖結束時復位ISR的相應位。在其他方式下,ISR相應位要由中斷服務程序結束時發(fā)出的EOI命令來復位。8259A的管腳及其功能D7~D0:雙向三態(tài)數(shù)據(jù)線,直接和系統(tǒng)數(shù)據(jù)總線的8位相連。IR0~IR7:中斷請求輸入線,通常IR0為最高優(yōu)先權,IR7為最低優(yōu)先權。INT:中斷請求輸出線,與CPU的INTR中斷請求端連接。INTA:中斷允許線,接受來自CPU的中斷響應信號。CS,RD,WR:分別是片選、讀命令、寫命令信號線,它們相互配合實現(xiàn)對8259A中不同寄存器的讀或寫操作。
A0
:端口地址線。A0=0,為8259A偶地址端口,A0=1為8259A奇地址端口。CAS2~CAS0:級連信號線,對于主片8259A,它是輸出線;而對于從片8259A,它是輸入線。它們用于多片8259A的級連控制。SP/EN:主從/允許緩沖線,具有雙向功能。作為輸入還是輸出,取決于8259A是否采用緩沖方式。8259A的工作方式1.優(yōu)先級管理方式完全嵌套方式完全嵌套方式是8259A最常用、最基本的工作方式,也就是固定優(yōu)先級方式。如對8259A初始化后沒有設置其他優(yōu)先級方式,8259A則默認為是該方式。在固定優(yōu)先級方式中,8259A的中斷優(yōu)先級從IR0到IR7,IR0優(yōu)先級最高,IR7優(yōu)先級最低。當一個中斷被響應時,只有比它的優(yōu)先級更高的中斷請求才會被響應。8259A的工作方式1.優(yōu)先級管理方式特殊全嵌套方式特殊全嵌套方式與固定優(yōu)先級方式基本相同,8259A管理的中斷優(yōu)先級從高到低的順序依然是IR0、IR1、IR2、IR3、IR4、IR5、IR6、IR7。唯一的區(qū)別是除了允許更高優(yōu)先級的中斷請求進入嵌套外,還允許同級中斷進入嵌套。8259A的工作方式1.優(yōu)先級管理方式優(yōu)先級自動循環(huán)方式優(yōu)先級自動循環(huán)方式一般用于系統(tǒng)中多個中斷源優(yōu)先級相等的場合。在這種方式下,優(yōu)先隊列是變化的,一個外設得到中斷服務后,它的優(yōu)先級自動降為最低。8259A的工作方式1.優(yōu)先級管理方式優(yōu)先級特殊循環(huán)方式優(yōu)先級特殊循環(huán)方式與優(yōu)先級自動循環(huán)方式相比,只有一點不同,即在優(yōu)先級特殊循環(huán)方式中,初始的最低優(yōu)先級是由編程來確定的(OCW2),從而優(yōu)先級隊列及最高優(yōu)先級中斷也由此而定。例如,程序確定IR5為最低優(yōu)先級,則優(yōu)先級隊列為IR6、IR7、IR0、IR1、…、IR5。8259A的工作方式中斷源方式方式2.常規(guī)在常規(guī)方式中,8259A的每個中斷請求輸入端都可通過對與它對應的
位的設置被
,使該中斷請求不能送到CPU。8259A的工作方式2.特殊特殊中斷源方式方式方式除了設置IMR中相應位,也會清除ISR中相應位。8259A的工作方式3.中斷結束(EOI)的處理方式中斷自動EOI方式中斷自動EOI是最簡單的中斷結束方式。在本方式下,系
進入中斷過程,當?shù)诙€中斷響應脈沖INTA
送到后,8259A就自動將當前中斷服務寄存器ISR中的對應位清零。這樣,盡管系統(tǒng)正在為某外設進行中斷服務,但在8259A的ISR中卻沒有對應位指示。中斷自動EOI方式的設置是在初始化時由初始化命令字ICW4的AEOI位置1實現(xiàn)的。8259A的工作方式3.中斷結束(EOI)的處理方式常規(guī)中斷EOI方式常規(guī)中斷EOI方式用在全嵌套方式下,當CPU向8259A發(fā)出中斷結束命令時,8259A就會將ISR中優(yōu)先級最高的位復位(即當前正在進行的中斷服務結束)。這種結束方式的設置很簡單。只要在程序中往8259A的偶地址端口輸出一個操作命令字
OCW2,并使OCW2中的EOI=1、SL=0、R=0即可。8259A的工作方式3.中斷結束(EOI)的處理方式特殊中斷EOI方式特殊中斷結束方式用于非全嵌套方式下,用這種結束方式時,在程序中要
特殊中斷結束命令,
當前中斷服務寄存器ISR中的哪一位將被清除。實際上,也是通過往8259A的偶地址端口輸出一個操作命令字OCW2,使OCW2的EOI=1、SL=1、R=0,此時
OCW2中的L2、L1、L0這三位就了究竟是對ISR中的哪一位進行清除。8259A的工作方式4.連接系統(tǒng)總線的方式緩沖方式在多片8259A級聯(lián)的大系統(tǒng)中,8259A通過總線驅動器和數(shù)據(jù)總線相連,這就是緩沖方式。在緩沖方式下,8259A的SP/EN端和總線驅動器的允許端相連,SP/EN端輸出的低電平可作為總線驅動器的啟動信號。8259A的工作方式4.連接系統(tǒng)總線的方式非緩沖方式當系統(tǒng)只有單片8259A或有幾片8259A級聯(lián)時,一般將8259A直接與數(shù)據(jù)總線相連,這種方式就稱為非緩沖方式。這時8259A的SP
端作為輸入端,在單片8259A系統(tǒng)中,EN端接高電平;在多片系統(tǒng)時,主片的SP
端接高電平;從片的EN
端接低電平8259A的工作方式5.中斷觸發(fā)方式電平觸發(fā)方式8259A工作于電平觸發(fā)方式時,把中斷請求輸入端的高電平作為中斷請求信號。邊沿觸發(fā)方式在邊沿觸發(fā)方式下,8259A將中斷請求輸入端IR出現(xiàn)的上升沿作為中斷請求信號。該中斷請求得到觸發(fā)后可以一直保持高電平。8259A的工作方式5.中斷觸發(fā)方式查詢方式8259A也可以用查詢方式來檢查請求中斷的設備。查詢命令是在OCW3中的P位為1時發(fā)出的,8259A接到查詢命令后,把隨后一次CPU讀操作(
CS=0,RD
0)當作中斷響應信號。
中斷請求,就把相應的ISR位置位,并讀該中斷級別。從發(fā)出查詢命令的寫脈沖(
WR
)開始,到讀出查詢結果的讀脈沖(
RD)為止,這段時間中斷被凍結。I:有無中斷標志。有中斷時I=1,否則I=0。W2~W0:請求中斷的優(yōu)先級別的二進制碼。查詢字格式第31頁D7D6D5D4D3D2D11————W2W1W0D08259A的工作方式6. 8259A的級聯(lián)在微型計算機系統(tǒng)中用一片8259A與CPU相連。這片8259A又與下一層的多至8片的8259A相連,稱為級聯(lián)。與CPU相連的8259A稱為主片,下一層的8259A稱為從片。在級聯(lián)結構中,從片的INT輸出端接至主片的IR輸入端,由主片的INT向CPU發(fā)中斷請求,且所有8259A的CAS2、CAS1、CAS0互連,在主片為輸出信號,在從片為輸入信號,這三條信號線的編碼用于選擇從片。8259A的工作方式6. 8259A的級聯(lián)特殊全嵌套方式有如下兩個特點:當某從片的中斷請求進入服務時,主片的優(yōu)先權控制邏輯不封鎖這個從片,從而使來自從片的較高優(yōu)先級IR中斷請求能夠被主片識別,并向CPU發(fā)出中斷請求信號INT。中斷服務程序結束時,必須用
檢查被服務的中斷是否是該從片中唯一的中斷請求。操作過程為:先向從片發(fā)一個中斷結束命令EOI,清除已完成服務的IS位;然后讀出ISR內(nèi)容,檢查它是否為0。如為0,表示該從片只有一個中斷請求得到響應,則向主片發(fā)送一個EOI命令,清除與從片對應的IS位;如從片ISR不為0,則不向主片發(fā)送EOI命令。8259A的初始化編程8259A的編程設置分為兩部分:初始化編程8259A工作之前,必須設置2~4個字節(jié)的初始化命令字ICW,使8259A處于初始化工作方式的就緒狀態(tài)。工作編程8259A初始化設置之后,根據(jù)需要可以向8259A設置相關操作命令字OCW,實現(xiàn)8259A的相關操作。8259A的控制字1.初始化命令字:8259A有4個初始化命令字ICW1~ICW4,用于設置8259A的初始狀態(tài)?!舫跏蓟钭諭CW1——
控制字ICW1對8259A復位,給出是單片還是多片級連等設定?!舫跏蓟钭諭CW2——中斷類型號命令字ICW2設定8259A管理的8個中斷類型號的高5位?!舫跏蓟钭諭CW3——主/從片初始化字ICW3定義8259A級連系統(tǒng)中主/從片的級連信息?!舫跏蓟钭諭CW4——方式控制字ICW4給出8259A的工作系統(tǒng),中斷程序是否需要輸出EOI命令等設定。ICW1ICW1是A0=0為標志,表示必須寫入偶地址中。
D7~D5:這幾位在8088/8086系統(tǒng)中不用,可為任意值。
D4:D41和A00是ICW1的標志,表示當前操作的是ICW1。D3(LTIM):設定中斷請求信號IR的觸發(fā)方式。
D2(ADI):在8088/8086系統(tǒng)中該位不用,可為任意值。
D1(SNGL):單片/級聯(lián)方式指示。
D0(IC4):指示初始化過程中是否使用ICW4。A00A7A6A51LTIMADISNGLIC4控制初始化命令字,必須寫入8259A的偶數(shù)地址端口。D7
D6
D5
D4
D3
D2
D1
D0ICW2ICW2是ICW2是一個中斷向量字節(jié)。在8088/8086系統(tǒng)下,它是中斷類型碼,編程時用ICW2設置中斷類型碼高5位T7~T3(即D7~D3),而D2~D0的值恒為零。中斷類型碼的高5位就是ICW2的高5位,而低3位是由引入中斷請求的引腳IR0~IR7決定。例如:ICW2為20H,則8259A的IR0~IR7對應的8個中斷類型碼為20H、21H、22H、23H、24H、25H、26H、27H。A01A15/T7A14/T6A13/T5A12/T4A11/T3A10A9A8控制初始化命令字,必須寫入8259A的奇數(shù)地址端口。D7
D6
D5
D4
D3
D2
D1
D0ICW31IR7IR6IR5IR4IR3IR2IR1IR0對8259A初始化時,是否需要設置ICW3,取決于ICW1中的
SNGL位的狀態(tài)。SNGL=0表示8259A工作于級聯(lián)方式,需用ICW3設置8259A的狀態(tài)。主片和從片的ICW3格式和含義是不同的。A0
D7
D6
D5
D4
D3
D2
D1
D0A01D7D6主片8259A的ICW3格式D5
D4
D3D2D100000ID2ID1ID0D0從片8259A的ICW3格式ICW4只有在ICW1中的IC41時才使用ICW4。A01
0
0
0
SFNMBUF M/S
AEOI
μPMD7~D5:ICW4的標識碼,總為0。D4(SFNM):為1時表示工作于特殊的全嵌套方式;為0時表示工作于一般全嵌套方式。D3(BUF):指示是否工作于緩沖方式,由此決定了SP/EN的功能。
D2(M/S):表示在緩沖方式下本片為主片還是從片。
D1(AEOI):指定是否為自動中斷結束方式。D0(μPM):用于
8259A在16位機系統(tǒng)中使用,還是在8位機系統(tǒng)中使用。D7D6D5D4D3D2D1D08259A的初始化設置流程注意:1ICW
應寫入8259A
的0偶地址端口(A
=0)ICW
,
ICW
,
ICW2
3
4應寫入8259A的奇地址端口(A0=1)No寫ICW1(A0=0)寫ICW2(A0=1)級連?寫ICW3(A0=1)要ICW4
?寫ICW4(A0=1)初始化結束NoYesYes【例】以IBM-PC/XT微型計算機中使用的單片8259A為例,試對其進行初始化設置。在IBM
PC/XT微型計算機中,8259A的ICW1和ICW4的端口地址分別為20H、21H。初始化設置的程序段如下:MOVAL,
13HOUT20H,
AL;設置ICW1(中斷請求信號采用邊沿觸發(fā)方式;單MOVAL,
18H片;8259A
,后面使用ICW4);設置ICW2(將中斷類型碼高5位指定為00011)OUT21H,
ALMOVOUTAL,
0DH21H,
AL;設置ICW4(不用特殊全嵌套方式;不用中斷自動結束;方式為用緩沖方式,工作于8088/8086系統(tǒng))8259A的控制字2.8259A的操作命令字對8259A用初始化命令字初始化后,就進入工作狀態(tài)了,準備接受IR輸入的中斷請求信號。在8259A工作期間,可通過操作命令字(OCW)來使它按不同的方式操作。
8259A的操作命令字有3個,可獨立使用。操作命令字OCW1——OCW1用來設置/清除對中斷源的操作命令字。若OCW1的Di為1,則對應的中斷被
;若Di為0,則對應的中斷被開放。操作命令字OCW2——中斷方式命令字OCW2用來設置優(yōu)先級是否進行循環(huán)、循環(huán)的方式,以及中斷結束的方式。操作命令字OCW3——狀態(tài)操作命令字OCW3用來設置查詢方式、特殊
方式,以及用來讀8259A的中斷請求寄存器IRR、中斷服務寄存器ISR的當前狀態(tài)等。8259A的操作命令字OCWOCW1OCW1用來設置8259A的
中斷操作,直接對中斷存器IMR的相應
位進行設置
。寄A01D7D6D5D4D3D2D1M7M6M5M4M3M2M1M0D0OCW1的格式A0=1為標志位,表示要求把OCW1寫入8259A的奇地址端口。M7~M0分別對應IR7~IR0,如某一位M=1,將
相應的IR輸入,它產(chǎn)生中斷輸出信號INT;反之,M=0則清除
狀態(tài),允許對應的IR輸入產(chǎn)生INT輸出,請求CPU進行服務。OCW1【例】若要IR5、IR4和IR1引腳上的中斷,而讓其余的中斷得到允許。試確定其中斷
操作命令字。OCW1為32H。OCW2A0:為標志位。表示要求把OCW2寫入8259A的偶地址口。
R:優(yōu)先級方式控制位。R1為循環(huán)優(yōu)先級,R0為固定優(yōu)先級。
SL:決定OCW2中L2~L0位是否有效。SL1為有效;SL0,L2~L0無效。EOI:中斷結束命令位。在非自動中斷結束命令的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- NB/T 11542-2024煤礦巷道籠式錨索底板錨注支護技術規(guī)范
- GH/T 1439-2023小茴香
- 《客戶跟蹤技巧》課件
- 《chapter固定資產(chǎn)》課件
- 《肩關節(jié)鏡簡介》課件
- 單位管理制度合并選集【人事管理篇】
- 2024第八屆全國職工職業(yè)技能大賽(網(wǎng)約配送員)網(wǎng)上練兵考試題庫-中(多選題)
- 單位管理制度分享匯編人事管理篇
- 單位管理制度分享大全人力資源管理篇十篇
- 單位管理制度范例選集人力資源管理篇十篇
- 公交車站臺服務規(guī)范與安全意識
- 2024電商消費趨勢年度報告-flywheel飛未-202412
- 慢阻肺護理個案病例范文
- 中國普通食物營養(yǎng)成分表(修正版)
- 駕駛證學法減分(學法免分)試題和答案(50題完整版)1650
- 期末測試卷(試題)-2024-2025學年人教PEP版(2024)英語三年級上冊
- 【人民日報】72則金句期末評語模板-每頁4張
- 小組合作學習學生評價量表
- 新錄用公務員服務協(xié)議書
- OQC崗位職責(完整版)
- 電氣控制與PLC復習課件
評論
0/150
提交評論