版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
9.1中斷控制接口8259A教學重點
8088CPU的中斷系統(tǒng)(復習P99)8259A的中斷工作過程和工作方式8259A的初始化復習:
中斷操作P99斷點主程序中斷服務程序中斷請求對外設進行處理繼續(xù)執(zhí)行返回斷點CPU在執(zhí)行程序中,被內部或外部的事件所打斷,轉去執(zhí)行一段預先安排好的中斷服務程序;服務結束后,又返回原來的斷點,繼續(xù)執(zhí)行原來的程序流程中斷傳送流程返回8088中斷系統(tǒng)8088的中斷系統(tǒng)采用向量中斷機制能夠處理256個中斷用中斷向量號0~255區(qū)別可屏蔽中斷還需要借助專用中斷控制器Intel8259A實現(xiàn)優(yōu)先權管理1、8088的中斷類型(P100)非屏蔽中斷源中斷邏輯INTO指令單步中斷除法錯誤INTN指令CPUINTRNMI可屏蔽中斷源8259A中斷控制器IR0IR1IR2IR3IR4IR5IR6IR7外設中斷源
INTA(1)
內部中斷內部中斷是由于8088內部執(zhí)行程序出現(xiàn)異常引起的程序中斷利用內部中斷,微處理器為用戶提供了發(fā)現(xiàn)、調試并解決程序執(zhí)行時異常情況的有效途徑例如,ROM-BIOS和DOS系統(tǒng)利用內部中斷為程序員提供了各種功能調用(INT21)(2)
外部中斷外部中斷是由于8088外部提出中斷請求引起的程序中斷利用外部中斷,微機系統(tǒng)可以實時響應外部設備的數據傳送請求,能夠及時處理外部意外或緊急事件外部中斷的原因是處理器外部隨機產生的,所以是真正的中斷(Interrupt)內部中斷的原因是處理器執(zhí)行程序出現(xiàn)異常,所以經常被稱為異常(Exception)
非屏蔽中斷通過非屏蔽中斷請求信號向微處理器提出的中斷請求,微處理器無法禁止,將在當前指令執(zhí)行結束予以響應,這個中斷被稱為非屏蔽中斷8088的非屏蔽中斷的向量號為2,非屏蔽中斷請求信號為NMI非屏蔽中斷主要用于處理系統(tǒng)的意外或故障。例如:電源掉電前的數據保護可屏蔽中斷外部通過可屏蔽中斷請求信號向微處理器提出的中斷,微處理器在允許可屏蔽中斷的條件下,在當前指令執(zhí)行結束予以響應,同時輸出可屏蔽中斷響應信號,這個中斷就是可屏蔽中斷8088的可屏蔽中斷請求和響應信號分別是INTR和INTA*;由IF標志控制可屏蔽中斷是否允許響應;向量號來自外部中斷控制器8088通常需要配合中斷控制器8259A共同處理可屏蔽中斷可屏蔽中斷主要用于主機與外設交換數據中斷標志IF的狀態(tài)IF=0:可屏蔽中斷不會被響應關中斷、禁止中斷、中斷屏蔽系統(tǒng)復位,使IF=0任何一個中斷被響應,使IF=0執(zhí)行指令CLI,使IF=0IF=1:可屏蔽中斷會被響應開中斷、允許中斷、中斷開放執(zhí)行指令STI,使IF=1執(zhí)行指令IRET恢復原IF狀態(tài)明確IF標志的狀態(tài)是關鍵2、中斷向量表中斷向量:中斷服務程序的入口地址(首地址)邏輯地址含有段地址CS和偏移地址IP(32位)每個中斷向量的低字是偏移地址、高字是段地址,需占用4個字節(jié)8088微處理器從物理地址000H開始,依次安排各個中斷向量,向量號也從0開始256個中斷占用1KB區(qū)域,就形成中斷向量表向量號為N的中斷向量的物理地址=N×4圖2-16中斷向量表(2)中斷向量和中斷向量表(斷點)中斷的響應過程
當CPU在INTR引腳上接收到一個高電平的中斷請求信號,并且當前的中斷允許標志為1時,CPU就會在當前指令執(zhí)行完以后,開始響應外部的中斷請求。具體地說,就是CPU往INTA引腳上發(fā)兩個負脈沖,外設接到第2個負脈沖以后,立即往數據線上給CPU送來中斷類型碼。CPU依次作下面幾件事:
(1)從數據總線上讀取中斷類型碼,將其存入內部暫存器。
(2)將標志寄存器的值推入堆棧。
(3)把標志寄存器的中斷允許標志IF和單步標志TF清零。將IF清零是為了能夠在中斷響應過程中暫時屏蔽外部其他中斷,以免還沒有完成對當前中斷的響應過程而又被另一個中斷請求所打斷,清除TF是為了避免CPU以單步方式執(zhí)行中斷處理子程序。
(4)將斷點保護到堆棧中。斷點:是指響應中斷時,主程序中當前指令下面的一條指令的地址,即代碼段寄存器CS的值和指令指針I(yè)P的值。只有保護了斷點,才能在中斷處理子程序執(zhí)行完以后,正確返回到原程序繼續(xù)執(zhí)行。
(5)根據中斷類型碼,到中斷向量表中找到中斷向量,再根據中斷向量轉入相應的中斷處理子程序。例如:中斷類型碼為0BH,則此中斷對應的中斷向量的首字節(jié)在0BH×4=2CH處,于是CPU在0段的002CH,002DH,002EH,002FH這4個字節(jié)中取得中斷向量,并將前兩個字節(jié)中的內容裝入IP,將后兩個字節(jié)中的內容裝入CS。這樣,CPU要執(zhí)行的下一條指令就是中斷處理子程序的第一條指令,也就是說,CPU轉入了對中斷處理子程序的執(zhí)行。4、中斷處理子程序的結構模式(1)中斷處理子程序的開始必須通過一系列推入堆棧指令來進一步保護中斷時的現(xiàn)場,即保護CPU各寄存器的值(2)設置中斷允許標志IF來開放中斷,以允許級別較高的中斷請求進入。(STI)(3)中斷處理的具體內容(4)中斷處理子程序的尾部則是一系列彈出堆棧指令,使得各寄存器恢復進入中斷處理時的值。(恢復現(xiàn)場)(5)最后是中斷返回指令IRET,中斷返回指令的執(zhí)行會使堆棧中保存的斷點值和標志值分別裝入IP,CS和標志寄存器。中斷處理子程序在位置上也必須是固定裝配的,而不是浮動的。裝配的起始地址由中斷向量表給出。9.1中斷控制器8259AIntel8259A是可編程中斷控制器IC可用于管理Intel8080/8085、8086/8088、80286/80386的可屏蔽中斷8259A的基本功能一片8259A可以管理8級中斷,可擴展至64級每一級中斷都可單獨被屏蔽或允許在中斷響應周期,可提供相應的中斷向量號8259A設計有多種工作方式,可通過編程選擇一、
8259A的內部結構和引腳D7~D0INTAINT中斷請求寄存器中斷屏蔽寄存器數據總線緩沖器IR0IR7讀/寫控制邏輯級聯(lián)緩沖器比較器RDWRA0CSCAS0CSA1CAS2SP/EN優(yōu)先權判別電路中斷服務寄存器控制邏輯1、讀寫控制邏輯
該部件接收來自CPU的讀寫命令,完成規(guī)定的操作。操作過程由、A0、、等輸入信號共同控制。在CPU寫8259A時,把寫入數據送至相應的寄存器中。在CPU讀8259A時,相應寄存器的內容輸出到數據總線上2.中斷控制寄存器中斷請求寄存器IRR保存8條外界中斷請求信號IR0~IR7的請求狀態(tài)Di位為1表示IRi引腳有中斷請求;為0表示無請求中斷服務寄存器ISR保存正在被8259A服務著的中斷狀態(tài)Di位為1表示IRi中斷正在服務中;為0表示沒有被服務中斷屏蔽寄存器IMR保存對中斷請求信號IR的屏蔽狀態(tài)Di位為1表示IRi中斷被屏蔽(禁止);為0表示允許
3、優(yōu)先權電路
優(yōu)先權電路(PriorityPR)負責檢查中斷源的中斷請求的優(yōu)先級,并與“正在服務中的中斷”進行比較,確定是否將這個中斷請求送給處理器。假定中斷源的中斷比正在服務中的中斷具有更高的優(yōu)先權,則PR就使INT線變?yōu)楦唠娖剑徒oCPU,為它提出申請,并在中斷響應時將它記入ISR的對應位中。如果中斷源的中斷優(yōu)先級等于或低于正在服務中的中斷優(yōu)先級,則PR不為其提出申請。
4、控制邏輯
控制邏輯按初始化設置的工作方式控制8259A的全部工作。該電路可根據IRR的內容和PR判斷結果向CPU發(fā)中斷請求信號INT,并接受CPU發(fā)回的中斷響應信號,使8259A進入中斷服務狀態(tài)
8259A引腳信號一、與CPU的接口信號主要包括D0~D7,三態(tài),8位雙向數據線,CPU與8259A之間利用這個數據總線傳送數據及命令,寫信號
,讀信號
A0,地址選擇信號,用來對8259A內部的2個端口地址進行選擇
8259A引腳信號,片選輸入信號,低電平有效
INT,由82C59A向CPU輸出的中斷請求信號
,輸入信號,接收CPU送來的中斷響應信號A0RD*WR*CS*功能0100110000101010×110×××1寫入ICW1、OCW2和OCW3寫入ICW2~ICW4和OCW1讀出IRR、ISR和查詢字讀出IMR數據總線高阻狀態(tài)數據總線高阻狀態(tài)6.中斷級聯(lián)一個系統(tǒng)中,8259A可以級聯(lián),有一個主8259A,若干個(最多8個)從8259A級聯(lián)時,主8259A的三條級連線CAS0~CAS2作為輸出線,連至每個從8259A的CAS0~CAS2每個從8259A的中斷請求信號INT,連至主8259A的一個中斷請求輸入端IR主8259A的INT線連至CPU的中斷請求輸入端SP*/EN*在非緩沖方式下,規(guī)定該8259A是主片(SP*=1)還是從片(SP*=0)8259A引腳信號
/
從片編程緩沖器使能信號。該信號有兩種功能:當8259A工作在緩沖方式時,該引腳為輸出,作數據總線緩沖器的使能信號(EN*),即用它來控制數據收發(fā)器的工作當8259A工作在非緩沖方式時,該引腳為輸入,用來指明該8259A是主片(/=1時)還是從片(/=0時)
8259中斷工作方式
以8259A單片使用為例,說明可屏蔽中斷處理的過程當一條或多條中斷請求線IR0~IR7變高時,設置相應的中斷請求寄存器IRR位PR對中斷優(yōu)先權和中斷屏蔽寄存器的狀態(tài)進行判斷之后,如果某中斷優(yōu)先權最高且為允許中斷狀態(tài),就向CPU發(fā)高電平中斷申請信號INT,請求中斷服務如果CPU中斷允許標志IF=1,則CPU響應中斷,給8259A送出中斷響應信號
中斷處理過程4.8259A接到來自CPU的第一個信號時,當前中斷服務寄存器(ISR)中相應位置位,并把IRR中相應位復位。同時,82C59A準備向數據總線發(fā)送中斷類型碼5.在8259A接收到第二個后,發(fā)送中斷類型碼,如果是在自動結束中斷方式下,在這個負脈沖結束時復位ISR的相應位。在非自動中斷結束方式下,ISR相應位要由中斷服務程序結束時發(fā)出的EOI命令來復位
二、8259A的中斷過程P233CAS0~CAS2D0~D7SP/ENIR0~IR7CPU響應周期8259A工作波形INT第一個周期T1T2T3T4ALECLK
第二個周期T1T2T3T4第一個前保持為高電平
INTALOCK動畫三、
8259A的工作方式P228普通全嵌套方式特殊全嵌套方式自動循環(huán)方式特殊循環(huán)方式優(yōu)先權固定方式優(yōu)先權循環(huán)方式設置優(yōu)先權方式普通中斷結束方式特殊中斷結束方式自動中斷結束方式非自動中斷結束方式結束中斷處理方式屏蔽中斷源方式普通屏蔽方式特殊屏蔽方式中斷觸發(fā)方式邊沿觸發(fā)方式電平觸發(fā)方式數據線連接方式緩沖方式非緩沖方式完全嵌套方式
特殊全嵌套方式
優(yōu)先級自動循環(huán)方式
優(yōu)先級特殊循環(huán)方式
1.設置優(yōu)先權方式1)完全嵌套方式
全嵌套方式是8259A被初始化后自動進入的基本工作方式,在這種方式下,由各個IRi端引入的中斷請求具有固定的中斷級別。IR0具有最高優(yōu)先級,IR7具有最低優(yōu)先級,其他級順序類推。采用完全嵌套方式時,ISR寄存器中某位置“1”,表示CPU當前正在處理這一級中斷請求,8259A將允許比它級別高的中斷請求進入,打斷當前的中斷服務程序而被優(yōu)先處理,但禁止與它同級或比它級別低的其他中斷請求進入。采用這種完全嵌套方式,中斷嵌套的深度取決于整個中斷系統(tǒng)所具有的中斷級數,在一個具有8級中斷的系統(tǒng)中,最大的中斷嵌套深度為8。1)完全嵌套方式在中斷嵌套過程中,中斷服務寄存器ISR的內容將不斷變化,最后有可能使(ISR)=FFH,表示當前有8級中斷請求正在被服務,首先結束的應是最高級的中斷,待CPU由高級到低級將全部中斷處理結束返回到主程序時,ISR寄存器將重新復位為全“0”。2)特殊全嵌套方式基本與全嵌套方式相同,唯一的區(qū)別是,在處理中斷時,如果有同級中斷產生,也會被系統(tǒng)相應。特殊全嵌套方式一般用于8259A級連系統(tǒng)中的主片的中斷優(yōu)先級。3)優(yōu)先級自動循環(huán)方式該方式一般用于系統(tǒng)中多個中斷源優(yōu)先級相等的場合。該方式下,優(yōu)先級隊列是變化的,一個設備進入中斷后,其優(yōu)先級變成最低。一開始時,IR0的優(yōu)先級最高,IR7優(yōu)先級最低。如果系統(tǒng)進入IRX的中斷服務,則此后IRX+1的優(yōu)先級為最高,IRX為最低。4)優(yōu)先級特殊循環(huán)方式基本與優(yōu)先級自動循環(huán)方式相似,唯一的不同是:一開始的最低優(yōu)先級是由編程決定的。具體做法見OCW2的設置2.結束中斷處理方式什么是8259A的中斷結束?8259A利用中斷服務寄存器ISR判斷:某位為1,表示正在進行中斷服務;該位為0,就是該中斷結束服務。這里說明如何使ISR某位為0,不反映CPU的工作狀態(tài)。1)自動中斷結束方式
在中斷服務程序中,中斷返回之前,不需要發(fā)出中斷結束命令就會自動清除該中斷源所對應的ISR位,實際上,在CPU發(fā)出第2個信號時,8259A即自動清除ISR中的對應位。該方式主要是怕沒有經驗的程序員忘記在中斷服務程序中給出中斷結束命令。設置方法見ICW4的設置2.結束中斷的處理方式2)普通的中斷結束方式
用于全嵌套方式下,當CPU向8259發(fā)中斷結束命令時,8259自動把ISR中最高非零位位復位,即表明結束了當前最高優(yōu)先級中斷。3)特殊的中斷結束方式用于非全嵌套方式,如果無法確定當前正在處理的是哪一級中斷,則使用該方式。使用該中斷結束方式時,CPU通過8259的OCW2來得知當前正在處理的是那個中斷,并使該中斷對應的ISR位復位。1)普通屏蔽方式
利用操作命令字OCWl,使屏蔽寄存器IMR中的一位或數位置1來屏蔽一個或數個中斷源的中斷請求。若要開放某一個中斷源的中斷請求,則將IMR中相應的位清0。這種屏蔽方式可在兩種情況下使用。其一是當CPU在執(zhí)行主程序時,要求禁止響應某級或某幾級中斷時,可在主程序中將IMR寄存器的相應位置“1”;其二是CPU在處理某級中斷過程中,要求禁止級別比它高的某一級或某幾級中斷時,可在中斷服務程序中將IMR寄存器的相應位置“1”。3.屏蔽中斷源方式2)特殊屏蔽方式
在某些場合,執(zhí)行某一個中斷服務程序時,要求允許另一個優(yōu)先級比它低或高的中斷請求被響應,此時可采用特殊屏蔽方式。它可通過OCW3來設定。具體的做法是:在執(zhí)行某級中斷服務程序時,將屏蔽寄存器中本級中斷的對應位置“1”,首先屏蔽掉本級中斷,同時將當前中斷服務寄存器的對應位置“0”。(原因:當前中斷服務寄存器的高優(yōu)先級中斷位會阻止系統(tǒng)響應低級中斷),則任意中斷都可打斷該中斷程序。
特殊屏蔽方式當相應一個高優(yōu)先級中斷時就像是沒有發(fā)生中斷一樣,因為低優(yōu)先級中斷也可以打斷該中斷。4.中斷觸發(fā)方式邊沿觸發(fā)方式8259A將中斷請求輸入端出現(xiàn)的上升沿作為中斷請求信號電平觸發(fā)方式中斷請求端出現(xiàn)的高電平是有效的中斷請求信號5.數據線連接方式緩沖方式8259A的數據線需加緩沖器予以驅動8259A把SP*/EN*引腳作為輸出端,輸出允許信號,用以鎖存或開啟緩沖器非緩沖方式SP*/EN*引腳為輸入端若8259A級連,由其確定是主片或從片CAS0IR0CAS1IR1CAS2IR2
IR3INTAIR4IR5INTIR6IR7SP/EN
CAS0INTA
CAS1
CAS2INT
IR0
IR1SP/ENIR7CAS0IR0CAS1IR1CAS2IR2
IR3INTAIR4IR5INTIR6IR7SP/ENINTAINTR+5V8259級聯(lián)工作示意圖返回8259A芯片的級聯(lián)使用8259A級聯(lián)使用時,主8259A上沒有連接從8259A的IRi端,可直接與中斷源相連。在8259A級聯(lián)系統(tǒng)中,某一片從8259A的IRi端接收到一個或多個中斷請求信號時,經過判優(yōu)可確定當前的最高級中斷得到響應,并通過INT向主8259A發(fā)出請求;經主8259A再次判優(yōu)確認是當前最高級中斷時,向CPU發(fā)出中斷請求信號INT,以后的過程與單級使用時類似。對CPU來說,8259A的單級使用和級聯(lián)使用區(qū)別不大。8259A芯片的級聯(lián)使用第1個INTA有效時,主8259A將級聯(lián)地址從CAS2~CAS03端輸出給所有的從8259A芯片,到第2個INTA有效時,與主8259A發(fā)出的級聯(lián)地址相符的從8259A將向CPU送出當前的中斷類型碼n,以后的操作過程與單級使用時相同。當從8259A引入的中斷處理過程結束時,CPU應能送出兩個EOI結束命令,一個送給主8259A,用來將主8259A中的ISR寄存器的相應位清“0”;另一個送給從8259A,用來將從8259A中的ISR寄存器相應位清“0”,才標志一次中斷處理過程的結束。8259級聯(lián)工作示意圖返回8259工作示意圖返回命令字和初始化編程
8259A是根據收到CPU的命令字進行工作的。CPU的命令字分兩類:一類是初始化命令,稱為初始化命令字(InitializationCommandWord,ICW),初始化命令字往往是在系統(tǒng)啟動時,由初始化程序設置的。初始化命令字一旦設定,一般在系統(tǒng)工作過程中就不再改變。另一類是操作命令,稱為操作命令字(OperationCommandWord,OCW)。在初始化后,CPU用這些控制字來控制8259A執(zhí)行不同的操作,如中斷屏蔽、中斷結束、優(yōu)先權循環(huán)和中斷狀態(tài)的讀出和查詢等1.初始化命令字ICW初始化命令字ICW最多有4個8259A在開始工作前必須寫入必須按照ICW1~ICW4順序寫入ICW1和ICW2是必須送的ICW3和ICW4由工作方式決定流程D7D6D5D4D3D2D1D0
⒈芯片控制初始化命令字(ICW1)
ICW1應寫入偶地址端口,即A0=0,
ICW1舉例例某8086微機系統(tǒng)中,使用單片8259A,中斷請求信號為上升沿觸發(fā),需要設置ICW4,端口地址為20H和22H,則其初始化命令字ICW1應為:00010011=13H,設置ICW1的指令為:
MOVAL,13HOUT20H,AL設置中斷類型碼高5位的初始化命令字(ICW2)
8259A在第2個中斷響應總線周期向CPU提供的8位中斷類型碼,實際上是由兩部分構成,其中,高5位T7~T3是由用戶通過編程確定的,這就是初始化命令字ICW2,類型碼的低3位,由8259A內部電路自動產生,分別對應于8個中斷源的中斷請求信號IR0~IR7的編號,即IR0為
000,IR1為
001,……,IR7為
111
設置中斷類型碼高5位的初始化命令字(ICW2)
ICW2應寫入奇地址端口,即Al=1,格式如圖所示
標識主片/從片初始化命令字(ICW3)
只有當系統(tǒng)中有多片8259A級聯(lián)時才需要設置ICW3,單片8259A時不用設置,寫入奇地址單元。當多片8259A級聯(lián)時,ICW3用來指出主片上連接從片以及從片連接到主片的情況,所以,ICW3有主從兩種格式。
注意:當級連時主8259的CAS0-2線作輸出,從8259的CAS0-2作輸入線。其內部傳送的數據即為從片上ICW3的低3位
標識主片/從片初始化命令字(ICW3)初始化命令字(ICW3)方式控制初始化命令字(ICW4)當ICW1中的D0=1時,初始化8259A時需要寫入ICW4。ICW4寫入奇地址端口.16位(8086\8088)系統(tǒng)必須設置ICW4.其格式如圖所示
方式控制初始化命令字(ICW4)二、82C59A初始化編程邏輯
8259A進入正常工作之前,系統(tǒng)必須對每個8259A進行初始化設置
初始化是通過編程將初始化命令字按順序寫入82C59A的端口實現(xiàn)的,82C59A的初始化流程如圖所示
8259A芯片的初始化
流程P237寫ICW1A0=0寫ICW2A0=1SNGL=1
IC4=1寫ICW3A0=1寫ICW4A0=1是否是否按順序對A0=1端口寫入命令字返回初始化編程
例:某8086微機系統(tǒng)中有一片8259A,中斷請求信號為電平觸發(fā),中斷類型碼為40H~47H,中斷優(yōu)先級管理采用普通全嵌套方式,中斷結束方式采用自動結束方式,系統(tǒng)中未使用數據緩沖器,系統(tǒng)分配給8259A的端口地址為20H和21H,試對該82C59A進行初始化編程
初始化編程
分析:由于系統(tǒng)中使用單片8259A,所以初始化時不需要ICW3,本例中82C59A要求工作在非緩沖方式,故在硬件上將SP*/EN*接+5V,ICW4中的(M/S*)位無意義,可設置為0
對82C59A的初始化程序如下:
MOVAL,00011011B;設置ICW1初始化命令字
OUT20H,AL ;將ICW1輸出到偶地址端口
MOVAL,01000000B;ICW2中斷類型號基值
OUT21H,AL ;將ICW2送入奇地址端口
MOVAL,00001011B;ICW4OUT21H,AL ;將ICW4送入奇地址瑞口
3.8259A的命令字OCW設置時沒有次序要求,但對地址有要求.
⒈中斷屏蔽操作命令字OCWl
OCWl用來實現(xiàn)對中斷源的屏蔽功能,OCWl的內容被直接置入IMR屏蔽寄存器,編程要求寫入奇地址.其格式如圖所示
3.1OCW1格式3.2
優(yōu)先級循環(huán)方式和中斷結束方式操作命令字OCW2
OCW2有兩個功能:設置中斷結束方式和優(yōu)先級循環(huán)方式,要求寫入偶地址端口,其格式如圖所示。中斷結束方式:1.自動結束2.一般的結束方式
3.特殊的中斷結束方式優(yōu)先級方式:1.全嵌套2.特殊全嵌套
3.優(yōu)先級自動循環(huán)4.優(yōu)先級特殊循環(huán)OCW2
操作命令字OCW2D7(R):用于規(guī)定中斷優(yōu)先級是否設置為循環(huán)方式
D7=1,為優(yōu)先權循環(huán)方式;D7=0,為非循環(huán)方式D6(SL):用于規(guī)定OCW2中的L2L1L0是否有效
D6=l,表示D2~D0有效;D6=0,表示無效D5
(EOI),中斷結束命令位。如果ICW4中D1(AEOI)位為l,表示中斷采用自動結束方式。在中斷自動結束方式下,當CPU第2個負脈沖結束時,中斷服務寄存器ISR中相應位會自動清除,但如果AEOI為0,則ISRi位就要用EOI命令來消除。EOI命令是通過OCW2中的D5位設置的。
EOI=1:用于設置中斷結束方式
EOI=0:用于設置中斷優(yōu)先級循環(huán)方式
EOI=0R=1,SL=0寫入OCW2則使得8259A工作于優(yōu)先級自動循環(huán)方式
R=0,SL=0寫入OCW2則使得8259A結束自動循環(huán)方式
R=1,SL=1寫入OCW2則使得8259A工作于中斷特殊循環(huán)方式,最低優(yōu)先級由L2L1L0指定。設置優(yōu)先級循環(huán)EOI=1R=0,SL=0寫入OCW2即向8259A發(fā)送了一個
一般中斷結束命令(清空ISR中當前最高優(yōu)先級對應的ISi位)
R=0,SL=1寫入OCW2即向8259A發(fā)送了一個
特殊中斷結束命令
(清空ISR中L2L1L0指定的ISi位)
R=1,SL=0寫入OCW2使8259A工作于中斷優(yōu)先級
自動循環(huán)方式并且為一般中斷結束方式
R=1,SL=1寫入OCW2使8259A工作于中斷優(yōu)先級
特殊循環(huán)方式并且為一般中斷結束方式設置結束方式操作命令字OCW2
D4、D3,D4D3=00,OCW2的標志位
D2~D0(L2L1L0),有兩個用途:當OCW2給出特殊的中斷結束命令時,L2、L1和L0指出具體應清除中斷服務寄存器中的哪一位.當OCW2給出特殊的優(yōu)先級循環(huán)方式命令時,L2、L1和L0指出循環(huán)開始時哪個中斷的優(yōu)先級最低
操作命令字OCW2⒊特殊屏蔽方式和中斷查詢方式操作命令OCW3
有3個功能:設置和撤消特殊屏蔽方式設置中斷查詢方式設置讀出ISR或IRR寄存器的內容編程寫入偶地址屏蔽方式:1.普通屏蔽2.特殊屏蔽
操作命令OCW3
操作命令OCW3(1)設置屏蔽方式
ESMM稱為特殊屏蔽允許位,SMM稱為特殊屏蔽方式位,這兩位的組合決定是設置特殊屏蔽還是撤銷屏蔽當ESMM、SMM=11時,將8259A設置為特殊屏蔽方式,即只屏蔽本級中斷請求,允許高級的或低級的中斷申請進入
當ESMM、SMM=10時,撤消特殊屏蔽方式,恢復原來的優(yōu)先級控制當ESMM=0時,不能建立特殊屏蔽方式,SMM位也不起作用設D2、D1、D0這3位均為0,則設置的特殊屏蔽方式字OCW3=68H,撤消特殊屏蔽方式字OCW3=48H
OCW3的中斷查詢功能
OCW3的D2位即P位為中斷查詢方式位。當P=1時,使8259A處于中斷查詢方式,即CPU向8259A偶地址端口寫入一個查詢命令OCW3=0CH后,再執(zhí)行輸入指令(INAL偶地址),CPU便可讀入8259A提供的查詢字。查詢字反映了當前有無中斷請求,以及中斷請求中優(yōu)先級最高的是哪一個。8259A的查詢字格式如圖操作命令OCW3(2)設置中斷查詢功能操作命令OCW3(2)設置中斷查詢功能OCW3的讀操作功能
(P=0前提下)
8259A內部有3個寄存器(IRR、IMR、ISR)可供CPU讀出其當前的狀態(tài),CPU在發(fā)讀命令之前,須先指定讀取哪個寄存器,然后再發(fā)IN指令到偶地址,才能讀取IRR和ISR中的內容。當所讀的寄存器不變,就不必每次都指定所要讀取的寄存器。在8259A初始化后,自動指向讀IRR
操作命令OCW3(3)讀出寄存器內容
OCW3中的D1,D0兩位用來指定具體讀ISR和IRR中的哪一個寄存器
當RR、RIS=11時,表示CPU的下一條IN指令要讀取ISR寄存器的內容當RR、RIS=10時,表示CPU的下一條IN指令要讀IRR寄存器的內容
對IMR寄存器的讀出,不需要事先發(fā)出指定命令,直接通過讀奇地址端口就可以讀到IMR寄存器的內容操作命令OCW3(3)讀出寄存器內容初始化及操作命令字小結8259A內部有兩個地址(奇、偶)寫入奇數地址的控制字:ICW2、ICW3、ICW4、OCW1寫入偶數地址的控制字:ICW1、OCW2、OCW3ICW控制字寫入有固定的順序,OCW命令字寫入無固定順序CPU可以向8259A寫入ICW1-4,OCW1-3
可以從8259A讀出狀態(tài)查詢字、ISR、IRR、IMR4.命令字和狀態(tài)字的區(qū)別方法⑴利用讀寫信號區(qū)別寫入的控制寄存器和讀出的狀態(tài)寄存器⑵
利用地址信號區(qū)別不同I/O地址的寄存器⑶
由控制字中的標志位說明是哪個寄存器⑷由芯片內順序控制邏輯按一定順序識別不同的寄存器⑸由前面的控制字決定后續(xù)操作的寄存器A0RD*WR*CS*功能0100110000101010×110×××1寫入ICW1、OCW2和OCW3寫入ICW2~ICW4和OCW1讀出IRR、ISR和查詢字讀出IMR數據總線高阻狀態(tài)數據總線高阻狀態(tài)
應用舉例1、8259A在IBMPC機上的應用8259中斷控制器8088CPU日時鐘0鍵盤1保留2串口23串口14硬盤5軟盤6打印機7SPINTAD7~D0INTRPC/XT機中的中斷控制邏輯8259中斷
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《保單體檢服務》課件
- 2025屆四川省眉山一中辦學共同體重點中學高三第三次模擬考試英語試卷含解析
- 廣東省廣州市2025屆高三下學期一??荚嚁祵W試題含解析
- 2025屆河北省石家莊二中潤德學校高三適應性調研考試英語試題含解析
- 北京市首都師范大學附屬回龍觀育新學校2025屆高考沖刺數學模擬試題含解析
- 云南省楚雄州2025屆高三第四次模擬考試英語試卷含解析
- 上海市華東師大三附中2025屆高考數學三模試卷含解析
- 山西省長治市潞州區(qū)長治二中2025屆高三一診考試語文試卷含解析
- 河南省駐馬店2025屆高三第五次模擬考試英語試卷含解析
- 云南省江川第二中學2025屆高考適應性考試英語試卷含解析
- GB/T 4310-2016釩
- GB/T 3505-2009產品幾何技術規(guī)范(GPS)表面結構輪廓法術語、定義及表面結構參數
- GB/T 34542.3-2018氫氣儲存輸送系統(tǒng)第3部分:金屬材料氫脆敏感度試驗方法
- 陜2022TJ 067 廚衛(wèi)裝配式鋼絲網混凝土排氣道系統(tǒng)建筑構造圖集
- 智障學生期末評語
- 彭永新職業(yè)決策自我效能感
- 八十年代的散文創(chuàng)
- MBA《創(chuàng)新管理》課件
- 全新版大學進階英語第二冊-Unit-4-Study-Abroad課件
- 《靜女》、《涉江采芙蓉》、《鵲橋仙》聯(lián)讀課件20張-統(tǒng)編版高中語文必修上冊
- 國家開放大學英語(3)-期末參考答案
評論
0/150
提交評論