版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第9章中斷技術(shù)與中斷控制器
§9.1中斷技術(shù)概述§9.28086/8088中斷系統(tǒng)§9.3可編程中斷控制器82C59A§9.4高檔微機中斷系統(tǒng)
§9.1中斷技術(shù)概述§9.1.1什么是中斷
(概念)在程序運行中,系統(tǒng)出現(xiàn)了某種緊急事件,CPU必須中止現(xiàn)行程序,轉(zhuǎn)去處理此緊急事件(執(zhí)行中斷服務(wù)程序),并在處理完畢后再返回被打斷的程序的過程。一個完整的中斷過程包括:中斷請求;中斷判優(yōu);中斷響應(yīng);中斷處理;中斷返回?!爸袛嗾埱蟆笔侵钢袛嘣?引起中斷的事件或設(shè)備)向CPU發(fā)出的請求中斷的要求;“中斷判優(yōu)”當(dāng)有多個中斷源發(fā)出中斷請求時,需要通過適當(dāng)?shù)霓k法(軟件的;硬件的;軟、硬件結(jié)合的)決定究竟先處理哪個中斷請求;“中斷響應(yīng)”是指CPU中止現(xiàn)行程序轉(zhuǎn)至中斷服務(wù)程序的過程;“中斷處理”是指CPU執(zhí)行中斷服務(wù)程序,完成中斷請求所要求的操作;“中斷返回”
執(zhí)行完中斷服務(wù)程序后,返回到原先被中斷的程序?!?.1.2
中斷源及其優(yōu)先級§9.1.2
中斷源及其優(yōu)先級
中斷源:發(fā)出中斷請求的外部設(shè)備或內(nèi)部原因。中斷優(yōu)先級:按照任務(wù)的輕重緩急給中斷源排隊。排隊方法有:軟件查詢法(需要少量硬件)簡單排隊電路:如菊花鏈?zhǔn)?daisychain)優(yōu)先級電路硬件排隊電路:可編程中斷控制器(如8259)(1)軟件查詢法把各個外設(shè)的中斷請求信號“相或”,產(chǎn)生一個總的INT信號當(dāng)CPU響應(yīng)中斷后,進入中斷處理程序,在中斷處理程序的開始部分安排一段查詢程序,對中斷源逐個查詢。優(yōu)點:省硬件缺點:中斷響應(yīng)慢中斷源及其優(yōu)先級中斷源及其優(yōu)先級(2)菊花鏈優(yōu)先級排隊電路中斷請求INT1INT2INT3CPU
INTR接口設(shè)備3接口設(shè)備2接口設(shè)備1菊花鏈邏輯電路中斷回答集電極開路門(OC門)INT1+INT2+INT3+5VINTR=INT1+INT2+INT3當(dāng)INTA信號沿菊花鏈行進時,最靠近CPU并發(fā)出INT請求的接口將首先攔截住INTA信號,并送出中斷類型碼,進入相應(yīng)的中斷處理程序;在服務(wù)完成后撤銷其請求(解除對下一級的阻塞和封鎖)。INTRINTA中斷請求§9.1.3
中斷請求與中斷屏蔽
2.中斷屏蔽
內(nèi)部屏蔽:CPU不響應(yīng)中斷(關(guān)中斷)中斷屏蔽:外部屏蔽:中斷請求信號不能送到CPU
可屏蔽中斷:受IF控制(IF為“1”時中斷允許,IF為“0”時中斷屏蔽)非屏蔽中斷:不受IF控制(無論IF為“1”或為“0”都允許中斷)(但可設(shè)計外部屏蔽電路進行屏蔽)1.中斷請求
中斷源向CPU發(fā)出的請求中斷的信號叫中斷請求。CPU在執(zhí)行完每條指令后,自動檢測中斷請求輸入線,以確定是否有外部發(fā)來的中斷請求信號。指內(nèi)部屏蔽§9.1.4
中斷服務(wù)程序
中斷服務(wù)程序:為完成中斷源所期望的功能而編寫的程序。中斷服務(wù)程序的主要內(nèi)容:在中斷服務(wù)程序中,主要是進行輸入/輸出操作或發(fā)出一系列控制信號,這些具體操作構(gòu)成了中斷服務(wù)程序的主體。另外還有一些附加操作,因此:中斷服務(wù)程序的主要內(nèi)容有:保護現(xiàn)場
開中斷具體中斷處理
關(guān)中斷
恢復(fù)現(xiàn)場
開中斷、中斷返回
§9.1.5
中斷隱操作和中斷向量
中斷隱操作:
CPU響應(yīng)中斷時,由內(nèi)部硬件執(zhí)行的一系列處理過程。隱操作把CPU引向中斷服務(wù)程序中斷類型、中斷向量、中斷向量表:中斷類型:中斷源的編號中斷向量:中斷服務(wù)程序的入口地址中斷向量表:內(nèi)存中存放中斷向量的區(qū)域以上三者關(guān)系:中斷向量在中斷向量表中第一個單元的地址=中斷類型×4第1條可執(zhí)行指令的第1個字節(jié)的地址§9.1.6
中斷響應(yīng)過程
對于可屏蔽中斷,當(dāng)CPU檢測到有中斷請求時,如果滿足響應(yīng)條件就要予以響應(yīng)。具體過程如下:
關(guān)中斷、保護斷點
保護現(xiàn)場
開中斷
具體中斷處理
關(guān)中斷
恢復(fù)現(xiàn)場
開中斷、中斷返回
屬于隱操作屬于中斷服務(wù)程序可選擇可選擇主體§9.2
8086/8088中斷系統(tǒng)
中斷系統(tǒng):實現(xiàn)中斷的軟件和硬件的總和。§9.2.1中斷系統(tǒng)的基本功能
要求能判斷中斷源的優(yōu)先級,并按優(yōu)先權(quán)的高低決定中斷響應(yīng)的順序。要求中斷系統(tǒng)能實現(xiàn)中斷和返回。要求中斷系統(tǒng)能實現(xiàn)中斷嵌套,即高優(yōu)先級中斷源的中斷請求能中斷低優(yōu)先級中斷源的中斷服務(wù)。
§9.2.2
8086/8088的中斷系統(tǒng)
非屏蔽中斷(NMI)(2號)
外部中斷(硬件中斷)可屏蔽中斷(INTR)
除法出錯(0號)
內(nèi)部硬件中斷
單步跟蹤(1號)
斷點中斷(3號)
內(nèi)部中斷
溢出中斷(4號)
內(nèi)部軟件中斷:INTn8086/8088的中斷源分類:
1.8086/8088的中斷系統(tǒng)結(jié)構(gòu)
8086/8088的中斷系統(tǒng)結(jié)構(gòu)如圖所示。
8086/8088的中斷系統(tǒng)8086/8088的中斷系統(tǒng)2.中斷類型碼與中斷向量表
中斷類型碼—8086/8088為每個中斷源指定的一個編號。中斷向量—中斷服務(wù)程序的入口地址。中斷向量表—把系統(tǒng)中所有的中斷向量按中斷類型碼從小到大的順序放到存儲器的某一個區(qū)域所形成的一個表。每個中斷向量占用4個存儲單元,8086/8088CPU的中斷系統(tǒng)最多能處理256個中斷源。8086/8088CPU以存儲器的00000H---003FFH共1024個單元作為中斷向量存儲表。8086/8088的中斷系統(tǒng)中斷向量在中斷向量表的存放次序:是按中斷類型號順序存放,共占4個單元。每個中斷向量存放的首地址=中斷類型號×4。CPU響應(yīng)中斷時,需把中斷類型號N乘以4,得到中斷向量的對應(yīng)地址4N(該中斷向量所占4個字節(jié)單元的第一個字節(jié)單元的地址)。中斷向量的裝入:兩個低字節(jié)單元的內(nèi)容裝入IP寄存器:IP=(4N,4N+1),兩個高字節(jié)單元的內(nèi)容裝入CS寄存器:CS=(4N+2,4N+3)。外部(NMI、INTR):由接口提供中斷類型號N的來源:硬件中斷:由內(nèi)部硬件提供內(nèi)部軟件中斷:由中斷指令提供8086/8088的中斷系統(tǒng)例1:若中斷類型號為3,則由中斷類型號取得中斷服務(wù)入口地址的過程如下圖所示:00000H00001H0000CH(0000:000CH)1EA00H(1E00:0A00H)FFFFFH低地址內(nèi)存高地址1E000H+0A00H1EA00H中斷類型號3×4=000CH…….00(IPL)0A(IPH)00(CSL)1E(CSH)…....中斷服務(wù)程序8086/8088的中斷系統(tǒng)例2.中斷類型號為20H,中斷服務(wù)程序的入口地址存放在0000:0080H開始的4個單元中。若:(0080H)=10H(0081H)=20H(0082H)=30H(0083H)=40H則:中斷服務(wù)程序的入口地址為圖9.2
IBMPC/XT的硬件中斷控制邏輯
3.外部中斷
圖9.2
IBMPC/XT的硬件中斷控制邏輯
NMI外部屏蔽電路協(xié)處理器運算錯RAM奇偶校驗錯I/O校驗錯可屏蔽中斷INTR
當(dāng)8086/8088的INTR引腳上有一個正跳變信號時,便產(chǎn)生硬件可屏蔽中斷請求,這種中斷請求可以用指令進行屏蔽或允許。當(dāng)INTR的請求被允許時,如果現(xiàn)行指令執(zhí)行完,其它中斷響應(yīng)條件也滿足,
CPU就會從引腳發(fā)出中斷響應(yīng)信號。這時,中斷源要向CPU提供中斷類型碼,CPU得到類型碼后自動從中斷向量表中取得相應(yīng)的中斷向量,從而轉(zhuǎn)去執(zhí)行中斷服務(wù)程序。非屏蔽中斷NMI
當(dāng)CPU的NMI引腳上來一個高電平時,CPU自動產(chǎn)生類型碼為2的中斷,并由此轉(zhuǎn)入相應(yīng)的服務(wù)程序。由于NMI引腳上的請求不能被CPU屏蔽,故常用于緊急情況的故障處理。
圖9.38086/8088可屏蔽中斷的響應(yīng)過程
8086/8088的中斷系統(tǒng)4.內(nèi)部中斷
內(nèi)部中斷都是非屏蔽型的除法出錯中斷是類型0單步中斷為類型1斷點中斷是類型3溢出中斷是類型4指令中斷INTn8086/8088的中斷系統(tǒng)8086/8088中斷的優(yōu)先權(quán)優(yōu)先權(quán)按從高到低的順序排列為: 除法出錯中斷→INTn→溢出中斷→NMI→INTR→斷點中斷→單步。
§9.3可編程中斷控制器82C59A
§9.3.182C59A的主要特性
82C59A內(nèi)部結(jié)構(gòu)和外部引腳與8259A完全兼容。單一正5V電源,全靜態(tài)工作(無需外加時鐘)。該芯片集中斷源識別、判優(yōu)、提供中斷類型號于一體。每片82C59A能管理8級中斷。每片82C59A可送出8個8位的中斷類型號(自動中斷向量轉(zhuǎn)移功能)。能用軟件屏蔽中斷請求輸入,通過編程可選擇多種不同的工作方式,以適應(yīng)各種系統(tǒng)的要求。通過82C59A級聯(lián),在不增加外部電路的情況下,最多可用9片82C59A級連管理64級中斷。屬于中斷源的外部屏蔽§9.3.282C59A的內(nèi)部結(jié)構(gòu)
IR0IR7::中斷請求寄存器IRR優(yōu)先權(quán)電路在服務(wù)寄存器ISR中斷屏蔽寄存器
IMR控制邏輯數(shù)據(jù)總線緩沖器讀/寫邏輯級連緩沖/比較器INTAINTRDBRDWRA0CSCAS0CAS1CAS2SP/EN內(nèi)部總線82C59A的內(nèi)部結(jié)構(gòu)
1.數(shù)據(jù)總線緩沖器
:8位雙向三態(tài)緩沖器。
CPU向82C59A寫入的命令字傳送的信息:CPU從82C59A讀取的狀態(tài)字82C59A向CPU提供的中斷類型碼2.讀/寫邏輯:內(nèi)部地址譯碼和操作控制。接收來自CPU的讀/寫命令,完成規(guī)定的操作。操作過程由、A0、和輸入信號共同控制。
82C59A的內(nèi)部結(jié)構(gòu)3.級聯(lián)緩沖/比較器:用于82C59A的級聯(lián)和緩沖方式級連方式:傳送從82C59A的編號。第1個期間,識別ID標(biāo)志;第2個期間,該從片向CPU提供中斷類型碼。緩沖方式:輸出局部數(shù)據(jù)總線允許信號。82C59A的內(nèi)部結(jié)構(gòu)4.中斷請求寄存器(IRR):連接中斷源接收并寄存中斷請求信號。(有請求時,IRR中相應(yīng)位置“1”)。5.中斷屏蔽寄存器(IMR):屏蔽中斷源82C59A的8級中斷請求獨立地加以禁止或允許(當(dāng)某位被置“1”時,與之對應(yīng)的中斷請求被屏蔽)。
6.優(yōu)先級分析器(PR):判斷優(yōu)先級。檢查中斷服務(wù)寄存器(ISR)的狀態(tài),判別有無優(yōu)先權(quán)更高的中斷正在接受服務(wù),若無,則把中斷請求寄存器(IRR)中優(yōu)先權(quán)最高的中斷請求送入中斷服務(wù)寄存器。
82C59A的內(nèi)部結(jié)構(gòu)7.中斷服務(wù)寄存器(ISR):寄存正在被響應(yīng)的中斷。
正在被服務(wù)的所有中斷級,包括尚未服務(wù)完而中途被更高級的中斷打斷了的中斷級,他們在ISR中的對應(yīng)位被置“1”,響應(yīng)完后立即清“0”。8.控制邏輯:按設(shè)置的工作方式控制82C59A的全部工作。
有中斷請求IRR相應(yīng)位置“1”若中斷未屏蔽送PR判優(yōu)送ISR(相應(yīng)位置“1”)向CPU發(fā)出INT信號若滿足響應(yīng)條件CPU發(fā)回INTA信號82C59A向CPU傳送中斷類型碼中斷響應(yīng)完成ISR相應(yīng)位清“0”§9.3.382C59A引腳功能
82C59A的外部引腳引腳可分為三個部分:與CPU的接口引線與外設(shè)的接口引線用于級聯(lián)的接口引線
1.82C59A與CPU的接口引腳
D7~D0:數(shù)據(jù)線,雙向,三態(tài)。
傳送的信息:控制字、狀態(tài)字、中斷類型碼。A0:地址線,輸入。偶地址端口:3個控制字,3個狀態(tài)字尋址82C59A內(nèi)部的端口:奇地址端口:4個控制字,1個狀態(tài)字:寫信號,輸出,低高電平有效。 :讀信號,輸出,低高電平有效。:片選信號,輸出,低高電平有效。INT:中斷請求信號,輸出,高電平有效。用于由82C59A向CPU發(fā)出中斷請求,連接CPU的可屏蔽中斷請求輸入端INTR。:中斷響應(yīng)信號,輸出,低電平有效。用于接收CPU送回的中斷響應(yīng)負脈沖。連接CPU控制總線的。
OCW1,ICW2,ICW3,ICW4ICW1,OCW2,OCW3IRR,ISR,中斷查詢字IMRCSRDWRA0D4D3讀寫操作01001寫ICW10101
寫ICW2、ICW3、ICW4、OCW1010000寫OCW2010001寫OCW30010
讀IRR/ISR/中斷查詢字0011
讀IMR8259的讀寫功能82C59A外部特性3.82C59A級聯(lián)時的接口引線
CAS2~CAS0:級連引腳,雙向。用來構(gòu)成82C59A的主從式級聯(lián)控制結(jié)構(gòu),傳送從片標(biāo)志。:從片編程/緩沖器允許信號,雙向,低電平有效。
主片SP=“1”當(dāng)82C59A工作在非緩沖方式時:輸入SP信號功能:從片SP=“0”=“0”允許
當(dāng)82C59A工作在緩沖方式時:輸出緩沖器允許信號=“1”禁止2.82C59A與外設(shè)的接口引線
IR0~IR7:中斷請求,輸入,高電平或上升沿有效。
用于接收從外設(shè)來的中斷請求信號。每個引腳分別連接一個中斷源的中斷請求輸出端或連接一個82C59A從片的INT端(級聯(lián)方式時)?!?.3.482C59A的控制字
82C59A共有7個控制字4個初始化命令字(ICW1---ICW4)3個操作命令字(OCW1---OCW3)82C59A共有4個狀態(tài)字
IRR寄存器內(nèi)容、ISR寄存器內(nèi)容、
IMR寄存器內(nèi)容、中斷查詢字82C59A的控制字1.初始化命令字
初始化命令字通常是系統(tǒng)開機時,由初始化程序填寫的,而且在整個系統(tǒng)工作過程中保持不變。初始化命令字有四個ICW1、ICW2、ICW3、ICW4。寫入順序為ICW1、ICW2、ICW3、ICW4其中:是否寫入ICW3和ICW4,由ICW1決定。ICW1的格式和含義
ICW1:芯片控制初始化命令字。寫入82C59A的偶地址端口。初始化命令字ICW1寫入后,8259內(nèi)部完成初始化過程:(1)清除ISR和IMR寄存器;(2)指定中斷優(yōu)先級R0R7;(3)從片的地址置成7;(4)特殊屏蔽方式復(fù)位;(5)自動EOI循環(huán)方式復(fù)位;(6)邊沿觸發(fā)器復(fù)位。82C59A的控制字ICW1IC4SNGLADI0*1LTIM**A0D7D6D5D4D3D2D1D001不寫ICW4寫ICW401級聯(lián),寫ICW3單片,不寫ICW3=0(不用)8088/8086不用標(biāo)志位0=邊沿觸發(fā)方式1=電平觸發(fā)方式ICW1的格式和各位的定義如下:當(dāng)ICW4=00H時,不寫82C59A的控制字ICW2的格式和含義
ICW2:是設(shè)置中斷類型碼的初始化命令字寫到8259A的奇地址端口,其格式和各位定義如下:
ICW2
D7D6D5D4D3D2D1D0A11/T31A0A10A15/T7A14/T6A13/T5A12/T4A9A8自動填入中斷類型碼高5位
D7D6D5D4D3D2D1D0IR7T7T6T5T4T3111IR6T7T6T5T4T3110IR5T7T6T5T4T3101IR4T7T6T5T4T3100IR3T7T6T5T4T3011IR2T7T6T5T4T3010IR1T7T6T5T4T3001IR0T7T6T5T4T3000寫入82C59A的中斷向量主片ICW3:規(guī)定哪一個IR引腳接有從片接有從片:其對應(yīng)位設(shè)置為“1”IRi
未接有從片:對應(yīng)位設(shè)置為“0”例如:主82C59A的IR0、IR3上分別接有從片,則主片的ICW3=00001001。
ICW31A0D7D6D5D4D3D2D1D0IR2IR5IR4IR3IR7IR6IR1IR0ICW3的格式和含義
ICW3:標(biāo)志主片/從片的初始化命令字寫到82C59A的奇地址端口
只有在一個系統(tǒng)中使用了兩片以上82C59A并級聯(lián)時,才需要寫入ICW3
82C59A的控制字從片ICW3:
表明從片接在主片的哪一根IR線上。ICW31A0D7D6D5D4D3D2D1D0ID200000ID1ID0ID2ID1ID0從片所接的引腳000IR0001IR1……………………111IR7ICW4:方式控制初始化命令字寫入奇地址端口ICW4PMAEOIM/S10SFNMBUF00A0D7D6D5D4D3D2D1D00=一般全嵌套方式1=特殊全嵌套方式=非緩沖方式,此時若用級聯(lián),由SP/EN確定主從片。=緩沖方式,本片為從片=緩沖方式,本片為主片0101101選用80858086/808801正常EOI方式自動EOI方式ICW4的格式和含義82C59A的控制字2.操作命令字
操作命令字在82C59A應(yīng)用程序中使用,可在初始化后根據(jù)需要隨時寫入,并且在寫入次序上沒有嚴(yán)格的要求。操作命令字有3個,OCW1~OCW382C59A的控制字OCW1—中斷屏蔽字OCW1:中斷屏蔽操作命令字寫入82C59A的奇地址端口,其格式和各位定義如下:
OCW1M01A0D7D6D5D4D3D2D1D0M7M6M5M4M3M2M1中斷屏蔽字:Mi=1屏蔽中斷IRi Mi=0允許中斷IRi82C59A的控制字OCW2—控制中斷結(jié)束和優(yōu)先級循環(huán)方式的命令OCW2:設(shè)置優(yōu)先級循環(huán)方式和發(fā)中斷結(jié)束命令寫入偶地址端口其格式和各位定義如下:
L00A0D7D6D5D4D3D2D1D0RSLEOI00L2L1OCW2標(biāo)志位指定IRi0不發(fā)中斷結(jié)束命令1發(fā)中斷結(jié)束命令L2~L0無效0L2~L0有效1固定優(yōu)先級0旋轉(zhuǎn)優(yōu)先級1IR0至IR7優(yōu)先級動態(tài)變化優(yōu)先級從高到低為IR0↓IR7RSLEOI操作000固定優(yōu)先級,不發(fā)中斷結(jié)束命令001固定優(yōu)先級,發(fā)一般中斷結(jié)束命令010無操作011固定優(yōu)先級,發(fā)特殊中斷結(jié)束命令100普通旋轉(zhuǎn)優(yōu)先級,不發(fā)中斷結(jié)束命令101普通旋轉(zhuǎn)優(yōu)先級,發(fā)一般中斷結(jié)束命令10特殊旋轉(zhuǎn)優(yōu)先級,不發(fā)中斷結(jié)束命令111特殊旋轉(zhuǎn)優(yōu)先級,發(fā)特殊中斷結(jié)束命令R、SL、EOI編碼表L2L1L0IR000IR0001IR1010IR2011IR3100IR4101IR5110IR6111IR7L2、L1、L0編碼表(1)中斷結(jié)束命令 普通EOI結(jié)束方式:8259A收到EOI結(jié)束命令后,自動將ISR中級別最高的置“1”位清“0”。特殊EOI結(jié)束方式:正常EOI是自動清除級別最高的ISR位,而特殊EOI則清除由L0—L2指定的ISR位。自動AEOI結(jié)束方式:某中斷被響應(yīng)后,ISR對應(yīng)位被置1,但CPU在中斷響應(yīng)的第二個負脈沖將ISR的對應(yīng)位清0。此時,盡管CPU對某個外設(shè)正在進行中斷服務(wù),但在8259A中無指示,低級別的中斷請求可打斷高級別的中斷服務(wù),可能產(chǎn)生重復(fù)嵌套,嵌套深度無法控制。在級聯(lián)方式下,一般用非自動結(jié)束方式,中斷結(jié)束時,要發(fā)兩次中斷結(jié)束命令,一次是對主片,另一次是對從片。IR77IR66IR55IR44IR33IR22IR11IR00默認優(yōu)先級IR74IR63IR52IR41IR30IR27IR16IR05循環(huán)優(yōu)先級(2)優(yōu)先級設(shè)定命令特殊循環(huán):循環(huán)初態(tài)為:由L2~L0編碼設(shè)定最低優(yōu)先級。例:若設(shè)定IR2對應(yīng)的設(shè)備優(yōu)先級最低,則IR3對應(yīng)的設(shè)備優(yōu)先級最高。(3)優(yōu)先級循環(huán)普通循環(huán):循環(huán)初態(tài)為:IR0最高IR最低。OCW3—特殊屏蔽方式和查詢方式命令字OCW3的功能有三個:設(shè)置和撤消特殊屏蔽方式;設(shè)置中斷查詢方式;設(shè)置對82C59A內(nèi)部寄存器的讀出命令寫入偶地址端口,其格式和各位定義如下:
RIS0A0D7D6D5D4D3D2D1D00ESMMSMM01PRROCW30*:無效10下個讀命令為讀IRR11下個讀命令為讀ISR1:查詢8259A狀態(tài)0:不查詢標(biāo)志位0×:不允許特殊屏蔽10:不設(shè)置特殊屏蔽方式11:設(shè)置特殊屏蔽方式1.中斷查詢字:查詢有無中斷請求查詢字的格式及其各位含義:§9.3.582C59A的狀態(tài)字
哪個引腳有請求查詢字W00A0D7D6D5D4D3D2D1D0I????W2W1無請求0有請求1000IR0001IR1011IR2011IR3100IR4101IR5110IR6111IR72.狀態(tài)字IRR:其內(nèi)容表明哪個輸入引腳有中斷請求3.狀態(tài)字ISR:其內(nèi)容表明哪個中斷正在被服務(wù)IRR0A0D7D6D5D4D3D2D1D0ISR0A0D7D6D5D4D3D2D1D04.狀態(tài)字IMR:其內(nèi)容表明哪個中斷請求被屏蔽IMR1A0D7D6D5D4D3D2D1D0§9.3.682C59A的工作方式
1.中斷屏蔽方式
普通的中斷屏蔽方式(高級服務(wù)能屏蔽低級請求)優(yōu)先權(quán)低的中斷請求不能打斷優(yōu)先權(quán)高的中斷服務(wù)。OCW3中的ESMM=0
特殊的中斷屏蔽方式
(高級服務(wù)不能屏蔽低級請求)無論CPU是否正在處理較高級的中斷,只要未被屏蔽的中斷請求到來(可能是較低級的),CPU都會響應(yīng),就像優(yōu)先權(quán)不起作用一樣。ESMM=1且SMM=1
82C59A的工作方式2.中斷嵌套方式
普通全嵌套方式低級或同級中斷請求,不能打斷高級的中斷服務(wù)。ICW4的SFNM=0
特殊全嵌套方式
在級聯(lián)情況下,主片能實現(xiàn)同級中斷嵌套。ICW4的SFNM=1
82C59A的工作方式3.設(shè)置優(yōu)先級的方式
固定優(yōu)先級
82C59A的8個中斷源的優(yōu)先級固定為IR0IR1……IR7。OCW2的R=0旋轉(zhuǎn)優(yōu)先級
82C59A的8個中斷源的優(yōu)先級別隨著中斷響應(yīng)的結(jié)束動態(tài)變化。OCW2的R=1優(yōu)先權(quán)旋轉(zhuǎn)分為兩種形式:優(yōu)先級自動旋轉(zhuǎn)方式:初態(tài)為IR0IR1……IR7。優(yōu)先級特殊旋轉(zhuǎn)方式:初態(tài)由OCW2的L2~L0指定最低級。82C59A的工作方式4.中斷結(jié)束方式
當(dāng)一個中斷服務(wù)程序完成時,必須給82C59A發(fā)一個命令,復(fù)位ISR中的對應(yīng)位,用以表示中斷服務(wù)已經(jīng)完成。82C59A可工作在不同的中斷結(jié)束方式:
普通中斷結(jié)束:ICW4中的AEOI=0非自動中斷結(jié)束且OCW2中的EOI=1
特殊中斷結(jié)束:ICW4中的AEOI=0OCW2中的SL=1且EOI=1自動中斷結(jié)束
ICW4中的AEOI=1結(jié)束的中斷由OCW2的L2~L0指定非自動中斷結(jié)束:軟件結(jié)束中斷服務(wù)。(最后)
必須在中斷服務(wù)程序返回前用軟件向82C59A發(fā)EOI結(jié)束命令:第一,若是非級聯(lián)方式,只需發(fā)一個EOI命令。第二,若是級聯(lián)方式,除了給主82C59A發(fā)EOI命令之外,還要給從82C59A發(fā)EOI命令。第三,非特殊的EOI命令:82C59A工作在非特殊全嵌套方式,則被服務(wù)的中斷源就是優(yōu)先權(quán)最高的,那么,只需用一般的EOI命令使它在ISR的相應(yīng)位復(fù)位。第四,特殊的EOI命令:82C59A工作在特殊全嵌套方式,82C59A不能確定剛結(jié)束的中斷源的等級,此時應(yīng)該用OCW2的L2~L0三位的編碼來指定復(fù)位哪一位。這就是特殊的中斷結(jié)束命令。
82C59A的工作方式自動中斷結(jié)束命令:硬件結(jié)束中斷服務(wù)。(最前)
將ICW4中的AEOI位設(shè)置為1。它不是靠軟件發(fā)結(jié)束命令EOI=1來復(fù)位ISR中的對應(yīng)位,而是在剛一響應(yīng)中斷時的第二個期間就由此的后沿(上升沿)使82C59A自動復(fù)位ISR中的對應(yīng)位。只適用于82C59A的單片使用,中斷請求不頻繁,并且沒有中斷嵌套的情況。
82C59A的工作方式5.查詢中斷方式
查詢方法:向82C59A寫入OCW3,并使P=1從偶地址端口讀入查詢字查詢字W00A0D7D6D5D4D3D2D1D0I????W2W1無請求0有請求1000IR0001IR1011IR2011IR3100IR4101IR5110IR6111IR782C59A的工作方式6.讀取狀態(tài)方式
讀取方法:當(dāng)RIS=1時,讀ISR的內(nèi)容當(dāng)OCW3的P=0,RR=1時:
當(dāng)RIS=0時,讀IRR的內(nèi)容注意:從偶地址端口讀出
屏蔽寄存器IMR的內(nèi)容隨時可以從奇地址端口讀出,而不用發(fā)讀命令。82C59A的工作方式7.級聯(lián)方式
在較大的微機應(yīng)用系統(tǒng)中,可用多片82C59A級聯(lián)來擴展中斷源。一個主82C59A最多可級聯(lián)8個從82C59A,從而把中斷源擴展到64個。
若ICW1中的SNGL位為0,表示為級聯(lián)方式。在這種方式下,典型的硬件連接如圖9.7所示。圖9.7級聯(lián)方式的連接電路
CSA0D7-D0INTAINTCAS0CAS1CAS2SP/ENIR7IR6---IR0從82591#CSA0D7-D0INTAINTCAS0CAS1CAS2SP/ENIR7IR6---IR0從82592#CSA0D7-D0INTAINTCAS0CAS1CAS2SP/ENIR7IR6---IR0主8259GNDGNDVcc地址總線(16)控制總線數(shù)據(jù)總線82C59A的工作方式8.連接系統(tǒng)總線的方式
緩沖方式ICW4的BUF=1
當(dāng)82C59A在一個大系統(tǒng)中使用時,82C59A通過總線驅(qū)動器和數(shù)據(jù)總線相連,這就是緩沖方式。在緩沖方式下,存在對總線驅(qū)動器的選通問題。為此,將82C59A的引腳與總線驅(qū)動器的允許端相連。此時為輸出。
非緩沖方式
ICW4的BUF=0非緩沖方式是相對于緩沖方式而言的。當(dāng)系統(tǒng)中只有單片使用或有少數(shù)幾片級聯(lián)而系統(tǒng)又不大時,82C59A的數(shù)據(jù)線可直接與CPU系統(tǒng)的數(shù)據(jù)總線相連,而不用接驅(qū)動器。這時為輸入端。
主機8259A總線驅(qū)動器§9.3.782C59A的編程
82C59A的編程分為:初始化編程:復(fù)位后寫入工作方式編程:需要時寫入讀取狀態(tài)編程:需要時讀出表9.282C59A的讀/寫操作
82C59A的編程1.初始化編程
初始化編程是由CPU向82C59A寫入2~4個字節(jié)的初始化命令字ICW。目的是讓82C59A開始正常工作之前處于起始點。82C59A的初始化順序是嚴(yán)格的。Y
當(dāng)CPU向82C59A的偶地址端口寫入一個命令字,且D4=1時,則被82C59A內(nèi)部邏輯解釋為初始化命令字ICW1,啟動82C59A中的初始化順序;
緊接著向奇地址端口寫入的一個字則被認為是ICW2。這兩個命令字是必須寫的;而ICW3和ICW4是否要寫入,則視情況而定。若是級聯(lián)使用(即SNGL=0),那么下一個向奇地址寫入的命令自動辯認為ICW3,否則不必寫入;如果根據(jù)系統(tǒng)要求所確定的ICW4不等于00H,那么繼ICW3之后,向奇地址端口寫入的必定是ICW4。NICW1ICW2級聯(lián)方式?ICW3需要ICW4?ICW4NY解:按要求確定初始化命令字:ICW1:00011011BICW2:01100000B(只有前5位有效)ICW4:00000001B
例9.1:設(shè)某8088系統(tǒng)中使用一片82C59A,其端口地址為210H、211H,若按系統(tǒng)要求,中斷請求為電平觸發(fā),其8個中斷源的類型號為60H~67H,試編寫初始化程序段。初始化程序段:MOVDX,210H;DX指向偶地址端口MOVAL,1BH;寫ICW1OUTDX,ALMOVDX,211H;DX指向奇地址端口MOVAL,60H;寫ICW2OUTDX,ALMOVAL,01H;寫ICW4OUTDX,AL82C59A的編程2.工作方式編程
工作方式編程是CPU向82C59A寫入操作命令字OCW1、OCW2和OCW3,它們的作用是規(guī)定82C59A的工作方式。工作方式命令字是在82C59A已經(jīng)初始化以后的任何時間寫入的,并且寫入順序沒有任何限制。
例9.2:某個以8088為CPU的數(shù)據(jù)采集系統(tǒng)中,使用兩片82C59A接成主從控制器,主片的端口地址為20H和21H,中斷類型碼為60H~67H,從片的端口地址為408H和409H,中斷類型號為68H~6FH。按系統(tǒng)要求,所有中斷請求采用邊沿觸發(fā),普通屏蔽,主片用特殊全嵌套,從片用非特殊全嵌套方式,一般結(jié)束,優(yōu)先權(quán)自動旋轉(zhuǎn)方式。硬件接線如圖9.9所示。試對這兩片82C59A分別進行初始化,并設(shè)置它們的工作方式。
圖9.9
例9.2硬件接線圖
例9.2:解:確定初始化命令字和操作命令字:ICW1:00010001B(主、從片相同)ICW2:01100000B—主片,01101000B—從片ICW3:10000000B—主片,00000111B—從片ICW4:00010001B—主片,00000001B—從片
OCW1:寫入ICW后,82C59A自動將IMR清零,因此,如開放所有中斷請求,則不必再寫入OCW1。在使用中要改變這種情況時可隨時寫入。OCW2:10000000B(主、從片相同)OCW3:00001000B(主、從片相同)
例9.2:編程:MOVAL,11H;寫主片ICW1OUT20H,ALMOVDX,408H;寫從片ICW1OUTDX,ALMOVAL,60H;寫主片ICW2OUT21H,ALMOVDX,409H;寫從片ICW2MOVAL,68HOUTDX,ALMOVAL,80H;寫主片ICW3OUT21H,ALMOVAL,07H;寫從片ICW3OUTDX,ALMOVAL,11H;寫主片ICW4OUT21H,ALMOVAL,01H;寫從片ICW4OUTDX,ALNOVAL,80H;寫主片OCW2OUT20H,ALMOVDX,408H;寫從片OCW2OUTDX,ALMOVAL,08H;寫主片OCW3OUT20H,ALOUTDX,AL;寫從片OCW3§9.3.882C59A應(yīng)用舉例1.IBMPC/XT中以82C59A為核心的中斷邏輯例9.3:已知:IBMPC/XT內(nèi)82C59A的端口地址是20H和21H,并已初始化成邊沿觸發(fā)、普通屏蔽(初始化屏蔽字為FEH)、非特殊全嵌套、一般中斷結(jié)束、固定優(yōu)先級、以及非緩沖方式。求解:試編寫匯編語言程序?qū)崿F(xiàn)題目要求。解:由IBMPC/XT中82C59A所管理的8個中斷源(中斷類型號為08H~0FH)可知,IRQ2的中斷類型號就是0AH。源程序清單如下:
2.應(yīng)用舉例
例9.3:
在IBMPC/XT的62芯總線的IRQ2端輸入一中斷請求信號,該信號可由82
溫馨提示
- 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年廣州越秀區(qū)文聯(lián)招聘合同制輔助人員備考題庫及答案詳解參考
- 2026年度新疆生產(chǎn)建設(shè)兵團醫(yī)院高層次人才引進20人備考題庫及答案詳解1套
- 2026年創(chuàng)新方法學(xué)習(xí)活動合同
- 2026年醫(yī)學(xué)會展參展合同
- 2025年北京地區(qū)研究院機械研發(fā)工程師崗位招聘5人備考題庫及一套參考答案詳解
- 長沙縣衛(wèi)生健康局所屬基層醫(yī)療衛(wèi)生機構(gòu)2025年12月公開招聘編外工作人員備考題庫及答案詳解一套
- 2025年海南省檢驗檢測研究院考核招聘事業(yè)編制專業(yè)技術(shù)人員備考題庫及完整答案詳解一套
- 2025年民生銀行天津分行社會招聘備考題庫及一套參考答案詳解
- 2025年丹東市榮軍優(yōu)撫醫(yī)院(原丹東市公安醫(yī)院)招聘備考題庫及答案詳解一套
- 2025年溫州市廣播電視監(jiān)測中心招聘臨聘合同制人員備考題庫帶答案詳解
- 學(xué)堂在線 雨課堂 學(xué)堂云 文物精與文化中國 期末考試答案
- 關(guān)于印發(fā)《2026年度安全生產(chǎn)工作計劃》的通知
- 跨境電子商務(wù)渠道管理
- (21)普通高中西班牙語課程標(biāo)準(zhǔn)日常修訂版(2017年版2025年修訂)
- 洗潔精產(chǎn)品介紹
- 財務(wù)給銷售培訓(xùn)銷售知識課件
- 太空探索基礎(chǔ)設(shè)施建設(shè)施工方案
- 2025年中國復(fù)合材料電池外殼行業(yè)市場全景分析及前景機遇研判報告
- 陜西亞聯(lián)電信網(wǎng)絡(luò)股份有限公司商業(yè)計劃書
- 2025年數(shù)字化營銷顧問職業(yè)素養(yǎng)測評試卷及答案解析
- 2025年保密試題問答題及答案
評論
0/150
提交評論