版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第八章微型計(jì)算機(jī)中斷系統(tǒng)
本章內(nèi)容
★8.1中斷概述
★8.28086的中斷處理過程★
8.3中斷優(yōu)先級(jí)和中斷嵌套
★8.4可編程中斷控制器8259A
★
8.5PC機(jī)中斷程序設(shè)計(jì)8.1中斷概述
一、中斷的引入
中斷與生活場(chǎng)景的比較正在看書電話鈴響接電話繼續(xù)看書執(zhí)行程序事件發(fā)生事件處理繼續(xù)執(zhí)行程序中斷處理中斷請(qǐng)求及響應(yīng)實(shí)際場(chǎng)景計(jì)算機(jī)中斷返回中斷的定義
CPU執(zhí)行程序時(shí),由于發(fā)生了某種隨機(jī)的事件(外部或內(nèi)部),引起CPU暫時(shí)中斷正在運(yùn)行的程序,轉(zhuǎn)去執(zhí)行一段特殊的服務(wù)程序(稱為中斷服務(wù)程序或中斷處理程序),以處理該事件,該事件處理完后又返回被中斷的程序繼續(xù)執(zhí)行,這一過程稱為中斷。
為何計(jì)算機(jī)中要引入中斷?
#
避免了CPU不斷檢測(cè)外設(shè)狀態(tài)的過程,提高了CPU的利率。
#
實(shí)現(xiàn)對(duì)特殊事件的實(shí)時(shí)響應(yīng)。如多任務(wù)操作系統(tǒng)中:缺頁中斷設(shè)備中斷各類異常實(shí)時(shí)鐘,。。。等二、
中斷的基本概念1、中斷源引起CPU中斷的事件。例如:▼外設(shè)——請(qǐng)求輸入輸出數(shù)據(jù),報(bào)告故障等▼
事件——掉電、硬件故障、軟件錯(cuò)誤、非法操作、定時(shí)時(shí)間到等中斷源分為:外部中斷、內(nèi)部中斷▼內(nèi)部中斷:由程序預(yù)先安排的中斷指令(INTn)
引起,或由運(yùn)算出錯(cuò)(如:除法出錯(cuò),溢出)引起。▼外部中斷:CPU以外的設(shè)備或協(xié)處理器向CPU發(fā)出的中斷。
內(nèi)部中斷外部中斷除法錯(cuò)中斷--類型號(hào)0單步中斷-----類型號(hào)1斷點(diǎn)中斷-----類型號(hào)3溢出中斷-------類型號(hào)4軟件中斷-----類型號(hào)n(0-255)非屏蔽中斷--類型號(hào)2可屏蔽中斷--類型號(hào)由PIC提供256個(gè)中斷源
8086/8088系統(tǒng)的中斷源
▼內(nèi)部中斷
★
除法溢出:類型號(hào)0,商大于目的操作數(shù)所能表達(dá)的范圍時(shí)產(chǎn)生。
★單步中斷:類型號(hào)1,TF=1時(shí)產(chǎn)生(當(dāng)前指令需執(zhí)行完)★
斷點(diǎn)中斷:類型號(hào)3,這是一個(gè)軟件中斷,即INT3指令?!镆绯鲋袛啵侯愋吞?hào)4,這是一個(gè)軟件中斷,即INTO指令。★軟件中斷:即INTn指令,類型號(hào)n(0-255)
▼外部中斷★非屏蔽中斷NMI:類型號(hào)2,不可用軟件屏蔽,CPU必須響應(yīng)它?!锟善帘沃袛郔NTR:類型號(hào)由PIC提供。IF=1時(shí)CPU才能響應(yīng)?!?086/8088的外部中斷信號(hào):INTR、NMI
INTR——可屏蔽中斷請(qǐng)求,高電平有效,受IF標(biāo)志的控制。IF=1時(shí),執(zhí)行完當(dāng)前指令后CPU對(duì)它作出響應(yīng)。NMI——非屏蔽中斷請(qǐng)求,上升沿有效,任何時(shí)候CPU都要響應(yīng)此中斷請(qǐng)求信號(hào)。2、中斷子程序
CPU響應(yīng)中斷源的申請(qǐng)后執(zhí)行的一段程序通常稱為中斷子程序,這個(gè)過程可以理解稱為CPU暫停正在執(zhí)行的程序轉(zhuǎn)向中斷源為其服務(wù)的過程,該過程如同各個(gè)政府用提前做預(yù)案來應(yīng)付突發(fā)事件一樣。3、中斷類型號(hào)
為了區(qū)別不同的中斷服務(wù)子程序,在微型計(jì)算機(jī)中給每個(gè)中斷服務(wù)子程序都編有一個(gè)唯一編號(hào),即中斷類型號(hào)。用戶自己編寫的中斷服務(wù)子程序也需要一個(gè)唯一的中斷類型號(hào)。有了中斷類型號(hào),當(dāng)用戶要調(diào)用某個(gè)中斷服務(wù)子程序時(shí),只需給出相應(yīng)的中斷類型號(hào)即可。例如Int10H,調(diào)用10H號(hào)中斷服務(wù)程序。4、中斷向量及中斷向量表
每一個(gè)中斷都對(duì)應(yīng)了一個(gè)中斷服務(wù)子程序,CPU要執(zhí)行中斷服務(wù)子程序就必須知道該子程序的地址,即該子程序第一條指令的地址,這個(gè)地址也就是中斷服務(wù)子程序的入口地址,稱為該中斷服務(wù)程序的中斷向量或中斷矢量。中斷矢量表分為三部分:(1)專用中斷:類型0~類型4,共有5種類型。專用中斷的中斷服務(wù)程序的入口地址由系統(tǒng)負(fù)責(zé)裝入,用戶不能隨意修改。(2)備用中斷:類型5~類型3FH,這是Intel公司為軟、硬件開發(fā)保留的中斷類型,一般不允許用戶改作其他用途,是為系統(tǒng)預(yù)留的中斷。
(3)用戶中斷:類型40H~類型FFH,為用戶可用中斷,其中斷服務(wù)程序的入口地址由用戶程序負(fù)責(zé)裝入。
8086CPU可管理256種中斷。每種中斷都指定一個(gè)中斷矢量號(hào)(類型號(hào)),每一種中斷矢量號(hào)都與一個(gè)中斷源相對(duì)應(yīng)。中斷服務(wù)程序的入口地址存放在內(nèi)存儲(chǔ)器的中斷矢量表內(nèi)。8086以中斷矢量號(hào)為索引號(hào),從中斷矢量表中取得中斷服務(wù)程序的入口地址。每個(gè)中斷矢量(入口地址)占4個(gè)字節(jié),高2字節(jié)放段地址,低2字節(jié)放偏移地址。存放中斷矢量的地址=類型號(hào)nx4,
[4n+1,4n]IP[4n+3,4n+2]CS
即可轉(zhuǎn)入中斷服務(wù)程序。
空單元中斷矢量表區(qū)003FFH
00000H
(=1K)40H×4=100H15
00
00
20
┇2000:(CS:
┇ΩΩ
假設(shè)cpu從外設(shè)讀得的中斷類型碼N=40H,CPU將N×4=100H.100H就是中斷矢量表的首地址。假定在100H
為首地址的4個(gè)單元中,低地址的2個(gè)字節(jié)中已放入1500H,高地址的2個(gè)字節(jié)中已放入2000H.這就是說中斷服務(wù)程序入口地址,它的代碼段段地址=2000H,它的偏移地址=1500H。CPU把低地址一個(gè)字取出送入指令指針I(yè)P,把高地址一個(gè)字取出送入代碼段寄存器CS,程序就轉(zhuǎn)入邏輯地址為2000:1500H的入口去執(zhí)行中斷服務(wù)程序。中斷服務(wù)程序從這里開始!1500IP)返回目錄
8.28086的中斷處理過程
一、中斷請(qǐng)求外設(shè)接口(中斷源)發(fā)出中斷請(qǐng)求信號(hào),送到CPU的INTR或NMI引腳;中斷請(qǐng)求信號(hào):邊沿請(qǐng)求,電平請(qǐng)求 例如,NMI為邊沿請(qǐng)求,INTR為電平請(qǐng)求中斷請(qǐng)求信號(hào)應(yīng)保持到中斷被處理為止;CPU響應(yīng)中斷后,中斷請(qǐng)求信號(hào)應(yīng)及時(shí)撤銷。在8086/8088系統(tǒng)中,外設(shè)的中斷要經(jīng)過8259A可編程中斷控制器(PIC)的排隊(duì)判優(yōu)后向CPU發(fā)出:
(I/O接口)
→PIC→CPU二、中斷響應(yīng)對(duì)非屏蔽中斷(即從NMI腳來的申請(qǐng)),CPU執(zhí)行完當(dāng)前指令后若無總線請(qǐng)求即予以響應(yīng);對(duì)可屏蔽中斷(從INTR腳來的申請(qǐng)),CPU必須在以下四個(gè)條件同時(shí)被滿足時(shí)才能響應(yīng):
①
無總線請(qǐng)求。系統(tǒng)中若有其他總線設(shè)備,例如別的微處理器或DMA控制器,它們必須沒有發(fā)出總線請(qǐng)求信號(hào);
②
無非屏蔽中斷請(qǐng)求;
③ CPU允許中斷。即CPU內(nèi)部的中斷允許寄存器置1。對(duì)8086/8088來說,IF=1;
④ CPU執(zhí)行完現(xiàn)行指令。CPU在響應(yīng)中斷后,在進(jìn)入中斷處理之前還要自動(dòng)完成3項(xiàng)工作。
①
將CS、IP以及標(biāo)志寄存器的內(nèi)容壓入堆棧;
②
關(guān)閉中斷;
③
轉(zhuǎn)入中斷服務(wù)程序進(jìn)行中斷處理。這就是將中斷服務(wù)程序的段地址送CS,偏移地址送IP。三、中斷處理1.保護(hù)現(xiàn)場(chǎng)CPU響應(yīng)中斷時(shí)自動(dòng)保護(hù)了CS、IP和F1ag寄存器。在中斷服務(wù)程序中會(huì)用到另一些寄存器,為了保證中斷返回后主程序能繼續(xù)正確執(zhí)行,必須把這些寄存器內(nèi)容壓入堆棧保護(hù)起來,稱為保護(hù)現(xiàn)場(chǎng)。2.如允許中斷嵌套需打開中斷CPU在響應(yīng)中斷時(shí)已自動(dòng)關(guān)閉中斷,不允許其他的中斷來打斷它。如果允許比它優(yōu)先權(quán)更高的中斷來打斷,則需要用STI指令打開中斷。若沒有更高級(jí)別的中斷,則無此必要。3.中斷服務(wù)執(zhí)行中斷服務(wù)程序。若在中斷處理過程中曾開中斷,則此時(shí)要關(guān)中斷。關(guān)中斷的目的是讓恢復(fù)現(xiàn)場(chǎng)的工作順利進(jìn)行而不被中斷。4.恢復(fù)現(xiàn)場(chǎng)在中斷返回前要把保護(hù)現(xiàn)場(chǎng)時(shí)壓入堆棧的寄存器內(nèi)容恢復(fù)。恢復(fù)現(xiàn)場(chǎng)用POP指令。需要注意的是,彈出的順序應(yīng)與壓入的順序相反。5.中斷返回執(zhí)行中斷返回指令I(lǐng)RETIRET指令將使CPU把堆棧內(nèi)保存的斷點(diǎn)信息彈出到IP、CS和FLAG中,保證被中斷的程序從斷點(diǎn)處能夠繼續(xù)往下執(zhí)行。IPLIPHCSLCSHFLAGLFLAGHSPIPLIPHCSLCSHFLAGLFLAGHSPIPCSFLAG進(jìn)入中斷服務(wù)程序時(shí)中斷返回后返回目錄8.3中斷優(yōu)先級(jí)和中斷嵌套一、中斷優(yōu)先級(jí)概述多個(gè)中斷源產(chǎn)生中斷,CPU首先為誰服務(wù)?
——中斷優(yōu)先級(jí)排隊(duì)問題。中斷優(yōu)先級(jí)控制要處理兩種情況:對(duì)同時(shí)產(chǎn)生的中斷:應(yīng)首先處理優(yōu)先級(jí)別較高的中斷;若優(yōu)先級(jí)別相同,則按先來先服務(wù)的原則處理;對(duì)非同時(shí)產(chǎn)生的中斷:低優(yōu)先級(jí)別的中斷處理程序允許被高優(yōu)先級(jí)別的中斷源所中斷——即允許中斷嵌套。中斷優(yōu)先級(jí)的控制方法硬件判優(yōu)——鏈?zhǔn)脚袃?yōu)、并行判優(yōu)(中斷向量法)軟件判優(yōu)——順序查詢中斷請(qǐng)求,先查詢的先服務(wù)(即先查詢的優(yōu)先級(jí)別高)通常將中斷判優(yōu)與中斷源識(shí)別合并在一起進(jìn)行處理。80x86系統(tǒng)中,這項(xiàng)任務(wù)由PIC和CPU共同完成。二、用軟件查詢方法確定中斷優(yōu)先權(quán)
采用軟件查詢中斷方式時(shí),中斷優(yōu)先權(quán)由查詢順序決定,先查詢的中斷源具有最高的優(yōu)先權(quán)。INTR中斷入口保護(hù)現(xiàn)場(chǎng),讀中斷位狀態(tài)是A設(shè)備?設(shè)備A的中斷服務(wù)程序是B設(shè)備?設(shè)備B的中斷服務(wù)程序是C設(shè)備?設(shè)備C的中斷服務(wù)程序YYYNN錯(cuò)誤出口N恢復(fù)現(xiàn)場(chǎng)、中斷返回優(yōu)點(diǎn):電路簡(jiǎn)單。軟件查詢的順序就是中斷優(yōu)先權(quán)的順序,不需要專門的優(yōu)先權(quán)排隊(duì)電路,可以直接修改軟件查詢順序來修改中斷優(yōu)先權(quán),不必更改硬件。缺點(diǎn):當(dāng)中斷源個(gè)數(shù)較多時(shí),由逐位檢測(cè)查詢到轉(zhuǎn)入相應(yīng)的中斷服務(wù)程序所耗費(fèi)的時(shí)間較長(zhǎng),中斷響應(yīng)速度慢,服務(wù)效率低。三、硬件優(yōu)先權(quán)排隊(duì)電路
硬件優(yōu)先權(quán)排隊(duì)電路又稱菊花環(huán)式優(yōu)先權(quán)排隊(duì)電路。它是利用外設(shè)連接在排隊(duì)電路的物理位置來決定其中斷優(yōu)先權(quán)的,排在最前面的優(yōu)先權(quán)最高,排在最后面的優(yōu)先權(quán)最低。INTAinCPUINTAINTR外設(shè)1外設(shè)2外設(shè)接口1菊花鏈邏輯電路外設(shè)接口2外設(shè)3外設(shè)接口3≥1菊花鏈邏輯電路菊花鏈邏輯電路┇I(xiàn)REQIREQIREQ中斷確認(rèn)鏈?zhǔn)脚袃?yōu)電路原理圖--菊花鏈法
INTAinINTAin中斷確認(rèn)中斷確認(rèn)菊花鏈邏輯電路原理說明:⑴
當(dāng)任一外設(shè)申請(qǐng)中斷后,中斷請(qǐng)求IREQ送到CPU的INTR端,CPU發(fā)出INTA中斷響應(yīng)。⑵當(dāng)前一組外設(shè)沒有發(fā)出中斷申請(qǐng)時(shí),INTA會(huì)沿著菊花鏈往后傳。當(dāng)某一級(jí)外設(shè)發(fā)出了中斷申請(qǐng)時(shí),此級(jí)的邏輯電路就阻塞了INTA的通路。⑶此級(jí)的外設(shè)接口收到INTA后,向總線發(fā)出中斷類型號(hào),撤銷中斷請(qǐng)求IREQ,從而CPU轉(zhuǎn)入相應(yīng)中斷服務(wù)程序
。菊花鏈邏輯電路INTAinIREQINTR&=1
≥1INTAoutDB三態(tài)門中斷向量碼E外設(shè)接口中斷確認(rèn)菊花鏈邏輯電路⑵當(dāng)前一組外設(shè)沒有發(fā)出中斷申請(qǐng)時(shí),INTA會(huì)沿著菊花鏈往后傳。當(dāng)某一級(jí)外設(shè)發(fā)出了中斷申請(qǐng)時(shí),此級(jí)的邏輯電路就阻塞了INTA的通路。⑶此級(jí)的外設(shè)接口收到INTA后,向總線發(fā)出中斷類型號(hào),撤銷中斷請(qǐng)IREQ,從而CPU轉(zhuǎn)入相應(yīng)中斷服務(wù)程序
。
四、中斷嵌套優(yōu)先權(quán)高的中斷首先得到響應(yīng),并且可以中斷正在被響應(yīng)處理的優(yōu)先權(quán)低的中斷,這種一個(gè)中斷服務(wù)程序在執(zhí)行過程中又被另一個(gè)中斷服務(wù)程序中斷的現(xiàn)象稱為中斷嵌套五、中斷響應(yīng)時(shí)序CPU對(duì)可屏蔽中斷請(qǐng)求的響應(yīng)過程要執(zhí)行兩個(gè)連續(xù)的中斷響應(yīng)
總線周期,每個(gè)周期包括4個(gè)時(shí)鐘周期T1~T4。第一個(gè)周期通知外設(shè)CPU接收到中斷請(qǐng)求信號(hào),準(zhǔn)備響應(yīng)中斷,外設(shè)要把對(duì)應(yīng)的中斷類型號(hào)準(zhǔn)備好;第二個(gè)周期CPU接受外設(shè)的中斷類型號(hào)。第一個(gè)INTA中斷響應(yīng)周期:T1狀態(tài)開始,地址/數(shù)據(jù)總線置于浮空狀態(tài);LOCKT2,T3狀態(tài):發(fā)出中斷響應(yīng)信號(hào)INTA給8259A,通知外設(shè)準(zhǔn)備好中斷類型號(hào);在最大模式時(shí),LOCK有效,禁止其它總線控制器的總線請(qǐng)求。第二個(gè)INTA中斷響應(yīng)周期:
8259A在T2,T3狀態(tài),將一個(gè)字節(jié)的中斷類型N送到數(shù)據(jù)總線低8位,CPU讀入后,N×4得到中斷矢量表地址,繼而找到服務(wù)程序的入口地址。返回目錄8.4可編程中斷控制器8259A由于CPU只有一個(gè)可屏蔽中斷引腳,一次只能連接一個(gè)中斷源,當(dāng)需要同時(shí)連接多個(gè)中斷源時(shí)就需要一個(gè)中斷控制器。中斷控制器的功能就是連接多個(gè)中斷源,當(dāng)有多個(gè)中斷源提出中斷請(qǐng)求時(shí),進(jìn)行優(yōu)先級(jí)判別,決定響應(yīng)哪一個(gè)中斷源,并將選出的中斷類型號(hào)送CPU進(jìn)行處理。可編程中斷控制器Intel8259A是微型計(jì)算機(jī)中常用的一種中斷控制器芯片,其主要功能:記錄各級(jí)中斷源的中斷請(qǐng)求。判優(yōu),確定是否響應(yīng)中斷請(qǐng)求和響應(yīng)哪一級(jí)中斷請(qǐng)求。響應(yīng)中斷時(shí)向CPU傳送中斷類型號(hào)。NMIINTR中斷邏輯軟件中斷指令溢出中斷除法錯(cuò)單步中斷非屏蔽中斷請(qǐng)求中斷控制器8259APIC8086/8088CPU內(nèi)部邏輯斷點(diǎn)中斷可屏蔽中斷請(qǐng)求n430128~15一、功能和引腳
▼主要功能:
◆
據(jù)有8級(jí)優(yōu)先級(jí)控制,通過級(jí)聯(lián)可擴(kuò)展到64級(jí)優(yōu)先級(jí)控制。
◆
每一級(jí)中斷可由程序單獨(dú)屏蔽或允許。
◆
根據(jù)中斷源向80x86提供不同中斷類型碼
◆
可編程設(shè)置不同工作方式◆A0:選擇8259A的2個(gè)端口,輸入,連低位地址線?!鬒NTA:CPU給8259A的中斷響應(yīng)信號(hào),輸入。8259A要求2個(gè)負(fù)脈沖的中斷響應(yīng)信號(hào),第一個(gè)是CPU響應(yīng)中斷的信號(hào),8259A響應(yīng)第二個(gè)INTA,在T3、T4把1個(gè)字節(jié)的中斷類型號(hào)n送到DB的低8位?!鬒R7~IR0:外設(shè)中斷請(qǐng)求,輸入,可以是電平觸發(fā)或邊沿觸發(fā)?!鬒NT:向CPU發(fā)出的中斷請(qǐng)求信號(hào),輸出,與CPU的INTR相連。◆CAS2~CAS0:雙向級(jí)聯(lián)信號(hào)。8259A作主片時(shí),為輸出;作從片時(shí)為輸入。與SP/EN配合實(shí)現(xiàn)級(jí)聯(lián)?!鬝P/EN:編程/雙向使能緩沖。作輸入時(shí),SP/EN=1,為主片;SP/EN=0,為從片。作輸出時(shí),啟動(dòng)8259A到CPU之間的數(shù)據(jù)總線驅(qū)動(dòng)器。二、8259A的內(nèi)部結(jié)構(gòu)(PR)☆中斷請(qǐng)求寄存器IRR
IRR是一個(gè)8位寄存器,保存從IR0~I(xiàn)R7來的中斷請(qǐng)求信號(hào),某位=1,表示Iri有中斷請(qǐng)求。中斷請(qǐng)求被響應(yīng)時(shí),IRR相應(yīng)位復(fù)位?!钪袛喾?wù)寄存器ISR
保存所有正在服務(wù)的中斷源,某位=1表示對(duì)應(yīng)的IRi中斷正在被服務(wù)。CPU發(fā)出第一個(gè)INTA時(shí),相應(yīng)位置‘1’,一直保持到該級(jí)中斷處理結(jié)束?!钪袛嗥帘渭拇嫫鱅MR存放中斷屏蔽字。編程使某位=1,表示IRR寄存器對(duì)應(yīng)位的中斷請(qǐng)求被屏蔽;編程使某位=0,則允許IRR寄存器對(duì)應(yīng)位的中斷請(qǐng)求進(jìn)入優(yōu)先級(jí)
判別器。
☆中斷優(yōu)先權(quán)判別電路
PR
確定保存在IRR中的中斷申請(qǐng)的優(yōu)先級(jí)別,送出最高優(yōu)先級(jí)中斷請(qǐng)求到ISR。當(dāng)出現(xiàn)多重中斷時(shí),PR判定是否允許所出現(xiàn)的中斷去打斷正在處理的中斷,讓優(yōu)先級(jí)更高的中斷優(yōu)先處理。☆控制電路
向8259A內(nèi)部部件發(fā)出控制信號(hào),并向CPU發(fā)出中斷請(qǐng)求信號(hào)INT,接受CPU的中斷響應(yīng)信號(hào)INTA.8259A接收到CPU的第一個(gè)INTA后,使ISRi置‘1’,IRRi置‘0’,當(dāng)?shù)诙€(gè)INTA到來,控制8259A送出中斷類型號(hào)。如果方式控制字ICW4的AEOI=1,則第二個(gè)INTA結(jié)束時(shí),ISRi清零。☆讀寫控制電路
PC/XT機(jī)中A9~
A1譯碼產(chǎn)生CS,8259A只取2個(gè)端口編程使用:20H(A0=0),21H(A0=1).8088的A0連接8259A的A0。而8086的A1連接8259A的A0,8086的A0=0,這樣對(duì)于CPU來說,A0=0,A1可以為“1”也可為“0”,保證了CPU讀寫始終是偶地址,用偶地址(即低8位數(shù)據(jù)線)傳送數(shù)據(jù)。
。對(duì)8259A來說,A0可以為“1”也可為“0”,給8259A分配2個(gè)端口地址,一個(gè)偶地址,一個(gè)奇地址,符合8259A編程要求。二、8259A的內(nèi)部結(jié)構(gòu)(PR)☆級(jí)聯(lián)緩沖/比較器(1)緩沖方式:在緩沖方式下,SP/EN端與總線驅(qū)動(dòng)器的允許端相連,控制總線驅(qū)動(dòng)器的數(shù)據(jù)方向。SP/EN作為輸出端。當(dāng)EN=0時(shí),數(shù)據(jù)方向是:8259A?
CPU,當(dāng)EN=1時(shí),數(shù)據(jù)方向是:8259A←
CPU.(2)非緩沖方式:在非緩沖方式下,8259A直接與數(shù)據(jù)總線相連,SP/EN作為輸入端,在級(jí)連時(shí)控制8259A作為主片還是從片,SP=1,表示8259A為主片,SP=0,表示8259A為從片。(3)比較器:級(jí)聯(lián)時(shí),主片的CAS2~
CAS0作為輸出,從片的CAS2~
CAS0作為輸入,二者相連。關(guān)于主片級(jí)聯(lián)地址與從片級(jí)聯(lián)地址的比較,在“8259A的中斷級(jí)聯(lián)”一節(jié)講述。ISR及ISR編碼
PRIR1111①假設(shè)中斷請(qǐng)求IR0,IR1,IR7送入中斷請(qǐng)求寄存器,IRR相應(yīng)位被置‘1’,申請(qǐng)中斷。②假如已對(duì)屏蔽寄存器編程,使D7=1,其余位=0。這樣連接IR7的與門被關(guān)閉。00000001③IR7的中斷申請(qǐng)被屏蔽掉。而IR0,IR1的中斷申請(qǐng)被激活,送到中斷優(yōu)先級(jí)判別器PR.④優(yōu)先級(jí)判別器PR找出最高優(yōu)先級(jí)的中斷申請(qǐng)IR0,將其中斷級(jí)轉(zhuǎn)換成三位碼(111)送到比較器和中斷服務(wù)寄存器ISR.⑤如果這時(shí)沒有中斷服務(wù)正在執(zhí)行,優(yōu)先級(jí)控制器就向CPU發(fā)出中斷請(qǐng)求信號(hào)INT。⑥假如這時(shí)正在執(zhí)行IR3中斷服務(wù)程序。由于IR0優(yōu)先級(jí)編碼>IR3優(yōu)先級(jí)編碼,
允許IR0的中斷打斷正在處理的IR3中斷而得到服務(wù)。⑦中斷請(qǐng)求被響應(yīng),CPU發(fā)出第一個(gè)INTA時(shí),ISR0被置‘1’,IRR0被清‘0’。111100ISR01⑧如果是多重中斷,ISR多位被置‘1’。ISR310INT8259A內(nèi)部寄存器的尋址方法CS#RD#WR#A0D4D3讀寫操作010000寫OCW2寫OCW3寫ICW1寫ICW2,ICW3,ICW4,OCW1(順序?qū)懭?00101x1xx00101xx讀出IRR、ISR讀出IMR需要CS、A0、RD、WR和D4、D3的配合內(nèi)部寄存器的訪問方法如下表:
三、8259A的中斷管理方式1.8259A的編程結(jié)構(gòu)初始化命令字寫入寄存器ICW1~I(xiàn)CW4,一經(jīng)設(shè)定,在系統(tǒng)運(yùn)行中不再改變;操作命令字寫入寄存器OCW1~OCW3,由應(yīng)用程序設(shè)定。用設(shè)定以上寄存器來管理8259A的中斷方式。2.優(yōu)先級(jí)設(shè)置方式(1)完全嵌套方式
8259A初始化后,自動(dòng)進(jìn)入完全嵌套方式:
◆
優(yōu)先級(jí)分配固定級(jí)別,順序從高到低為IR0~I(xiàn)R7。
◆某一中斷正被處理時(shí),只有更高優(yōu)先級(jí)的事件可以打斷當(dāng)前正在處理的中斷過程而被服務(wù)。
▲用初始化命令字ICW4的(D4)SNFM=0,將8259A置于完全嵌套方式.主8259AIR0IR1IR2IR3IR4IR5IR6IR7一般嵌套方式:從片的INT被主片封鎖,故更高級(jí)別的IR0-IR2中斷也無法得到響應(yīng)C.假定此處發(fā)生中斷,并獲得服務(wù)(接IR3)一般嵌套方式:IR4的中斷被服務(wù)時(shí),這些中斷將被封鎖。B.A.INT從8259AINTIR0IR1IR2IR3IR4IR5IR6IR7去CPU(主IR4連從INT)(2)特殊全嵌套方式什么是特殊全嵌套方式昵?為什么要設(shè)置特殊全嵌套方式昵?請(qǐng)看!?一般全嵌套方式:級(jí)聯(lián)時(shí),從片8259A上有中斷申請(qǐng)進(jìn)入并正在處理時(shí),同一從片上又進(jìn)入更高優(yōu)先級(jí)中斷請(qǐng)求,但對(duì)主片8259A來說是同級(jí)中斷申請(qǐng)。所以不能得到服務(wù)?當(dāng)主片設(shè)置為特殊全嵌套方式時(shí),就能對(duì)來自從片的同級(jí)中斷申請(qǐng)開放,從而實(shí)現(xiàn)了同級(jí)中斷請(qǐng)求的特殊嵌套。
?設(shè)置方法:初始化主片的ICW4的(D4)SFNM=1,AEOI=0
?特殊全嵌套僅用于多個(gè)8259A級(jí)連時(shí)的主片8259A,而不能用于從屬8259A或單片8259A系統(tǒng)。
注意!D.主8259AIR0IR1IR2IR3IR4IR5IR6IR7一般嵌套方式:從片的INT被主片封鎖,故更高級(jí)別的IR0-IR2中斷也無法得到響應(yīng)特殊嵌套方式:因主片不封鎖從片的INT,故級(jí)別高的IR0-IR2中斷可以得到響應(yīng)。(但I(xiàn)R3-IR7仍被本從片封鎖)C.假定此處發(fā)生中斷,并獲得服務(wù)(接IR3)一般嵌套方式:IR4的中斷被服務(wù)時(shí),這些中斷將被封鎖。B.特殊嵌套方式:IR4的中斷被服務(wù)時(shí),只封鎖IR5-IR7。A.INTE.從8259AINTIR0IR1IR2IR3IR4IR5IR6IR7(主IR4連從INT)去CPU(三)優(yōu)先級(jí)自動(dòng)循環(huán)方式◆
加電后8259A的默認(rèn)優(yōu)先級(jí)順序從高到低為IR0~I(xiàn)R7◆中斷源輪流處于最高優(yōu)先級(jí),即自動(dòng)中斷優(yōu)先級(jí)循環(huán)◆
某中斷請(qǐng)求IRi被處理后,其優(yōu)先級(jí)別自動(dòng)降為最低,原來比它低一級(jí)的中斷上升為最高級(jí)
◆
設(shè)置方法:操作命令字OCW2的R、SL=10?
優(yōu)先級(jí)自動(dòng)循環(huán)方式,適合于多中斷源優(yōu)先級(jí)相等的場(chǎng)合IR7IR6IR5IR4IR3IR2IR1IR07654321021076543最低級(jí)最高級(jí)最高級(jí)最低級(jí)ISR內(nèi)容IR7IR6IR5IR4IR3IR2IR1IR0IR4的服務(wù)結(jié)束以前0101000001000000IR4的服務(wù)結(jié)束以后ISRi(四)優(yōu)先級(jí)特殊循環(huán)方式
◆優(yōu)先級(jí)排列順序可編程改變◆最低優(yōu)先級(jí)由程序規(guī)定,如設(shè)定IR3位最低,那末,比它低一級(jí)的IR4為最高,其他順序依次類推?!粼O(shè)置方法:操作命令字OCW2的R、SL=11IR7IR6IR5IR4IR3IR2IR1IR07654321032107654最低級(jí)最高級(jí)最高級(jí)最低級(jí)優(yōu)先級(jí)IR7IR6IR5IR4IR3IR2IR1IR0默認(rèn)優(yōu)先級(jí)優(yōu)先級(jí)可編程改變3.中斷結(jié)束方式當(dāng)某一IRi中斷被服務(wù)時(shí),ISR中的相應(yīng)位ISRi=1。當(dāng)服務(wù)結(jié)束后,則必須清零該ISRi位。CPU向8259A發(fā)出中斷結(jié)束命令(EOI命令)使ISRi=0。三種EOI命令■普通EOI方式(NSEOI)■
特殊EOI方式(SEOI)——(指定EOI
)■
自動(dòng)EOI(AEOI)
■普通EOI方式(NSEOI)由CPU發(fā)出正常EOI命令,該EOI命令使ISRi=1的位中優(yōu)先級(jí)最高的那一位復(fù)位。用于普通全嵌套方式。必須放在
IRET之前設(shè)置方法:OCW2的EOI位=1,即R、SL、EOI=001,往偶地址送OCW2操作命令字。PC/XT機(jī):發(fā)EOI指令為:
MOVAL,20HMOV20H,AL;8259A端口:20H,21■
特殊EOI方式(SEOI)
由CPU發(fā)出一條SEOI命令,該EOI命令中指出了所要復(fù)位的ISR的位號(hào)。
用于特殊屏蔽方式設(shè)置方法:OCW2的R、SL、EOI=011,L2~
L1是ISR的位號(hào)。
■
自動(dòng)EOI(AEOI)◆
在第2個(gè)INTA結(jié)束時(shí),由8259A使
ISRi自動(dòng)復(fù)位?!粢虿槐A舢?dāng)前正在服務(wù)的中斷的狀態(tài),故AEOI不能用于中斷嵌套方式?!粼O(shè)置方法:初始化ICW4的AEOI=1。
中斷服務(wù)程序┇向從PIC發(fā)EOI命令讀從PIC的ISR全0?向主PIC發(fā)EOI命令YIRET恢復(fù)現(xiàn)場(chǎng)N特殊全嵌套方式下的EOI處理:只有當(dāng)從PIC的中斷全部處理完后,才能向主PIC發(fā)EOI命令特殊全嵌套中斷服務(wù)程序結(jié)束時(shí),先向從片發(fā)一個(gè)中斷結(jié)束EOI,清除ISR位;然后讀出ISR,檢查它是否為0,若為0,則向主片發(fā)一個(gè)EOI命令,清除與從片對(duì)應(yīng)的ISR位,如果從片ISR≠0,則不向主片發(fā)EOI命令。4.中斷源屏蔽方式
普通屏蔽方式
☆
IMR屏蔽字決定了允許或禁止某位IRi所對(duì)應(yīng)的中斷:IMi=1禁止,
IMi=0允許。
☆設(shè)置方法:往奇地址送OCW1操作命令字。例屏蔽2、3、5、6位的中斷請(qǐng)求,pc/xt的8259A端口地址為20H,21H。
MOVAL,01101100BMOV21H,AL特殊屏蔽方式:提供了允許較低優(yōu)先級(jí)的中斷能夠得到響應(yīng)的特殊手段。原理:假定當(dāng)前正在處理IR3,先進(jìn)入特殊屏蔽方式,然后設(shè)置IM3=1。這時(shí),除IR3外的所有中斷請(qǐng)求均能得到響應(yīng)。設(shè)置方法:設(shè)置操作命令字OCW3的ESMM、SMM=11特殊屏蔽方式中只能用SEOI命令結(jié)束中斷。特殊屏蔽例:
┇;IR4中斷處理程序
CLI;關(guān)中斷
MOVAL,68H;OCW3:01101000 OUT0C0H,AL;設(shè)置特殊屏蔽方式
INAL,0C1H ORAL,10H;屏蔽IR4 OUT0C1H,AL STI;開中斷┇;IR7請(qǐng)求,響應(yīng),返回
┇
CLI;為設(shè)命令字
INAL,0C1H;讀出屏蔽字
ANDAL,0EFH;清除IMR4 OUT0C1H,AL MOVAL,48H;OCW3:01001000 OUT0C0H,AL;取消特殊屏蔽
STI
┇
;繼續(xù)IR4中斷服務(wù)
MOVAL,20H;OCW2:00100000(EOI) OUT0C0H,AL
IRET
5.中斷請(qǐng)求引入方式邊沿觸發(fā)IRi出現(xiàn)上升沿表示有中斷請(qǐng)求
,可以一直保持高電平電平觸發(fā)IRi出現(xiàn)高電平表示有中斷請(qǐng)求,在第1個(gè)INTA結(jié)束前,IRi必須保持高電平,中斷響應(yīng)后必須撤出高電平。設(shè)置方法:初始化ICW1的LTIM,:LTIM=1,電平觸發(fā)
LTIM=0,邊沿觸發(fā)查詢方式(請(qǐng)閱讀四、2(3)8259A中斷查詢方式編程方法)
四、8259A的編程方法CS#RD#WR#A0D4D3讀寫操作010000寫OCW2寫OCW3寫ICW1寫ICW2,ICW3,ICW4,OCW1(順序?qū)懭?00101x1xx00101xx讀出IRR、ISR讀出IMR8259A內(nèi)部寄存器的尋址方法(需要CS、A0、RD、WR和D4、D3的配合)
8259A的控制命令分為初始化命令字
ICW1~I(xiàn)CW4操作命令字
OCW1~OCW38259A的初始化順序
8259的初始化流程
寫ICW1寫ICW2級(jí)連?寫ICW3需ICW4?寫ICW4NNYY1.初始化命令字注意次序不可顛倒!初始化8259A必須從ICW1開始寫ICW1意味著重新初始化8259A寫入ICW1后,8259A的狀態(tài)如下:清除ISR和IMR(全0);將中斷優(yōu)先級(jí)設(shè)成初始狀態(tài):IR0最高,IR7最低;設(shè)定為一般屏蔽方式;采用非自動(dòng)中斷結(jié)束方式;狀態(tài)讀出邏輯預(yù)置為讀IRR。(1)ICW1-芯片控制初始化命令字ICW1——初始化字■
LTIM:觸發(fā)方式=1高電平觸發(fā)=0上升沿觸發(fā)■
SNGL:級(jí)連控制=1單片=0級(jí)連■
IC4:ICW4控制=1需要設(shè)置ICW4=0不需要設(shè)置ICW4(默認(rèn)ICW4為全0)A0 D7 D6 D5 D4 D3 D2 D1 D0
0 x
x
x 1LTIM xSNGL IC4■
偶地址
■
標(biāo)致位:區(qū)別OCW1,OCW2的設(shè)置 (2)ICW2——中斷向量碼A0 D7 D6 D5 D4 D3 D2 D1 D0
1 T7T6 T5 T4 T3
0
0
0奇地址▼T7~T3:中斷向量碼的高5位,由用戶設(shè)定▼最低3位為‘0’,是中斷類型號(hào)基值,對(duì)應(yīng)IR0;000~111分別對(duì)應(yīng)IR0~I(xiàn)R7,由8259A根據(jù)中斷源的序號(hào)自動(dòng)填入
例如:若ICW2命令字為48H,則IR0的中斷向量碼為48H,IR7的中斷向量碼為4FH,等等。
1對(duì)應(yīng)IRi線上連接了從片Si=
0對(duì)應(yīng)IRi線上未接從片
◆ID2~I(xiàn)D0
標(biāo)識(shí)碼,說明本從片連接到主片的哪個(gè)IR引腳上。000~111分別對(duì)應(yīng)IR0~I(xiàn)R7。
A0 D7 D6 D5 D4 D3 D2 D1 D0
1 00 0 0 0
ID2 ID1 ID0■
主片
(3)ICW3—級(jí)聯(lián)主片/從片初始化命令字
ICW3在級(jí)聯(lián)時(shí)(ICW1的SNGL=0)才設(shè)置
A0 D7 D6 D5 D4 D3 D2 D1 D0
1 S7S6 S5 S4 S3
S2
S1S0■
從片奇地址奇地址◆
CPU發(fā)出第一個(gè)中斷響應(yīng)INTA時(shí),主片通過級(jí)聯(lián)線CAS2-CAS0送出被允許中斷的從片標(biāo)識(shí)碼ID2~
ID0,各從片與自己ICW3中的ID2~
ID0比較,二者一致的從片在第二個(gè)INTA到來后,將自己的中斷向量碼送上數(shù)據(jù)總線。
例.8259A主片的IR0、IR7端連兩個(gè)從片8259A,編寫初始化命令字。
初始化命令字如下:
主片:
MOVAL,81HMOV21H,AL;主片端口地址20H,21H
從片1:
MOVAL,00HMOVA1H,AL;從片1端口地址A0H,A1H
從片2:
MOVAL,07HMOVB1H,AL;從片2端口地址B0H,B1HAEOI:自動(dòng)EOI1自動(dòng)EOI方式0非自動(dòng)EOI方式BUF:緩沖方式
M/S:主/從緩沖選擇BUFM/S11緩沖方式/主PIC10緩沖方式/從PIC0x非緩沖方式(4)ICW4——中斷結(jié)束方式字
A0 D7 D6 D5D4 D3 D2 D1 D0
1 00 0SFNM BUF M/SAEOI 1
8088/8086配置SFNM:全嵌套方式1特殊全嵌套方式0一般全嵌套方式寫ICW1寫ICW2SNGL=1?寫ICW3ICW4=1?寫ICW4YNNYA0=0(20H)
A0=1(21H)
A0=1(21H)A0=
1(21H)例.IBMPC/XT系統(tǒng)中,ROMBIOS中8259A的初始化程序?yàn)?
MOVAL,13H;單片,上升沿觸發(fā)
OUT20H,ALMOVAL,08H;中段類型號(hào)基值08HOUT21H,ALMOVAL,09H;緩沖,正常結(jié)束
OUT21H,AL8259A經(jīng)過ICW的初始化置后,進(jìn)入操作命令狀態(tài),CPU寫入操作命令字OCW。8259的初始化流程
2.操作命令字OCW
OCW用于設(shè)置8259的工作狀態(tài)在初始化后寫入OCW的寫入順序可任意寫入地址要求:OCW1必須寫入奇地址端口(A0=1)OCW2,OCW3必須寫入偶地址端口(A0=0)
(1)OCW1——中斷屏蔽字
1中斷請(qǐng)求線IRi被屏蔽(不允許中斷)M=0允許該IRi中斷A0=1時(shí),OCW1將寫入IMR寄存器。A0=1時(shí),讀OCW1可讀出設(shè)置的IMR內(nèi)容。
A0 D7 D6 D5 D4 D3 D2 D1 D0
1 M7M6 M5 M4 M3
M2
M1
M0(2)OCW2——中斷結(jié)束和優(yōu)先級(jí)循環(huán)
◆R(ROTATE):R=1--優(yōu)先級(jí)自動(dòng)循環(huán);R=0----固定優(yōu)先級(jí)◆
SL(SPECIFICLEVEL):指定優(yōu)先級(jí)(SL=1----L2~
L0有效)◆EOI(ENDOFINTERRRUPT):EOI=1-----結(jié)束中斷命令(ISRi=0)RSLEOI001非指定EOI命令(NSEOI),全嵌套方式011指定EOI命令(SEOI),全嵌套方式,按L2~L0編碼復(fù)位ISR101NSEOI命令,優(yōu)先級(jí)自動(dòng)循環(huán)100自動(dòng)EOI,設(shè)置優(yōu)先級(jí)自動(dòng)循環(huán)000自動(dòng)EOI,取消優(yōu)先級(jí)自動(dòng)循環(huán)(固定優(yōu)先級(jí))111SEOI命令,按L2~L0編碼循環(huán)優(yōu)先級(jí)(L2~L0設(shè)為最低優(yōu)先級(jí))110按L2~L0編碼,循環(huán)優(yōu)先級(jí)(L2~L0設(shè)為最低優(yōu)先級(jí))
A0 D7 D6 D5 D4 D3 D2 D1 D0
0 RSL EOI 0 0
L2
L1
L0
優(yōu)先級(jí)編碼000--IR0001--IR1
┋
110--IR6111--IR7標(biāo)志位(3)OCW3——屏蔽方式和讀出控制字
ESMM:允許使能特殊屏蔽方式
SMM:特殊屏蔽方式
ESMMSMM功能
11特殊屏蔽方式置位
10特殊屏蔽方式復(fù)位
0x非特殊屏蔽方式A0 D7 D6 D5 D4 D3 D2 D1 D0
0 0ESMMSMM 0 1 P RR RISRR:讀寄存器RIS:ISR/IRR選擇RRRIS功能11讀ISR10讀IRR0x無效P(Polling):p=1查詢方式p=0非查詢方式
標(biāo)志位讀IRR/ISR:寫入此命令后,隨后再對(duì)同一地址讀,即可得到IRR或ISR的內(nèi)容。OCW3(續(xù))--中斷查詢方式編程方法①系統(tǒng)關(guān)中斷②CPU先寫一個(gè)D2=1的OCW3③再對(duì)同一地址讀入,即可得到如下查詢字節(jié):
IRxxxxR2R1R0
IR=1表示有中斷請(qǐng)求,中斷請(qǐng)求號(hào)為R2~
R0,
R2~
R0組成的代碼表示當(dāng)前中斷申請(qǐng)的最高優(yōu)先級(jí)。此查詢步驟可反復(fù)執(zhí)行,以響應(yīng)多個(gè)同時(shí)發(fā)生的斷。④
CPU轉(zhuǎn)入R2~
R0所指示的某一中斷服務(wù)程序中斷查詢方式實(shí)際用在多于64級(jí)中斷的8259A級(jí)聯(lián)系統(tǒng)中五、8259A的中斷級(jí)聯(lián)單片8259A可支持8個(gè)中斷源;采用多片8259A級(jí)連,可最多支持64個(gè)中斷源。n片8259A可支持7n+1個(gè)中斷源;級(jí)連時(shí)只能有一片8259A為主片,其余的均為從屬片;涉及到的8259A引腳包括:CAS0-CAS2SP/ENIRiINT
☆
1.非緩沖方式,主片的SP=1,從片的SP=0;
2.CPU發(fā)出的中斷響應(yīng)INTA,連各主/從片的INTA;
3.各從片的INT連主片的IRi
4.主片的CAS2~CAS0(輸出)連各從片的CAS2~CAS0(輸入)。INTR?8259A級(jí)聯(lián)工作過程描述INTR1.2#從片IRi端收到多個(gè)中斷申請(qǐng),經(jīng)判優(yōu)后,從片發(fā)出中斷請(qǐng)求INT到主片的IR6端。1#從片經(jīng)判優(yōu)后,發(fā)出中斷請(qǐng)求INT到主片的IR3端。跳到‥4.被選通的從片收到第一個(gè)INTA后,置從ISRi=1,清IRRi=0。2.主片判優(yōu)后,確定當(dāng)前最高優(yōu)先級(jí),通過主片INT向CPU發(fā)出中斷申請(qǐng)INTR,CPU響應(yīng)中斷回送2個(gè)INTA。3.主片收到第一個(gè)INTA,置主ISR6=1,清IRR6=0,檢測(cè)ICW3,判定中斷請(qǐng)求是否來自從片,若是,將從片的級(jí)聯(lián)地址從CAS2~CAS0輸出到所有從片,只有級(jí)聯(lián)地址與CAS2~CAS0相同的從片,才能選通。5.第2個(gè)INTA到達(dá)后,被選通的從片將中斷類型號(hào)送到數(shù)據(jù)總線,供CPU讀取。
(?8259A級(jí)聯(lián)工作過程描述)1.2#從片IRi端收到多個(gè)中斷申請(qǐng),經(jīng)判優(yōu)后,從片發(fā)出中斷請(qǐng)求INT到主片的IR6端。2.主片判優(yōu)后,確定當(dāng)前最高優(yōu)先級(jí),通過主片INT向CPU發(fā)出中斷申請(qǐng)INTR,CPU響應(yīng)中斷回送2個(gè)INTA。3.主片收到第一個(gè)INTA,置主ISR6=1,清IRR6=0,檢測(cè)ICW3,判定中斷請(qǐng)求是否來自從片,若是,將從片的級(jí)聯(lián)地址從CAS2~CAS0輸出到所有從片,只有級(jí)聯(lián)地址與CAS2~CAS0相同的從片,才能選通。4.被選通的從片收到第一個(gè)INTA后,置從ISRi=1,清IRRi=0。5.第2個(gè)INTA到達(dá)后,被選通的從片將中斷類型號(hào)送到數(shù)據(jù)總線,供CPU讀取。主片設(shè)置為特殊全嵌套,允許相同級(jí)別的中斷申請(qǐng)通過。例1.一個(gè)8259A主片連2個(gè)從片,從片經(jīng)主片的IR3,IR6引腳接入,則系統(tǒng)中優(yōu)先級(jí)排列順序?yàn)?設(shè)主片為特殊全嵌套方式):
主片:IR0,IR1,IR2從片2#:IR0~
IR7主片:IR4,IR5
從片1#:IR0~
IR7
主片:IR7
允許的中斷源數(shù)=主片(8-2)+從片1#(8)+從片2#(8)=22個(gè)例2.按以下要求初始化8259A:接口地址為20H和21H;中斷為上升沿觸發(fā);單片8259A;不寫ICW4;與IR0-IR3對(duì)應(yīng)的中斷向量碼為08H-0BH;IR4-IR7不使用。根據(jù)要求,各初始化參數(shù)及工作參數(shù)如下:ICW1=00010010B=12HICW2=08H;中斷向量碼OCW1=11110000B=0F0H;中斷屏蔽字初始化程序如下:INIT8259A:
MOV DX,20H ;A0=0,寫ICW1 MOV AL,12H ;上升沿觸發(fā),單片,不寫ICW4 OUTDX,AL MOV DX,21H ;A0=1,寫ICW2,OCW1 MOV AL,08H ;ICW2 OUT DX,AL MOV AL,0F0H ;OCW1:屏蔽IR4-IR7 OUT DX,AL(1)將2個(gè)中斷入口地址寫入中斷向量表
MOVAX,1000H;送入段地址
MOVDS,AXMOVDX,2000H;送入偏移地址
MOVAL,31H;中斷類型號(hào)31HMOVAH,25HINT21HMOVAX,2000HMOVDS,AXMOVDX,3600HMOVAL,44H;中斷類型號(hào)44HMOVAH,25HINT21H
圖中斷向量表例3.兩片8259A級(jí)聯(lián),從片的INT連主片的IR3。主片的IR1引入中斷請(qǐng)求,類型號(hào)為31H,中斷服務(wù)程序入口地址1000H:2000H。從片的IR4引入中斷請(qǐng)求,
類型號(hào)為44H,中斷服務(wù)程序入口地址2000H:3600H。┇0020001000360020000C4H000C6H00110H00112HIPCS類型號(hào)31H(主片)入口地址IPCS類型號(hào)44H(從片)入口地址(2)主片8259A初始化編程:端口地址FFC8H,FFC9H。各初始化參數(shù)及工作參數(shù)如下:
;ICW1=11H,ICW2=30H,ICW3=08H,ICW4=11H,OCW1=0F5H.MOVAL,11H;初始化ICW1,級(jí)聯(lián),邊沿觸發(fā),設(shè)ICW4
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025醫(yī)院藥品購銷合同
- 辦公通訊設(shè)備短期租賃合同3篇
- 城市公共供水設(shè)施場(chǎng)地合作合同3篇
- 勞動(dòng)合同法案例分析教案3篇
- 減肥連鎖店加盟合同3篇
- 找出同音字游戲課程設(shè)計(jì)
- 演講與口才課程設(shè)計(jì)理念
- 廚師課程設(shè)計(jì)
- 正門課程設(shè)計(jì)模板
- 2024年銅電泳漆模塊外殼項(xiàng)目可行性研究報(bào)告
- 蘇教版七年級(jí)歷史知識(shí)點(diǎn)
- 陜西省既有村鎮(zhèn)住宅抗震加固技術(shù)規(guī)程
- 智聯(lián)國(guó)企行測(cè)筆試真題
- 2025屆新高考物理熱點(diǎn)精準(zhǔn)復(fù)習(xí):高中物理6大模塊計(jì)算題思路總結(jié)
- 2024-2030年中國(guó)光電共封裝(CPO)行業(yè)投融資趨勢(shì)及發(fā)展前景分析研究報(bào)告
- 2025屆江蘇省期無錫市天一實(shí)驗(yàn)學(xué)校數(shù)學(xué)七年級(jí)第一學(xué)期期末達(dá)標(biāo)檢測(cè)試題含解析
- 城市軌道交通運(yùn)營(yíng)管理【共30張課件】
- 學(xué)生退學(xué)情況說明
- 鋼結(jié)構(gòu)設(shè)計(jì)智慧樹知到期末考試答案章節(jié)答案2024年山東建筑大學(xué)
- DB5334 T 12.5-2024《地理標(biāo)志證明商標(biāo) 香格里拉藏香豬》的第5部分疾病防治
- 化學(xué)機(jī)械漿與半化學(xué)機(jī)械漿
評(píng)論
0/150
提交評(píng)論