版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第中斷系統(tǒng)和中斷控制器演示文稿目前一頁\總數(shù)一百二十三頁\編于六點(優(yōu)選)第中斷系統(tǒng)和中斷控制器目前二頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用3一、中斷的基本概念1、中斷及中斷源2、中斷處理過程3、中斷優(yōu)先權管理目前三頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用41、中斷及中斷源
中斷是一種讓CPU掛起正在執(zhí)行的程序而轉(zhuǎn)去處理特殊事件的操作。
CPU暫時停止執(zhí)行原來的程序而轉(zhuǎn)去中斷處理,處理好中斷服務后再返回繼續(xù)執(zhí)行原來的程序,這樣一個過程就是一個中斷過程。
能夠引起CPU中斷的事件稱為中斷源
。
CPU中斷系統(tǒng)的基本功能
。目前四頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用5中斷源(1)一般的輸入輸出設備。如鍵盤,打印機等;(2)數(shù)據(jù)通道中斷源。如磁盤,磁帶機等直接與存儲器交換數(shù)據(jù)所要求的中斷;(3)實時時鐘。在控制系統(tǒng)中使用外部硬件電路實現(xiàn)時間控制,當定時時間到時向CPU發(fā)出中斷申請;(4)故障引起的中斷。如電源掉電等;(5)由中斷指令或軟件故障引起的中斷。如系統(tǒng)功能調(diào)用,除數(shù)為0,或者在程序調(diào)試時設置斷點等引起的中斷。目前五頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用6中斷分類
根據(jù)中斷與CPU的相對關系,中斷分為內(nèi)部中斷和外部中斷。
內(nèi)部中斷可以是中斷指令設置的中斷,調(diào)試程序時設置的中斷,或是程序運行過程中發(fā)生的非預期情況而產(chǎn)生的中斷;
外部中斷則是由直接連到CPU引腳上的信號引起的中斷,如外部設備請求服務中斷,實時時鐘定時到中斷,電源掉電等等。目前六頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用7CPU中斷系統(tǒng)的功能(1)實現(xiàn)中斷及返回(2)實現(xiàn)優(yōu)先權排隊,以確定優(yōu)先處理的中斷源。(3)優(yōu)先權高的中斷源能中斷優(yōu)先權低的中斷處理目前七頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用8(1)實現(xiàn)中斷及返回當有一中斷源提出中斷請求時,CPU首先判斷是否響應該中斷?*如果CPU正在執(zhí)行的是重要的程序,可以暫不響應,即關中斷;*當CPU完成了當前的重要程序后,開中斷予以響應,同時,保存斷點,轉(zhuǎn)入中斷處理;*當中斷處理完后,恢復斷點從而回到被中斷運行的原程序繼續(xù)執(zhí)行;目前八頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用9(1)實現(xiàn)中斷及返回*通過設置CPU內(nèi)部的中斷允許觸發(fā)器(IFF),開關中斷。 當IFF=1,使中斷允許(開中斷); 當IFF=0,使中斷不允許(關中斷)。注意:不可屏蔽中斷,要求CPU立即處理。不受中斷允許觸發(fā)器(IFF)的控制。可屏蔽中斷,受中斷允許觸發(fā)器(IFF)的控制。目前九頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用10(2)實現(xiàn)優(yōu)先權排隊,以確定優(yōu)先處理的中斷源
一個系統(tǒng)中有多個中斷源,存在著幾個中斷源同時請求的可能;因此,必須事先根據(jù)中斷源的重要性,給每個中斷源確定一個中斷優(yōu)先級別——優(yōu)先權。中斷響應時,CPU應能首先響應優(yōu)先權級別高的中斷源。目前十頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用11在中斷服務處理過程中:若新的中斷申請其優(yōu)先級別更高,則CPU應再一次中斷,轉(zhuǎn)去優(yōu)先權更高的中斷源服務。處理完后,再回到原來的中斷服務中,這也稱為中斷嵌套。若新的中斷源優(yōu)先權級別為同級或低級,則CPU暫不理會,繼續(xù)正在處理的中斷服務,直到當前中斷處理結(jié)束后再去處理新的中斷申請。
(3)優(yōu)先權高的中斷源能中斷優(yōu)先權低的中斷處理目前十一頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用122、中斷處理過程一個中斷過程應該包含以下五個過程:
(1)中斷請求 (2)中斷排隊 (3)中斷響應 (4)中斷服務 (5)中斷返回目前十二頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用13(1)中斷請求當中斷源需要CPU為其服務時,首先送出中斷請求信號。中斷信號可以由中斷指令或是某些特定條件產(chǎn)生,也可以是通過CPU引腳(INTR)向CPU發(fā)出中斷請求信號而產(chǎn)生。實際系統(tǒng)中一般都有多個中斷源,為了增加控制的靈活性,每個中斷源接口電路中,設置一個中斷請求觸發(fā)器和一個中斷屏蔽觸發(fā)器。目前十三頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用14(1)中斷請求當中斷源有請求時,將中斷請求觸發(fā)器置1:*若中斷屏蔽觸發(fā)器為“0”狀態(tài),表示允許該中斷源向CPU發(fā)出中斷請求“信號”;*若中斷屏蔽觸發(fā)器為“1”狀態(tài),表示禁止該中斷源向CPU發(fā)出中斷請求“信號”。盡管該中斷源有中斷請求,也不能被送出,稱該中斷請求被屏蔽了。目前十四頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用15(2)中斷排隊和(3)中斷響應
中斷排隊是確定當前所有中斷請求中優(yōu)先級最高的那個中斷源。因為CPU一次只能響應一個中斷,所以必須首先處理最緊急最重要的中斷。根據(jù)中斷源的輕重緩急給予一個中斷優(yōu)先權級別,優(yōu)先權級別最高的中斷源將首先得到響應。目前十五頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用16(2)中斷排隊和(3)中斷響應
CPU通過中斷排隊確定了要響應的中斷源后,進入中斷響應,自動完成以下步驟:①關中斷;②保護斷點,將正在執(zhí)行的程序地址(斷點)入棧;③保護現(xiàn)場,標志寄存器FR自動入棧;④形成中斷服務程序入口地址。目前十六頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用17(4)中斷服務和(5)中斷返回中斷服務是指CPU執(zhí)行中斷服務程序。中斷服務程序應包括:
①保護現(xiàn)場,CPU響應中斷時自動保護斷點,寄存器則由程序員決定是否要入棧;
②開中斷,CPU響應中斷時,自動執(zhí)行關中斷操作。要實現(xiàn)中斷嵌套,必須在中斷服務程序中開中斷;目前十七頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用18(4)中斷服務和(5)中斷返回③中斷處理,對中斷源作相應的處理,是中斷服務程序的核心;
④關中斷,若中斷服務程序設置了開中斷,則此時應該關中斷,以保證恢復現(xiàn)場的操作不被打斷;
⑤恢復現(xiàn)場,按后進先出的原則,PUSH和POP應配對使用;
⑥中斷返回,從堆棧中彈出斷點,返回主程序。目前十八頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用193、中斷優(yōu)先權管理中斷優(yōu)先權是事先根據(jù)中斷源的重要性給每個中斷源確定一個中斷優(yōu)先級別——優(yōu)先權。中斷優(yōu)先權管理就是判別和確定各個中斷源的中斷優(yōu)先權。中斷優(yōu)先權判別方法有軟件和硬件兩種方法。目前十九頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用203、中斷優(yōu)先權管理(1)軟件確定中斷優(yōu)先權
軟件法是在CPU響應中斷后,用軟件查詢確定哪個中斷源申請中斷,先被查詢的先響應。查詢次序決定了中斷優(yōu)先權次序,最先被查詢的中斷源具有最高的優(yōu)先權。目前二十頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用213、中斷優(yōu)先權管理如圖,8個外設只要有中斷請求,CPU檢測到中斷請求信號,響應中斷;讀入端口80H的內(nèi)容,逐位判別確定當前申請中斷的優(yōu)先權最高的中斷源,從而進入相應的中斷服務程序。目前二十一頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用223、中斷優(yōu)先權管理(1)軟件確定中斷優(yōu)先權軟件查詢流程圖軟件查詢程序:INAL,80H;端口讀入狀態(tài)TESTAL,80H;JNZSERVE_ATESTAL,40HJNZSERVE_B……TESTAL,01HJNZSERVE_HHLT*軟件查詢次序就是優(yōu)先權高低的次序;*軟件確定中斷優(yōu)先權不需復雜的硬件電路,簡單易實現(xiàn);*中斷源較多時,查詢時間較長,中斷響應較慢。*當中斷源多于8個時,可多設置一個外設端口,先查詢的外設端口優(yōu)先權較高,后查詢的端口優(yōu)先權較低。目前二十二頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用233、中斷優(yōu)先權管理(2)硬件確定中斷優(yōu)先權
由硬件實現(xiàn)中斷優(yōu)先權的判別。
*常用的硬件電路有:中斷優(yōu)先權編碼電路,鏈式優(yōu)先權排隊電路及專用硬件電路等。
*利用中斷控制器8259A,它具有8個優(yōu)先權控制,可以通過級聯(lián),擴展至64級優(yōu)先權控制,且每級中斷都可設置為允許或屏蔽。目前二十三頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用24二、8086/8088的中斷系統(tǒng)
8086/8088CPU具有一個功能很強、管理高效且簡便靈活的中斷系統(tǒng),可以處理多達256種中斷源。采用向量中斷方法,對256種中斷只需一次間接訪問就可獲得任一中斷源的中斷服務程序的入口地址,中斷響應快速。8086/8088CPU有兩類中斷:*內(nèi)部中斷由執(zhí)行中斷指令或特殊事件引起;*外部中斷由外圍設備接口向CPU的中斷請求引腳INTR和NMI發(fā)出中斷請求信號而引起的。目前二十四頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用25二、8086/8088的中斷系統(tǒng)1、8086/8088的中斷指令2、8086/8088的中斷分類3、中斷向量表4、8086/8088中斷處理過程目前二十五頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用261、8086/8088的中斷指令
8086/8088提供了3條中斷操作指令。(1)中斷指令指令格式: INT
n
;n=0~255,中斷類型碼指令操作:
SP-2→SP(修改堆棧指針),F(xiàn)R入棧,IF=0(中斷標志置0,關中斷,CPU不響應可屏蔽中斷),TF=0(陷阱標志,TF=0,CPU正常執(zhí)行程序),SP-2→SP(修改堆棧指針),CS入棧SP-2→SP(修改堆棧指針),IP入棧
[n×4]→IP[n×4+2]→CS目前二十六頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用271、8086/8088的中斷指令中斷向量就是中斷服務程序的入口地址;中斷類型碼n×4即為該中斷向量的存放地址;低字是IP,高字是CS,CPU取出CS和IP,轉(zhuǎn)去執(zhí)行中斷服務程序。
INTn指令除了使IF=0和TF=0,對其他標志位沒有影響;
INT指令(即n=3),稱為斷點中斷指令,用于軟件調(diào)試。目前二十七頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用281、8086/8088的中斷指令(2)溢出中斷指令指令格式:INTO ;與INT4等價指令操作:
溢出中斷指令用于帶符號數(shù)加減法運算后,由于運算溢出而產(chǎn)生中斷。通常,寫在一條算術運算指令后:若運算結(jié)果使OF=1,進入中斷類型碼為4的中斷;否則,按順序執(zhí)行下一條指令。n×4=0010H中斷向量存放地址為:目前二十八頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用291、8086/8088的中斷指令(3)中斷返回指令指令格式:IRET指令操作:IP,CS,F(xiàn)R依此出棧,SP+6→SP
所有中斷服務程序,無論是軟件中斷,還是硬件中斷,最后執(zhí)行的指令一定是IRET,用以退出中斷,返回斷點。目前二十九頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用302、8086/8088的中斷分類8086/8088的中斷系統(tǒng)可以處理256種不同的中斷。
所有可能產(chǎn)生的中斷源有:可屏蔽中斷INTR、非屏蔽中斷NMI、指令中斷INTn和特定條件下的中斷,分為兩類:內(nèi)部中斷外部中斷目前三十頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用312、8086/8088的中斷分類內(nèi)部中斷
CPU不是通過外部中斷請求而是通過內(nèi)部邏輯進入中斷,調(diào)用相應的中斷服務程序,是CPU自啟動的中斷。
除單步中斷外,所有內(nèi)部中斷均為非屏蔽型的。
內(nèi)部中斷主要用于解決程序運行中發(fā)生的一些意外情況、程序調(diào)試、用戶定義的中斷或者調(diào)用系統(tǒng)提供的一些標準中斷服務程序。(1)除法出錯中斷(類型0);(2)單步中斷(類型1);(3)斷點中斷(類型3);(4)溢出中斷(類型4);(5)軟件中斷返回目前三十一頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用322、8086/8088的中斷分類內(nèi)部中斷(1)除法出錯中斷(類型0)CPU在執(zhí)行觸發(fā)指令DIV和IDIV時,若發(fā)現(xiàn)除數(shù)為0,或商超過了寄存器所能表達的范圍,就立即產(chǎn)生一個類型為0的內(nèi)部中斷,CPU轉(zhuǎn)入除法錯誤中斷處理程序。注意:此中斷是由CPU自身產(chǎn)生,并沒有對應的中斷指令。目前三十二頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用332、8086/8088的中斷分類內(nèi)部中斷(2)單步中斷(類型1)此中斷也是由CPU自身產(chǎn)生,沒有對應的中斷指令,它是由CPU對狀態(tài)標志寄存器中的陷阱標志TF的測試而引起的。
TF=1,自動單步中斷,用于程序調(diào)試。目前三十三頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用342、8086/8088的中斷分類內(nèi)部中斷(3)斷點中斷(類型3)執(zhí)行INT指令就產(chǎn)生一個類型為3的內(nèi)部中斷,稱為斷點中斷。和單步中斷類似,用于程序調(diào)試。目前三十四頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用352、8086/8088的中斷分類內(nèi)部中斷(4)溢出中斷(類型4)溢出中斷是由CPU執(zhí)行一條INTO指令實現(xiàn)的:當OF=1時,執(zhí)行INTO就會進入類型碼為4的內(nèi)部中斷;否則,按順序執(zhí)行。目前三十五頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用362、8086/8088的中斷分類內(nèi)部中斷(5)軟件中斷當執(zhí)行INTn指令時,形成中斷,類型碼由指令提供。從功能上來說,類似于調(diào)用子程序,但入口地址在中斷向量表里。目前三十六頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用372、8086/8088的中斷分類外部中斷
通過外部的硬件產(chǎn)生,由送至CPU引腳NMI和INTR上的信號引起中斷。分為兩類:(1)非屏蔽中斷(n=2)一旦在NMI引腳有中斷請求,CPU立即響應。返回目前三十七頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用382、8086/8088的中斷分類(2)可屏蔽中斷,
從INTR腳引入,必須滿足IF=1,且沒有非屏蔽中斷,CPU可以響應中斷。中斷請求信號是由電平觸發(fā),必須保存到CPU響應中斷請求后才能撤除。中斷允許標志IF的標志,可由指令設置:
STI——開中斷,將IF置1;
CLI——關中斷,將IF置0。當系統(tǒng)復位,或CPU響應中斷后,都使IF置0。目前三十八頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用393、中斷向量表
中斷向量即中斷服務程序的入口地址,用兩個字表示,低字是IP,高字是CS。將所有中斷源的中斷向量集中存儲在內(nèi)存的指定空間內(nèi),這樣一個指定的存儲區(qū)稱為中斷向量表;
8086/8088的中斷類型碼用8位二進制表示,共有從n=0~FFh,256個中斷向量;
中斷向量表建立在內(nèi)存空間最低1K地址;
地址范圍:00000H—003FFH(即CS=0000H)。注意:中斷類型碼只能決定存放中斷向量的地址,并不能決定中斷向量本身和中斷服務程序的功能。目前三十九頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用403、中斷向量表在IBM-PC/XT機中,n=40H~0FFH,可以供用戶設置中斷向量。向中斷向量表中寫入中斷向量,就是中斷向量表的設置。(1)使用INT21H(2)用傳送指令目前四十頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用41(1)使用INT21H,設置中斷向量操作步驟:①AH中預置功能號,AH=25H;②AL中預置要設置的中斷類型碼;③DS:DX中預置中斷服務程序的入口地址;
(DS內(nèi)是段地址,DX內(nèi)是偏移地址)④執(zhí)行INT21H
例題目前四十一頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用42使用INT21H,設置中斷向量設中斷服務程序的入口地址標號為INTSUB,中斷類型碼為40H,編寫程序段設置中斷向量。解:……PUSHDS ;將DS入棧,保存DSMOVDX,OFFSETINTSUB
;取INTSUB的偏移地址
MOVAX,SEGINTSUB
;取INTSUB的段基址
MOVDS,AX ;段基址送DSMOVAL,40H
;送中斷類型碼
MOVAH,25H ;送功能號
INT21H ;系統(tǒng)功能調(diào)用
POPDS ;恢復DS ……目前四十二頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用43用傳送指令設置中斷向量設中斷服務程序的入口地址標號為INTSUB,中斷類型碼為40H,編寫程序段設置中斷向量。解:數(shù)據(jù)段
DATASEGMENTAT0000 ;設置數(shù)據(jù)段DATA段 ;從最低內(nèi)存開始
ORG100H ;確定中斷向量的位置在 ;40H×4=100H INT_SUBDW2DUP(?) ;預留兩字內(nèi)存
DATAENDS 目前四十三頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用44用傳送指令設置中斷向量——代碼段CODESEGMENT ……CLI ;設置IF=0,關中斷
PUSHDS ;DS入棧
MOVAX,DATA MOVDS,AX ;取DATA的段基址
MOVINT_SUB
,OFFSET
INTSUB
;取INTSUB的偏移;地址送到INT_SUBMOVINT_SUB+2,SEG
INTSUB;取INTSUB的段基址 ;送到INT_SUB+2
POPDS ;恢復DSSTI ;設置IF=1,開中斷CODEENDS 目前四十四頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用454、8086/8088的中斷處理過程8086/8088中斷處理過程包含:中斷請求、中斷排隊、中斷響應、中斷服務和中斷返回。討論:(1)中斷響應條件(2)中斷處理順序(3)中斷類型碼的獲取(4)中斷響應過程目前四十五頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用46(1)中斷響應條件
任何一種中斷,都要待CPU執(zhí)行完當前指令后方能響應中斷。①當CPU執(zhí)行LOCK時,要等后面的指令完成后才能響應中斷;②設置段寄存器內(nèi)容的指令和下條指令之間不允許中斷;③在等待指令和重復串操作指令執(zhí)行過程中,可響應中斷,但必須在一個基本操作完成以后。當上述情況滿足后,有內(nèi)部中斷、NMI、INTR(且IF=1),CPU將暫時終止現(xiàn)行程序,進入中斷響應。目前四十六頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用47(2)中斷處理順序
中斷處理順序即按中斷優(yōu)先權從高到低的排隊順序?qū)χ袛嘣催M行響應。
8086/8088系統(tǒng)的中斷處理次序如下:①除法錯誤中斷、溢出中斷、INTn;②NMI(非屏蔽中斷);③INTR(可屏蔽中斷,需判斷IF=1?);④單步中斷。目前四十七頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用48(2)中斷處理順序①當CPU進入中斷響應時,保護FR,TF送暫存TEMP,然后清除IF和TF,以保護本中斷服務不被可屏蔽中斷打斷;中斷返回時,F(xiàn)R恢復;②NMI的請求擁有最高優(yōu)先權,需要立即處理;③沒有NMI,查看TEMP,以確定是否單步執(zhí)行?④一個中斷被響應,CPU進入中斷服務程序;在中斷服務程序中,設置了開中斷,即設置IF=1,則不但可以響應NMI,也可響應優(yōu)先權更高的INTR;⑤多個中斷同時發(fā)生,按優(yōu)先權從高到低響應。目前四十八頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用49(3)中斷類型碼的獲取
8086/8088的中斷系統(tǒng)是根據(jù)中斷類型碼從中斷向量表中取得中斷服務程序的入口地址的。①專用中斷0—4,由硬件邏輯電路自動提供;②INTn指令的第二字節(jié)為中斷類型碼,因而軟件中斷指令是從指令中直接獲得;③外部可屏蔽中斷由外部硬件電路在中斷響應時向CPU提供中斷類型碼。目前四十九頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用50(4)中斷響應過程期。由兩個INTA總線周期組成。當INTR請求被響應時,CPU進入了中斷響應周通知申請中斷的外設準備好中斷INTA類型碼,在第二個第一個INTA時送上數(shù)據(jù)總線。目前五十頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用51(4)中斷響應過程
INTR被響應時,CPU實際執(zhí)行的過程如下:①CPU取得中斷類型碼后,左移兩位,存入內(nèi)部暫存器;②FR入棧;③IF置零,TF置零;④CS入棧;⑤IP入棧;⑥中斷向量低字送IP;⑦中斷向量高字送CS。目前五十一頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用52三、中斷控制器8259A1、8259A基本構成與引腳信號2、8259A工作過程3、8259A的工作方式4、8259A編程方法目前五十二頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用531、8259A基本構成與引腳信號(1)8259A是一種功能很強的可編程中斷控制器,是28腳芯片,具有很強的功能。(2)8259A的基本構成和引腳功能目前五十三頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用548259A的基本構成
IRR是一個8位寄存器,用于鎖存所有從IRi引腳輸入的中斷請求信號。輸入線IR7—IR0分別連接8個中斷源的中斷請求信號,當中斷源有中斷請求時,在相應的IR引腳上送入有效信號,IRR中相應的位就置位,以鎖存該中斷請求信號。
中斷請求寄存器IRR
中斷源目前五十四頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用558259A的基本構成*PR用于識別各中斷請求的優(yōu)先權級別,并進行優(yōu)先權管理。*各中斷請求的優(yōu)先權級別可以由CPU定義或修改。*若IRR有幾位被置位,且未被屏蔽,表明有多個中斷源同時申請中斷。則由PR經(jīng)過判斷確定最高優(yōu)先權的中斷請求,并在CPU響應周期內(nèi),將它送入ISR中相應的位。優(yōu)先權判別器PR
中斷源目前五十五頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用568259A的基本構成*中斷服務寄存器ISR為8位寄存器,用于記錄已被CPU響應的中斷。*在中斷響應周期里,由PR根據(jù)IRR和IMR的狀態(tài),確定先被響應的中斷請求,送至ISR,使相應的位被置位,并一直保持(自動EOI方式例外)。由EOI命令復位。中斷服務寄存器ISR中斷源若ISR中有多個位被置位,是什么原因?目前五十六頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用578259A的基本構成*中斷屏蔽寄存器IMR也是8位寄存器,用于存放對中斷請求的屏蔽信息,其內(nèi)容可編程設定。*IMR中的8個位對應IR7—IR0這8個中斷請求,當IMR中某位被置位,對應的中斷請求就被屏蔽。
則,IRR對應的位雖被置位,但不能送出它的中斷請求信號給CPU,由此實現(xiàn)對各中斷有選擇的屏蔽。中斷屏蔽寄存器IMR
中斷源目前五十七頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用588259A的基本構成*數(shù)據(jù)總線緩沖器為8位雙向三態(tài)緩沖器,是8259A與CPU間數(shù)據(jù)傳輸?shù)耐ǖ馈?CPU通過數(shù)據(jù)總線緩沖器向8259A送初始化命令和操作命令字,或是讀取狀態(tài)信息。*在中斷響應周期,8259A通過數(shù)據(jù)總線緩沖器向CPU送出中斷類型碼。數(shù)據(jù)總線緩沖器
目前五十八頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用598259A的基本構成*讀/寫控制電路的邏輯功能就是負責接收CPU發(fā)來的控制信號,完成規(guī)定的寫入命令操作以及讀IRR、ISR和IMR的操作。*該片8259A的操作過程中,片選CS必須有效。讀/寫控制邏輯
目前五十九頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用608259A的基本構成
*級聯(lián)緩沖/比較器用于實現(xiàn)8259A的級聯(lián),構成主從式中斷管理系統(tǒng),使中斷源由8級擴展到64級。*級聯(lián)線CAS2—CAS0
在主從式中斷管理系統(tǒng)中,全部8259A對應相連;主片8259A,其為輸出線,CPU響應中斷時,輸出級聯(lián)設備編碼,選中對應的從片;從片的8259A,其為輸入線,接收來自主片的設備編碼。級聯(lián)緩沖/比較器
目前六十頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用618259A的基本構成*控制電路邏輯根據(jù)CPU編程設定的工作方式產(chǎn)生片內(nèi)控制信號,控制片內(nèi)的工作;*同時,根據(jù)IRR、IMR的內(nèi)容和PR判斷結(jié)果,向CPU發(fā)出中斷請求,接受來自CPU的中斷響應信號??刂七壿?/p>
目前六十一頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用62引腳功能
1、中斷請求輸入線IR7—IR0接受來自外設或8259A從片的中斷請求信號??稍O置為上升沿觸發(fā)或高電平觸發(fā)。中斷請求輸入線
目前六十二頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用63引腳功能*雙向三態(tài)數(shù)據(jù)線D7—D0可與系統(tǒng)數(shù)據(jù)總線直接相連,稱為非緩沖方式工作;*也可通過總線緩沖器與系統(tǒng)數(shù)據(jù)總線相連,稱為緩沖方式工作。
雙向三態(tài)數(shù)據(jù)線
目前六十三頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用64引腳功能中斷請求線INT,輸出信號,通常與CPU的可屏蔽中斷輸入端INTR相連,向CPU發(fā)送中斷請求信號。
中斷請求線目前六十四頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用65引腳功能*接收CPU在中斷響應周期發(fā)來的中斷響應信號,8259A接到此信號后,送上中斷類型碼;*中斷類型碼由編程設定。中斷響應線中斷響應線目前六十五頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用66引腳功能*由CPU的高位地址線控制,低電平時,表示8259A被選中,允許CPU對8259A進行讀或?qū)懖僮鳎?高電平時,表示未選中該片。片選信號線
片選線目前六十六頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用67引腳功能地址線A0用以選擇8259A內(nèi)部不同寄存器。*在8088系統(tǒng)中,A0與CPU的A0相連;*在8086系統(tǒng)中,8259A的D7—D0與系統(tǒng)數(shù)據(jù)線低8位相連,而CPU與偶地址傳遞低8位數(shù)據(jù)信息,所以A0應與8086CPU的A1相連。地址線
目前六十七頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用68引腳功能當讀信號低電平時,允許8259A將中斷請求寄存器IRR、中斷服務寄存器ISR、中斷屏蔽寄存器IMR的內(nèi)容送上數(shù)據(jù)總線,供CPU讀取。讀信號讀信號目前六十八頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用69引腳功能寫信號低電平時,允許CPU將命令字寫入8259A。寫信號寫信號目前六十九頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用70引腳功能*級聯(lián)線CAS2—CAS0
在主從式中斷管理系統(tǒng)中,全部8259A的CAS2—CAS0與對應端相連。*作為主片的8259A,其CAS2—CAS0為輸出線,在CPU響應中斷時,用來輸出級聯(lián)設備編碼,選中對應的從片;*作為從片的8259A,其CAS2—CAS0為輸入線,接收來自主片的設備編碼。級聯(lián)線目前七十頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用71引腳功能非緩沖方式工作時,作為輸入線,*高電平時,表示該8259A為主片;*低電平時,表示該8259A為從片。緩沖方式下工作時,作為輸出線,用于控制緩沖器接收和發(fā)送。從片編程/緩沖使能
從片編程/緩沖使能與CAS2-CAS0實現(xiàn)8259A的級聯(lián)目前七十一頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用728259A的主要功能(1)每一片8259A可管理8級中斷,通過級聯(lián),最多可以管理64級中斷;(2)每級中斷源都可單獨進行屏蔽或允許;(3)在中斷響應周期,能向CPU提供中斷類型碼,從而使CPU獲得相應的中斷向量;(4)允許多級中斷嵌套;(5)可設置多種中斷優(yōu)先權管理方式,(6)8259A是可編程芯片,用戶可通過編程選擇不同的工作方式;(7)具有中斷查詢方式功能,使CPU以查詢方式與各外設進行I/O操作。目前七十二頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用732、8259A工作過程當有外部中斷請求時,8259A處理過程:
(1)中斷請求寄存器IRR接受外部中斷請求并鎖存,當中斷屏蔽寄存器IMR為0時,則中斷請求進入優(yōu)先權判別器PR,由PR判斷是否當前優(yōu)先權最高?如果是,則8259A的INT為1,向CPU的INTR發(fā)出中斷請求;目前七十三頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用742、8259A工作過程
8259A使中斷服務寄存器ISR的相應位置1,并將中斷請求寄存器IRR的相應位清零,再送出中斷類型碼;斷,發(fā)回信號;(2)當CPU的中斷允許標志IF=1,CPU響應中INTA目前七十四頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用752、8259A工作過程(3)若允許中斷嵌套,則由8259A的PR依據(jù)ISR中的狀態(tài),判斷新的中斷請求優(yōu)先權是否高于正在服務的中斷。若是,則送出INT=1,向CPU的INTR發(fā)中斷請求信號,從而實現(xiàn)中斷嵌套。(4)當中斷服務結(jié)束時,CPU送出中斷結(jié)束命令,使8259A清除ISR的相應位,從而結(jié)束一個中斷服務。目前七十五頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用763、8259A的工作方式
8259A具有十分靈活的運行方式,,可以通過編程設定工作方式,滿足用戶對中斷管理的不同要求。
主要工作方式:
(1)中斷請求觸發(fā)方式 (2)屏蔽中斷源方式 (3)中斷優(yōu)先權設置方式
(4)中斷結(jié)束(EOI)方式
(5)連接系統(tǒng)總線方式 (6)中斷查詢方式
(7)級聯(lián)方式
目前七十六頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用77(1)中斷請求觸發(fā)方式 *電平觸發(fā) *邊沿觸發(fā)目前七十七頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用78電平觸發(fā)
8259A將中斷請求輸入線上出現(xiàn)高電平作為有效的中斷請求信號。
注意:當中斷請求輸入端出現(xiàn)一個高電平并得到CPU響應時,應及時撤消信號。否則,在CPU進入中斷處理過程,開放中斷后,會引起錯誤的第二次中斷。限定中斷源產(chǎn)生的中斷請求觸發(fā)電平的時間,持續(xù)至CPU響應它的第一個INTA脈沖的下降沿。目前七十八頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用79邊沿觸發(fā)
8259A將中斷請求輸入線出現(xiàn)的上升沿作為中斷請求信號。上升沿觸發(fā)后,可一直保持高電平,而不會產(chǎn)生重復觸發(fā)。通常用負脈沖的后沿實現(xiàn)邊沿觸發(fā)。目前七十九頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用80(2)屏蔽中斷源方式 *普通屏蔽方式 *特殊屏蔽方式目前八十頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用81普通屏蔽方式
CPU對8259A的中斷屏蔽寄存器IMR寫入命令字OCWl,使IMR中的某個位或幾個位置1,對應的中斷請求就被屏蔽,從而不能被8259A送到CPU。而IMR中被置0的那些位對應的中斷請求允許從8259A送到CPU。對中斷屏蔽可以隨時修改,即通過對命令字OCWl的重新設置,實現(xiàn)對某些中斷的屏蔽。目前八十一頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用82特殊屏蔽方式是在中斷服務程序中使用,用于中斷嵌套,實現(xiàn)在高優(yōu)先權的中斷服務程序中開放低優(yōu)先權的中斷請求。實現(xiàn):在中斷服務程序中,用命令字OCW1對中斷屏蔽寄存器IMR中相應的位置1,且清除當前中斷服務寄存器ISR對應的位,從而開放低優(yōu)先權的中斷請求。目前八十二頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用83(3)中斷優(yōu)先權設置方式 *普通全嵌套方式 *特殊全嵌套方式 *優(yōu)先權自動循環(huán)方式 *優(yōu)先權特殊循環(huán)方式目前八十三頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用84普通全嵌套方式這是8259A最基本、最常用的工作方式,若對8259A初始化后沒有設置其它優(yōu)先權方式,則默認為此方式。普通全嵌套方式中,8259A的8個中斷源請求的優(yōu)先權級別,按照IR0優(yōu)先權最高、IR7優(yōu)先權最低的固定優(yōu)先權順序。當一個中斷被響應后,只有比它高優(yōu)先權的中斷請求才會被響應。目前八十四頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用85特殊全嵌套方式與普通全嵌套方式基本相同,優(yōu)先權順序按照IR0優(yōu)先權最高、IR7優(yōu)先權最低的固定順序。唯一不同在于:若CPU正在處理某一級中斷時,如果有同級的中斷請求,8259A也會送出中斷請求給CPU。
特殊全嵌套方式是對同級中斷的一種中斷嵌套。一般用在8259A級聯(lián)的系統(tǒng)中,設定主片為特殊全嵌套方式。當某一從片的中斷請求正在被處理時,既開放主片上其他優(yōu)先權高的中斷請求,同時也開放了同一從片上的較高優(yōu)先權的中斷請求。目前八十五頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用86優(yōu)先權自動循環(huán)方式一個系統(tǒng)的幾個中斷源的重要性差別不大,因而希望它的優(yōu)先權不是固定不變的。優(yōu)先權自動循環(huán)方式下,優(yōu)先權順序是在變化的:初始時,IR0為最高優(yōu)先權,IR7為最低優(yōu)先權;當一個中斷被CPU響應后,它的優(yōu)先權自動降為最低的;原在其下一級的中斷升為最高優(yōu)先權,其余循環(huán)類推。假設,初始時有IR3中斷請求,且被CPU響應,當IR3的中斷服務結(jié)束后,IR3降為最低優(yōu)先權。此時的優(yōu)先權順序變?yōu)椋篒R4、IR5、IR6、IR7、IR0、IRl、IR2、IR3。目前八十六頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用87優(yōu)先權特殊循環(huán)方式與優(yōu)先權自動循環(huán)方式相似,優(yōu)先權的順序是變化的,當一個中斷被CPU響應,它的優(yōu)先權自動降為最低。
優(yōu)先權特殊循環(huán)方式中,初始最低優(yōu)先權是由編程設定的。
設編程時設定IR4為最低,則初始優(yōu)先權順序由高至低為:IR5、IR6、IR7、IR0、IRl、IR2、IR3、IR4。優(yōu)先權順序還可在執(zhí)行EOI命令時指明最低優(yōu)先權。目前八十七頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用88(4)中斷結(jié)束(EOI)方式當一個中斷請求被響應,8259A在中斷服務寄存器ISR的相應位置l。當中斷服務結(jié)束時,必須將ISR中相應的位清0,進行中斷結(jié)束操作。 *自動中斷結(jié)束方式
*普通中斷結(jié)束方式 *特殊中斷結(jié)束方式
目前八十八頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用89自動中斷結(jié)束方式
CPU一旦進入中斷響應周期,8259A就自動將當前中斷服務寄存器ISR中相應的位清0。這時,盡管CPU正在為某個中斷源服務,但在8259A的ISR中沒有對應位置1,優(yōu)先權判別器PR不能依據(jù)ISR正確判別是否接收新的中斷請求,就會出現(xiàn)低優(yōu)先權中斷打斷高優(yōu)先權中斷的情況。
自動中斷結(jié)束方式通常用在不允許中斷嵌套的場合。目前八十九頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用90普通中斷結(jié)束方式普通中斷結(jié)束方式用在普通全嵌套情況下。在中斷服務結(jié)束時,必須由CPU用OUT指令發(fā)來一個普通EOI命令,8259A收到后,將當前中斷服務寄存器ISR中的已置1的最高優(yōu)先權的位復位。目前九十頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用91特殊中斷結(jié)束方式特殊中斷結(jié)束方式多用于優(yōu)先權循環(huán)情況下。由CPU在中斷服務結(jié)束時,發(fā)出一條特殊EOI命令,指明要清除ISR中的哪一位。
注意:在級聯(lián)方式下,一般不用自動EOI方式,而用普通中斷結(jié)束或特殊中斷結(jié)束方式。一個中斷結(jié)束可能要發(fā)兩次EOI命令,一次對主片,一次對從片,分別清除主、從片的ISR中相應位。目前九十一頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用92(5)連接系統(tǒng)總線方式*緩沖方式—8259A通過總線緩沖器和系統(tǒng)數(shù)據(jù)總線相連。8259A的端和總線緩沖器的允許端相連。輸出的低電平作為總線緩沖器的啟動信號。*非緩沖方式—8259A直接與數(shù)據(jù)總線相連。為輸入端。單片的8259A系統(tǒng),作接高電平;多片8259A的級聯(lián)系統(tǒng),主片接高電平,從片接低電平。目前九十二頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用93(6)中斷查詢方式
8259A提供了中斷查詢方式。這種方式下,外設仍然靠中斷請求要求服務,但CPU不是通過對中斷請求的響應,而是靠主動查詢實現(xiàn)對外設的服務。在CPU為關中斷情況下,外設的中斷請求信號不被響應,但CPU可以通過查詢方式檢查請求中斷的外設,獲取中斷請求信號,從而進入中斷服務。目前九十三頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用94(7)級聯(lián)方式
8259A可以及聯(lián)使用,一個主8259A可以最多帶8個從8259A,將中斷源擴展到64級。級聯(lián)方式下,從片的INT端接至主片的IRi端,從片上的中斷請求通過主片的INT送至CPU;CPU發(fā)來的中斷響應信號送至主、從片上。主8259A在級聯(lián)線上CAS2—CAS0送出相應的標識符編碼,若從片的標識符與主片送出的相同,該動作,而由該從片送上中斷類型碼。從片的起作用。在第二個負脈沖時,主片不目前九十四頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用95(7)級聯(lián)方式通常主片采用特殊全嵌套方式,允許同一從片上優(yōu)先權高的中斷請求打斷優(yōu)先權低的中斷請求。其余的工作方式、寄存器讀取方法與單片系統(tǒng)基本相同。8259A的級聯(lián)除對中斷響應信號的操作與單片系統(tǒng)不同外,優(yōu)先權的設置也不同。目前九十五頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用964、8259A編程方法
8259A為可編程的中斷控制器,它的工作狀態(tài)和操作是由接收CPU的命令而確定的。
8259A在開始使用前,首先寫入初始化命令字,使其處于預定的初始狀態(tài);初始化命令字設定后,在整個系統(tǒng)工作過程中保持不變;
操作命令字用來控制8259A執(zhí)行不同的操作方式。初始化命令字設置后,在8259A工作期間的任何時刻都可設置操作命令字,且允許重置操作命令字動態(tài)地改變8259A的操作方式。 作業(yè)目前九十六頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用97初始化命令字初始化命令字有4個: ①ICW1格式 ②ICW2格式 ③ICW3格式 ④ICW4格式8259A在使用前首先必須對它進行初始化,使其處于預定的初始狀態(tài),初始化命令字設定后,整個工作過程中保持不變。例題目前九十七頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用98ICW1格式D4=1,A0=0表示設置的是ICW1注意:A0=0,表示輸入8259A低地址端口;目前九十八頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用99ICW2格式ICW2用于設置中斷類型碼。注意:
A0=1,表示輸入8259A高地址端口。目前九十九頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用100ICW3格式ICW3是在級聯(lián)方式下設置的初始化命令字。當ICW1中D1=1,單片使用,不需要ICW3;當ICW1中D1=0
,表示8259A工作于級聯(lián)方式,必須設置ICW3。目前一百頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用101ICW3格式*假設,主片ICW3=01010011,表示該從片的INT連至主片的IR7
表示IR6、IR4、IR1、IR0上接有從片*假設,從片ICW3=00000111,目前一百零一頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用102ICW4格式當ICW1的D0=1,需要設置ICW4。D7D6D5=000ICW4的標志SFNM=1,用于指明是否選擇特殊全嵌套方式,一般在使用多片8259A中使用,主片即選用特殊全嵌套方式。目前一百零二頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用103例題解:其初始化程序如下: ……MOVAL,13H ;設置ICW1=00010011,即采用邊沿 ;觸發(fā),單片,需要ICW4OUT80H,AL ;ICW1寫入地址A0=0MOVAL,18H ;ICW2=00011000,確定ICW2的高5位OUT81H,AL ;ICW2寫入地址A0=1MOVAL,0DH ;ICW4=00001101,即普通嵌套方式, ;緩沖方式,非自動中斷結(jié)束方式,用 ;于8086/8088OUT81H,AL ;ICW4寫入地址A0=1 ……單片8259A的端口地址是80H和81H,采用邊沿觸發(fā),普通嵌套方式,緩沖方式,非自動中斷結(jié)束方式,需要ICW4,中斷類型碼是18H—1FH,請對8259A進行初始化。目前一百零三頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用104操作命令字向8259A寫入初始化命令字后,8259A就處于設定的工作狀態(tài),隨時準備接受中斷請求信號,按要求管理中斷;自動進入操作命令狀態(tài),在任何時刻都可以設置操作命令字,選擇其不同的操作方式;
操作命令字用于規(guī)定中斷屏蔽、中斷結(jié)束、優(yōu)先權循環(huán)和中斷狀態(tài)的讀出和查詢等等。操作命令字有三個,根據(jù)需要輸入,無需按順序。 ①OCW1 ②OCW2 ③OCW3
例題目前一百零四頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用105OCW1OCW1的功能用來動態(tài)地設置中斷源的屏蔽狀態(tài)。CPU也可以從8259A的高地址端口讀取中斷屏蔽寄存器IMR的內(nèi)容。假設,OCW1=33H
—表示IR5、IR4、IR1、IR0引腳上的中斷被屏蔽,其余中斷請求允許;目前一百零五頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用106OCW2D4D3=00:可作為OCW2的標志位。D5:即EOI,中斷結(jié)束命令位。OCW2的功能
就是用于控制中斷結(jié)束,優(yōu)先權循環(huán)等操作方式。目前一百零六頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用107OCW2若ICW4中AEOI=0,表明設置非自動中斷結(jié)束方式,則在中斷服務程序最后中斷返回前必須設置中斷結(jié)束(EOI)命令。
EOI置1為一個EOI命令,執(zhí)行此命令將清除8259A的中斷服務寄存器ISR具有最高優(yōu)先權的位或由L2—L0指定的位;
R、SL、EOI三位配合使用選擇中斷結(jié)束和優(yōu)先權循環(huán)的操作方式。目前一百零七頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用108OCW2假設,OCW2=01100011, 是特殊EOI命令,清除ISR指定的位(即D3);
OCW2=10000000, 設置為工作于中斷優(yōu)先權自動循環(huán)方式。優(yōu)先權初始次序由高至低為IR0→IR7,當一個中斷被處理返回后,自動降為最低級,其下一級作為最高級,其余依次類推。OCW2=11100010, 清除ISR中當前中斷對應的位,指定當前系統(tǒng)的最低優(yōu)先權級(IR2)
。中斷返回后,優(yōu)先權次序改為IR3、IR4、IR5、IR6、IR7、IR0、IRl、IR2。 目前一百零八頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用109OCW3OCW3用于控制8259A的運行方式。包括設置或撤銷特殊屏蔽方式和查詢方式,可讀出8259A的中斷請求寄存器IRR,中斷服務寄存器ISR等。P=1,查詢D4D3=01OCW3的標志目前一百零九頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用110OCW3當CPU發(fā)來一個OCW3查詢命令(P=1):假設,此時優(yōu)先權次序為IR3、IR4、IR5、IR6、IR7、IR0、IRl、IR2
,且IR5、IRl有中斷請求。隨后,CPU執(zhí)行一條輸入指令,便可得到查詢字:85H查詢字格式=1,有中斷請求優(yōu)先權最高位目前一百一十頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用111OCW3CPU不必設置OCW3,可隨時在高地址讀取IMR的值;而讀取IRR和ISR之前,必須先發(fā)一個OCW3命令字。D1D0:讀取8259A的IRR或ISR的值目前一百一十一頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用112OCW3假設,8259A的端口地址為20H,21H,MOVAL,0AH ;設置OCW3,其中D1D0=10OUT20H,AL ;從低端口輸出NOP ;等待INAL,20H ;讀入IRR的內(nèi)容如果需要讀入ISR的內(nèi)容,如何修改?目前一百一十二頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用113R、SL、EOI組合RSL
EOI意義及應用000結(jié)束優(yōu)先權自動循環(huán)方式。用于方式設置001普通中斷結(jié)束命令。用于普通全嵌套方式中的中斷結(jié)束010無意義*011特殊中斷結(jié)束命令。清除ISR中指定位100設置優(yōu)先權自動循環(huán)方式。用于方式設置101普通中斷結(jié)束命令并設置優(yōu)先權自動循環(huán),優(yōu)先權次序移一級*110指定優(yōu)先權特殊循環(huán)方式的最低級。用于方式設置*l11普通中斷結(jié)束命令并設置優(yōu)先權特殊循環(huán),指定新的最低級注:有信號的組合,OCW2的L2~L0有效目前一百一十三頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用114例題(1)1、已知8259A的端口地址是20H,21H,讀取其中斷請求寄存器IRR和中斷服務寄存器ISR的內(nèi)容。解: …MOVAL,0AH;OCW3=00001010,讀IRR寄存器OUT20H,AL ;OCW3輸出到8259A的低地址NOP ;空操作,等待3個時鐘周期INAL,20H ;從低地址讀入IRR的內(nèi)容
…目前一百一十四頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用115例題(2)2、修改中斷屏蔽寄存器IMR內(nèi)容,使IR5的中斷請求被屏蔽,開放IR3的中斷請求,其余不變,8259A的端口地址60H,62H。解:OCW1對應位為0,開中斷;對應位為1,禁止中斷;CPU從8259A高地址讀取的內(nèi)容就是中斷屏蔽寄存器IMR的內(nèi)容。
…INAL,62H ;從高地址讀入IMRANDAL,0F7H ;讀入的IMR與11110111,即IR3置0ORAL,20H ;以上IMR的值或00100000,即IR5置1OUT62H,AL ;從高地址寫入IMR … 目前一百一十五頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用116例題(3)3、8259A當前中斷服務寄存器ISR的內(nèi)容代表什么?在中斷嵌套和單個中斷情況下,ISR的內(nèi)容有什么不同?
解:中斷服務寄存器ISR記錄了正被CPU響應的中斷(在非自動EOI方式下)。ISR是8位寄存器,8個位分別對應8個中斷源IRi,若某個中斷源的中斷請求被CPU響應,則對應位置1。單個中斷被響應時,ISR中只有一個位為1。中斷嵌套時ISR中有兩個以上的位為1,表明一個中斷未處理結(jié)束,又轉(zhuǎn)入更高優(yōu)先權的中斷處理中。所以ISR表示當前有哪些正在響應的中斷存在。
目前一百一十六頁\總數(shù)一百二十三頁\編于六點2023/5/25微機原理及應用117例題(4)4、8259A按中斷結(jié)束方式分有哪幾種?若初始化時設置為非自動中斷結(jié)束方式,
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥品生產(chǎn)廢棄物管理制度
- 棉柔巾生產(chǎn)車間規(guī)章制度
- 生產(chǎn)環(huán)節(jié)pbc管理制度
- 污水處理廠生產(chǎn)規(guī)章制度
- 洗沙場安全生產(chǎn)管理制度
- 醫(yī)院檢驗科安全生產(chǎn)制度
- 中化六建安全生產(chǎn)獎懲制度
- 選煤廠生產(chǎn)安全管理制度
- 駝奶生產(chǎn)車間現(xiàn)場管理制度
- 印刷廠安全生產(chǎn)管理制度
- 2026海南安??毓捎邢挢熑喂菊衅?1人筆試模擬試題及答案解析
- 銀齡計劃教師總結(jié)
- (高清版)DZT 0351-2020 野外地質(zhì)工作后勤保障要求
- 港珠澳大橋工程管理創(chuàng)新與實踐
- 化妝培訓行業(yè)分析
- 孩子如何正確與師長相處與溝通
- 精神病學考試重點第七版
- 塔吊運行日志
- GB/T 14536.1-2022電自動控制器第1部分:通用要求
- GA/T 1362-2016警用裝備倉庫物資庫存管理規(guī)范
- 鋼結(jié)構基本原理及設計PPT全套課件
評論
0/150
提交評論