版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第9章 中斷技術(shù)與中斷控制器,9.1 中斷技術(shù)概述 9.2 8086/8088中斷系統(tǒng) 9.3 可編程中斷控制器82C59A 9.4 高檔微機(jī)中斷系統(tǒng),9.1 中斷技術(shù)概述,9.1.1 什么是中斷 (概念) 在程序運(yùn)行中,系統(tǒng)出現(xiàn)了某種緊急事件,CPU必須中止現(xiàn)行程序,轉(zhuǎn)去處理此緊急事件(執(zhí)行中斷服務(wù)程序),并在處理完畢后再返回運(yùn)行程序的過程。 一個(gè)完整的中斷過程包括: 中斷請(qǐng)求; 中斷判優(yōu); 中斷響應(yīng); 中斷處理; 中斷返回。,“中斷請(qǐng)求” 是指中斷源(引起中斷的事件或設(shè)備)向CPU發(fā)出的請(qǐng)求中斷的要求; “中斷判優(yōu)” 當(dāng)有多個(gè)中斷源發(fā)出中斷請(qǐng)求時(shí),需要通過適當(dāng)?shù)霓k法(軟件的;硬件的;軟、硬
2、件結(jié)合的)決定究竟先處理哪個(gè)中斷請(qǐng)求; “中斷響應(yīng)” 是指CPU中止現(xiàn)行程序轉(zhuǎn)至中斷服務(wù)程序的過程; “中斷處理” 就是指CPU執(zhí)行中斷服務(wù)程序,完成中斷請(qǐng)求所要求的操作; “中斷返回” 執(zhí)行完中斷服務(wù)程序后,返回到原先被中斷的程序。,9.1.2 中斷源及其優(yōu)先級(jí),9.1.2 中斷源及其優(yōu)先級(jí) 中斷源:發(fā)出中斷請(qǐng)求的外部設(shè)備或內(nèi)部原因。 中斷優(yōu)先級(jí):按照任務(wù)的輕重緩急給中斷源排隊(duì)。 排隊(duì)方法有: 軟件查詢法(需要少量硬件) 簡單排隊(duì)電路:如菊花鏈?zhǔn)?(daisy chain)優(yōu)先級(jí)電路 硬件排隊(duì)電路: 可編程中斷控制器(如8259),(1)軟件查詢法 把各個(gè)外設(shè)的中斷請(qǐng)求信號(hào)“相或”,產(chǎn)生一個(gè)
3、總的INT信號(hào) 當(dāng)CPU響應(yīng)中斷后,進(jìn)入中斷處理程序,在中斷處理程序的開始部分安排一段查詢程序。 優(yōu)點(diǎn):省硬件 缺點(diǎn):中斷響應(yīng)慢,中斷源及其優(yōu)先級(jí),中斷源及其優(yōu)先級(jí),(2)菊花鏈優(yōu)先級(jí)排隊(duì)電路,INTR=INT1+INT2+INT3 當(dāng)INTA信號(hào)沿菊花鏈行進(jìn)時(shí),最靠近CPU并發(fā)出INT請(qǐng)求的接口將首先攔截住INTA信號(hào),并送出中斷類型碼,進(jìn)入相應(yīng)的中斷處理程序;在服務(wù)完成后撤銷其請(qǐng)求(解除對(duì)下一級(jí)的阻塞和封鎖)。,9.1.3 中斷請(qǐng)求與中斷屏蔽,2. 中斷屏蔽 內(nèi)部屏蔽: CPU不響應(yīng)中斷(關(guān)中斷) 中斷屏蔽: 外部屏蔽:中斷請(qǐng)求信號(hào)不能送到CPU 可屏蔽中斷 :受IF控制 (IF為“1”時(shí)
4、中斷允許,IF為“0”時(shí)中斷屏蔽) 非屏蔽中斷:不受IF控制 (無論IF為“1”或“0” 都允許中斷) (但可設(shè)計(jì)外部屏蔽電路進(jìn)行屏蔽),1. 中斷請(qǐng)求 CPU在執(zhí)行完每條指令后,自動(dòng)檢測(cè)中斷請(qǐng)求輸入線,以確定是否有外部發(fā)來的中斷請(qǐng)求信號(hào)。,指內(nèi)部屏蔽,9.1.4 中斷服務(wù)程序,中斷服務(wù)程序:為完成中斷源所期望的功能而編寫的程序 。 中斷服務(wù)程序的主要內(nèi)容:在中斷服務(wù)程序中,主要是進(jìn)行輸入/輸出操作 或發(fā)出一系列控制信號(hào) ,這些具體操作構(gòu)成了中斷服務(wù)程序的主體。另外還有一些附加操作,因此: 中斷服務(wù)程序的主要內(nèi)容有: 保護(hù)現(xiàn)場(chǎng) 開中斷 具體中斷處理 關(guān)中斷 恢復(fù)現(xiàn)場(chǎng) 開中斷、中斷返回,9.1.
5、5 中斷隱操作和中斷向量,中斷隱操作: CPU響應(yīng)中斷時(shí),由內(nèi)部硬件執(zhí)行的一系列處理過程。,隱操作把CPU引向中斷服務(wù)程序,中斷類型、中斷向量、中斷向量表: 中斷類型:中斷源的編號(hào) 中斷向量:中斷服務(wù)程序的入口地址 中斷向量表:內(nèi)存中存放中斷向量的區(qū)域 以上三者關(guān)系: 中斷向量在中斷向量表中第一個(gè)單元的地址=中斷類型4,第1條可執(zhí)行指令的 第1個(gè)字節(jié)的地址,9.1.6 中斷響應(yīng)過程,對(duì)于可屏蔽中斷,當(dāng)CPU檢測(cè)到有中斷請(qǐng)求時(shí),如果滿足響應(yīng)條件就要予以響應(yīng)。具體過程如下: 關(guān)中斷、保護(hù)斷點(diǎn) 保護(hù)現(xiàn)場(chǎng) 開中斷 具體中斷處理 關(guān)中斷 恢復(fù)現(xiàn)場(chǎng) 開中斷、中斷返回,屬于隱操作,屬于中斷服務(wù)程序,可選擇,
6、可選擇,主 體,9.2 8086/8088中斷系統(tǒng),中斷系統(tǒng):實(shí)現(xiàn)中斷的軟件和硬件的總和。 9.2.1 中斷系統(tǒng)的基本功能 要求能判斷中斷源的優(yōu)先級(jí),并按優(yōu)先權(quán)的高低決定中斷響應(yīng)的順序。 要求中斷系統(tǒng)能實(shí)現(xiàn)中斷和返回。 要求中斷系統(tǒng)能實(shí)現(xiàn)中斷嵌套,即高優(yōu)先級(jí)中斷源的中斷請(qǐng)求能中斷低優(yōu)先級(jí)中斷源的中斷服務(wù)。,9.2.2 8086/8088的中斷系統(tǒng),非屏蔽中斷 外部中斷 (硬件中斷) 可屏蔽中斷 除法出錯(cuò) 內(nèi)部硬件中斷 單步跟蹤 斷點(diǎn)中斷 內(nèi)部中斷 溢出中斷 內(nèi)部軟件中斷:INT n,8086/8088的中斷源分類:,1. 8086/8088的中斷系統(tǒng)結(jié)構(gòu) 8086/8088的中斷系統(tǒng)結(jié)構(gòu)如圖9
7、.1所示。,8086/8088的中斷系統(tǒng),8086/8088的中斷系統(tǒng),2. 中斷類型碼與中斷向量表 中斷類型碼8086/8088為每個(gè)中斷源指定的一個(gè)編號(hào)。 中斷向量中斷服務(wù)程序的入口地址。 中斷向量表把系統(tǒng)中所有的中斷向量按中斷類型碼從小到大的順序放到存儲(chǔ)器的某一個(gè)區(qū)域所形成的一個(gè)表 每個(gè)中斷向量占用4個(gè)存儲(chǔ)單元 ,8086/8088CPU的中斷系統(tǒng)最多能處理256個(gè)中斷源。 8086/8088CPU以存儲(chǔ)器的00000H003FFH共1024個(gè)單元作為中斷向量存儲(chǔ)表,8086/8088的中斷系統(tǒng),中斷向量在中斷向量表的存放次序: 是按中斷類型號(hào)順序存放,共占4個(gè)單元。每個(gè)中斷向量存放的首
8、地址=中斷類型號(hào)4。 CPU響應(yīng)中斷時(shí),需把中斷類型號(hào)N乘以4,得到中斷向量的對(duì)應(yīng)地址4N(該中斷向量所占4個(gè)字節(jié)單元的第一個(gè)字節(jié)單元的地址)。 中斷向量的裝入: 兩個(gè)低字節(jié)單元的內(nèi)容裝入IP寄存器: IP= (4N,4N+1), 兩個(gè)高字節(jié)單元的內(nèi)容裝入CS寄存器:CS = (4N+2,4N+3)。 外部(NMI、INTR):由接口提供 中斷類型號(hào)N的來源: 硬件中斷:由內(nèi)部硬件提供 內(nèi)部 軟件中斷:由中斷指令提供,8086/8088的中斷系統(tǒng),例1:若中斷類型號(hào)為3,則由中斷類型號(hào)取得中斷服務(wù)入口地址的過程如下圖所示:,中斷類型號(hào)34 000CH,8086/8088的中斷系統(tǒng),例2.中斷類
9、型號(hào)為20H,中斷服務(wù)程序的入口地址存放在0000:0080H開始的4個(gè)單元中。若: (0080H)=10H (0081H)=20H (0082H)=30H (0083H)=40H,則:中斷服務(wù)程序的入口地址為,圖9.2 IBM PC/XT的硬件中斷控制邏輯,3. 外部中斷,圖9.2 IBM PC/XT的硬件中斷控制邏輯,NMI外部屏蔽電路,協(xié)處理器運(yùn)算錯(cuò),RAM奇偶校驗(yàn)錯(cuò),I/O校驗(yàn)錯(cuò),8086/8088的中斷系統(tǒng),非屏蔽中斷NMI 當(dāng)CPU的NMI引腳上來一個(gè)高電平時(shí),CPU自動(dòng)產(chǎn)生類型碼為2的中斷,并由此轉(zhuǎn)入相應(yīng)的服務(wù)程序。由于NMI引腳上的請(qǐng)求不能被CPU屏蔽,故常用于緊急情況的故障處
10、理。,8086/8088的中斷系統(tǒng),可屏蔽中斷INTR 當(dāng)8086/8088的INTR引腳上有一個(gè)正跳變信號(hào)時(shí),便產(chǎn)生硬件可屏蔽中斷請(qǐng)求,這種中斷請(qǐng)求可以用指令進(jìn)行屏蔽或允許。當(dāng)INTR的請(qǐng)求被允許時(shí),如果現(xiàn)行指令執(zhí)行完,其它中斷響應(yīng)條件也滿足, CPU就會(huì)從 引腳發(fā)出中斷響應(yīng)信號(hào)。這時(shí),中斷源要向CPU提供中斷類型碼,CPU得到類型碼后自動(dòng)從中斷向量表中取得相應(yīng)的中斷向量,從而轉(zhuǎn)去執(zhí)行中斷服務(wù)程序。,圖9.3 8086/8088可屏蔽中斷的響應(yīng)過程,8086/8088的中斷系統(tǒng),4. 內(nèi)部中斷 內(nèi)部中斷都是非屏蔽型的 除法出錯(cuò)中斷是類型0 單步中斷為類型1 斷點(diǎn)中斷是類型3 溢出中斷是類型4
11、 指令中斷INT n,8086/8088的中斷系統(tǒng),8086/8088中斷的優(yōu)先權(quán) 優(yōu)先權(quán)按從高到低的順序排列為: 除法出錯(cuò)中斷INT n溢出中斷NMIINTR斷點(diǎn)中斷單步。,9.3 可編程中斷控制器82C59A,9.3.1 82C59A的主要特性 82C59A內(nèi)部結(jié)構(gòu)和外部引腳與8259A完全兼容。 單一正5V電源,全靜態(tài)工作(無需外加時(shí)鐘)。 該芯片集中斷源識(shí)別、判優(yōu)、提供中斷類型號(hào)于一體。 每片82C59A能管理8級(jí)中斷。 每片82C59A可送出8個(gè)8位的中斷類型號(hào)(自動(dòng)中斷向量轉(zhuǎn)移功能)。 能用軟件屏蔽中斷請(qǐng)求輸入,通過編程可選擇多種不同的工作方式,以適應(yīng)各種系統(tǒng)的要求。 通過82C5
12、9A級(jí)聯(lián),在不增加外部電路的情況下,最多可用9片82C59A級(jí)連管理64級(jí)中斷。,屬于中斷源的外部屏蔽,9.3.2 82C59A的內(nèi)部結(jié)構(gòu),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、 和 輸入信號(hào)共同控制。,82C59A的內(nèi)部結(jié)構(gòu),3.級(jí)聯(lián)緩沖/比較器: 用于82C59A的級(jí)聯(lián)和緩沖方式,級(jí)連方式:傳送從82C59A的編號(hào)。 第1個(gè) 期間,識(shí)別
13、ID標(biāo)志; 第2個(gè) 期間,該從片向CPU提供中斷類型碼。,緩沖方式:輸出局部數(shù)據(jù)總線允許信號(hào)。,82C59A的內(nèi)部結(jié)構(gòu),4.中斷請(qǐng)求寄存器(IRR):連接中斷源 接收并寄存中斷請(qǐng)求信號(hào)。 (有請(qǐng)求時(shí),IRR中相應(yīng)位置“1”)。 5.中斷屏蔽寄存器(IMR):屏蔽中斷源 82C59A的8級(jí)中斷請(qǐng)求獨(dú)立地加以禁止或允許 (當(dāng)某位被置“1”時(shí),與之對(duì)應(yīng)的中斷請(qǐng)求被屏蔽)。,82C59A的內(nèi)部結(jié)構(gòu),6.優(yōu)先級(jí)分析器(PR):判斷優(yōu)先級(jí)。 檢查中斷服務(wù)寄存器(ISR)的狀態(tài),判別有無優(yōu)先權(quán)更高的中斷正在接受服務(wù),若無,則把中斷請(qǐng)求寄存器(IRR)中優(yōu)先權(quán)最高的中斷請(qǐng)求送入中斷服務(wù)寄存器。,7.中斷服務(wù)寄
14、存器(ISR):寄存正在被響應(yīng)的中斷。 正在被服務(wù)的所有中斷級(jí),包括尚未服務(wù)完而中途被更高級(jí)的中斷打斷了的中斷級(jí),他們?cè)贗SR中的對(duì)應(yīng)位被置“1”,響應(yīng)完后立即清“0”。 8.控制邏輯 :按設(shè)置的工作方式控制82C59A的全部工作。 有中斷請(qǐng)求 IRR相應(yīng)位置“1” 若中斷未屏蔽 送PR 判優(yōu) 送ISR(相應(yīng)位置“1”) 向CPU發(fā)出INT信號(hào) 若滿足響應(yīng)條件 CPU 發(fā)回INTA信號(hào) 82C59A向CPU傳送中斷類型碼 中斷響應(yīng)完成 ISR相應(yīng)位清“0”,9.3.3 82C59A引腳功能,82C59A的外部引腳,82C59A外部特性,82C59A的引腳可分為三個(gè)部分: 與CPU的接口引線 與
15、外設(shè)的接口引線 用于級(jí)聯(lián)的接口引線,1. 82C59A與CPU的接口引腳 D7D0:數(shù)據(jù)線,雙向,三態(tài) 。 傳送的信息:控制字、狀態(tài)字、中斷類型碼。 A0:地址線,輸入。偶地址端口: 3個(gè)控制字,3個(gè)狀態(tài)字 尋址82C59A內(nèi)部的端口: 奇地址端口: 4個(gè)控制字 :寫信號(hào),輸出,低高電平有效。 :讀信號(hào),輸出,低高電平有效。 :片選信號(hào),輸出,低高電平有效。 INT:中斷請(qǐng)求信號(hào),輸出,高電平有效。 用于由82C59A向CPU發(fā)出中斷請(qǐng)求,連接CPU的可屏蔽中斷請(qǐng)求輸入端INTR。 :中斷響應(yīng)信號(hào),輸出,低電平有效。 用于接收CPU送回的中斷響應(yīng)負(fù)脈沖。連接CPU控制總線的 。,OCW1,IC
16、W2,ICW3,ICW4,ICW1, OCW2, OCW3,IRR, ISR, 中斷查詢字,8259的讀寫功能,82C59A外部特性,3. 82C59A級(jí)聯(lián)時(shí)的接口引線 CAS2CAS0:級(jí)連引腳,雙向。 用來構(gòu)成82C59A的主從式級(jí)聯(lián)控制結(jié)構(gòu),傳送從片標(biāo)志。 :從片編程/允許緩沖器信號(hào),雙向,低電平有效。 主片SP=“1” 當(dāng)82C59A工作在緩沖方式時(shí):輸入SP信號(hào) 功能: 從片SP=“0” =“0”允許 當(dāng)82C59A工作在緩沖方式時(shí):輸出緩沖器允許信號(hào) =“1”禁止,2. 82C59A與外設(shè)的接口引線 IR0IR7:中斷請(qǐng)求,輸入,高電平或上升沿有效。 用于接收從外設(shè)來的中斷請(qǐng)求信號(hào)
17、 。每個(gè)引腳分別連接一個(gè)中斷源的 中斷請(qǐng)求輸出端或連接一個(gè)82C59A從片的INT端(級(jí)聯(lián)方式時(shí))。,9.3.4 82C59A的控制字,82C59A共有7個(gè)控制字 4個(gè)初始化命令字(ICW1ICW4) 3個(gè)操作命令字(OCW1OCW3) 82C59A共有4個(gè)狀態(tài)字 IRR寄存器內(nèi)容、ISR寄存器內(nèi)容、IMR寄存器內(nèi)容 中斷查詢字,82C59A的控制字,1. 初始化命令字 初始化命令字通常是系統(tǒng)開機(jī)時(shí),由初始化程序填寫的,而且在整個(gè)系統(tǒng)工作過程中保持不變。 初始化命令字有四個(gè)ICW1、 ICW2、 ICW3、 ICW4。 寫入順序?yàn)镮CW1、ICW2、 ICW3、 ICW4 其中:是否寫入ICW
18、3和ICW4,由ICW1決定。,ICW1的格式和含義 ICW1:芯片控制初始化命令字。 寫入82C59A的偶地址端口。,82C59A的控制字,ICW1的格式和各位的定義如下:,當(dāng)ICW4=00H時(shí),不寫,82C59A的控制字,ICW2的格式和含義 ICW2:是設(shè)置中斷類型碼的初始化命令字 寫到8259A的奇地址端口 其格式和各位定義如下:,寫入82C59A的中斷向量,82C59A的控制字,ICW3的格式和含義 ICW3:標(biāo)志主片/從片的初始化命令字 寫到82C59A的奇地址端口 只有在一個(gè)系統(tǒng)中使用了兩片以上82C59A并級(jí)聯(lián)時(shí),才需要寫入ICW3,82C59A的控制字,主片ICW3:規(guī)定哪一
19、個(gè)IR引腳接有從片 接有從片:其對(duì)應(yīng)位設(shè)置為“1” IRi 未接有從片:對(duì)應(yīng)位設(shè)置為“0” 例如:主82C59A的IR0、IR3上分別接有從片,則主片的ICW3=00001001。,82C59A的控制字,從片ICW3: 表明從片接在主片的哪一根IR線上。,ICW4:方式控制初始化命令字 寫入奇地址端口,ICW4的格式和含義,82C59A的控制字,2. 操作命令字 操作命令字在82C59A應(yīng)用程序中使用,可在初始化后根據(jù)需要隨時(shí)寫入,并且在寫入次序上沒有嚴(yán)格的要求。 操作命令字有3個(gè),OCW1OCW3,82C59A的控制字,OCW1中斷屏蔽字 OCW1:中斷屏蔽操作命令字 寫入82C59A的奇地
20、址端口 其格式和各位定義如下:,中斷屏蔽字:Mi=1 屏蔽中斷IRi Mi =0 允許中斷IRi,82C59A的控制字,OCW2 控制中斷結(jié)束和優(yōu)先級(jí)循環(huán)方式的命令 OCW2: 設(shè)置優(yōu)先級(jí)循環(huán)方式和發(fā)中斷結(jié)束命令 寫入偶地址端口 其格式和各位定義如下:,IR0至 IR7 優(yōu)先級(jí)動(dòng)態(tài)變化,優(yōu)先級(jí)從高到低為IR0 IR7,(1)中斷結(jié)束命令,普通EOI結(jié)束方式:8259A收到EOI結(jié)束命令后,自動(dòng)將ISR中級(jí)別最高的置“1”位清“0”。 特殊EOI結(jié)束方式:正常EOI是自動(dòng)清除級(jí)別最高的ISR位,而特殊EOI則清除有L0L2指定的ISR位。 自動(dòng)AEOI結(jié)束方式:某中斷被響應(yīng)后,ISR對(duì)應(yīng)位被置1
21、,但CPU在中斷響應(yīng)的第二個(gè)負(fù)脈沖將ISR的對(duì)應(yīng)位清0。此時(shí),盡管CPU對(duì)某個(gè)外設(shè)正在進(jìn)行中斷服務(wù),但在8259A中無指示,低級(jí)別的中斷可打斷高級(jí)中斷,產(chǎn)生重復(fù)嵌套,嵌套深度無法控制。 在級(jí)聯(lián)方式下,一般用非自動(dòng)結(jié)束方式,中斷結(jié)束時(shí),要發(fā)兩次中斷結(jié)束命令,一次是對(duì)主片,另一次是對(duì)從片。,(2)優(yōu)先級(jí)設(shè)定命令,OCW3特殊屏蔽方式和查詢方式命令字 OCW3的功能有三個(gè):設(shè)置和撤消特殊屏蔽方式;設(shè)置中斷查詢方式;設(shè)置對(duì)82C59A內(nèi)部寄存器的讀出命令寫入偶地址端口 其格式和各位定義如下:,1. 中斷查詢字:查詢有無中斷請(qǐng)求 查詢字的格式及其各位含義:,9.3.5 82C59A的狀態(tài)字,哪個(gè)引腳有請(qǐng)
22、求,2. 狀態(tài)字IRR:其內(nèi)容表明哪個(gè)輸入引腳有中斷請(qǐng)求 3. 狀態(tài)字ISR:其內(nèi)容表明哪個(gè)中斷正在被服務(wù),4. 狀態(tài)字IMR:其內(nèi)容表明哪個(gè)中斷請(qǐng)求被屏蔽,9.3.6 82C59A的工作方式,1.中斷屏蔽方式 普通的中斷屏蔽方式 優(yōu)先權(quán)低的中斷請(qǐng)求不能打斷優(yōu)先權(quán)高的中斷服務(wù)。OCW3中的ESMM=0, 特殊的中斷屏蔽方式 無論CPU是否正在處理較高級(jí)的中斷,只要未被屏蔽的中斷請(qǐng)求到來(可能是較低級(jí)的),CPU都會(huì)響應(yīng),就像優(yōu)先權(quán)不起作用一樣。OCW3中的ESMM=1,82C59A的工作方式,2.中斷嵌套方式 非特殊全嵌套方式(普通全嵌套方式) 低級(jí)或同級(jí)中斷請(qǐng)求,不能打斷高級(jí)的中斷服務(wù) 。I
23、CW4的SFNM=0 特殊全嵌套方式 在級(jí)聯(lián)情況下,主片能實(shí)現(xiàn)同級(jí)中斷嵌套 。ICW4的SFNM=1,82C59A的工作方式,3.設(shè)置優(yōu)先級(jí)的方式 固定優(yōu)先級(jí) 82C59A的8個(gè)中斷源 的優(yōu)先級(jí)固定為IR0IR1IR7。OCW2的R=0 旋轉(zhuǎn)優(yōu)先級(jí) 82C59A的8個(gè)中斷源的優(yōu)先級(jí)別隨著中斷響應(yīng)的結(jié)束動(dòng)態(tài)變化。 優(yōu)先權(quán)旋轉(zhuǎn)分為兩種形式: 優(yōu)先級(jí)自動(dòng)旋轉(zhuǎn)方式 優(yōu)先級(jí)特殊旋轉(zhuǎn)方式,82C59A的工作方式,優(yōu)先級(jí)自動(dòng)旋轉(zhuǎn)方式 82C59A被初始化后的優(yōu)先級(jí)自動(dòng)安排為從高到低依次是IR0IR7,以后則按旋轉(zhuǎn)方式工作。 優(yōu)先級(jí)特殊旋轉(zhuǎn)方式 自動(dòng)旋轉(zhuǎn)方式不同的是,在82C59A被初始化后,并不自動(dòng)安排中斷
24、源的優(yōu)先級(jí),而是要用命令字OCW2的L2L0三位的編碼指定一個(gè)最低優(yōu)先級(jí),以后則按旋轉(zhuǎn)方式工作。,82C59A的工作方式,4.中斷結(jié)束方式 當(dāng)一個(gè)中斷服務(wù)程序完成時(shí),必須給82C59A發(fā)一個(gè)命令,復(fù)位ISR中的對(duì)應(yīng)位,用以表示中斷服務(wù)已經(jīng)完成。82C59A可工作在不同的中斷結(jié)束方式: 非自動(dòng)中斷結(jié)束 自動(dòng)中斷結(jié)束,82C59A的工作方式,非自動(dòng)中斷結(jié)束:軟件結(jié)束中斷服務(wù)。(最后) 必須在中斷服務(wù)程序返回前用軟件向82C59A發(fā)EOI結(jié)束命令: 第一,若是非級(jí)聯(lián)方式,只需發(fā)一個(gè)EOI命令。 第二,若是級(jí)聯(lián)方式,除了給主82C59A發(fā)EOI命令之外,還要給從82C59A發(fā)EOI命令。 第三,非特殊
25、的EOI命令:82C59A工作在非特殊全嵌套方式,則被服務(wù)的中斷源就是優(yōu)先權(quán)最高的,那么,只需用一般的EOI命令使它在ISR的相應(yīng)位復(fù)位。 第四,特殊的EOI命令:82C59A工作在特殊全嵌套方式,82C59A不能確定剛結(jié)束的中斷源的等級(jí),此時(shí)應(yīng)該用OCW2的L2L0三位的編碼來指定復(fù)位哪一位。這就是特殊的中斷結(jié)束命令。,82C59A的工作方式,自動(dòng)中斷結(jié)束命令:硬件結(jié)束中斷服務(wù)。(最前) 將ICW4中的AEOI位設(shè)置為1。它不是靠軟件發(fā)結(jié)束命令EOI=1來復(fù)位ISR中的對(duì)應(yīng)位,而是在剛一響應(yīng)中斷時(shí)的第二個(gè) 期間就由此 的后沿(上升沿)使82C59A自動(dòng)復(fù)位ISR中的對(duì)應(yīng)位。 只適用于82C5
26、9A的單片使用,中斷請(qǐng)求不頻繁,并且沒有中斷嵌套的情況。,82C59A的工作方式,5. 查詢中斷方式 查詢方法:向82C59A寫入OCW3,并使P=1 從偶地址端口讀入查詢字 其格式和定義如下:,I是中斷特征位,I=182C59A有中斷請(qǐng)求;I=082C59A沒有中斷請(qǐng)求,可查詢別的82C59A片子。在I=1時(shí),W2W0的編碼表明當(dāng)前優(yōu)先級(jí)最高的中斷請(qǐng)求是哪一個(gè)。W2W0=000111分別對(duì)應(yīng)IR0IR7。,82C59A的工作方式,6.讀取狀態(tài)方式 讀取方法: 當(dāng)RIS=1時(shí),讀ISR的內(nèi)容 當(dāng)OCW3的P=0,RR=1時(shí): 當(dāng)RIS=0時(shí),讀IRR的內(nèi)容 注意:從偶地址端口讀入,屏蔽寄存器I
27、MR的內(nèi)容隨時(shí)可以從奇地址端口讀出,而不用發(fā)讀命令。,82C59A的工作方式,7. 級(jí)聯(lián)方式 在較大的微機(jī)應(yīng)用系統(tǒng)中,可用多片82C59A級(jí)聯(lián)來擴(kuò)展中斷源。一個(gè)主82C59A最多可級(jí)聯(lián)8個(gè)從82C59A,從而把中斷源擴(kuò)展到64個(gè)。 若ICW1中的SNGL位為0,表示為級(jí)聯(lián)方式。在這種方式下,典型的硬件連接如圖9.7所示,,圖9.7 級(jí)聯(lián)方式的連接電路,GND,GND,Vcc,地址總線(16),控制總線,數(shù)據(jù)總線,82C59A的工作方式,8. 連接系統(tǒng)總線的方式 緩沖方式 當(dāng)82C59A在一個(gè)大系統(tǒng)中使用時(shí),82C59A通過總線驅(qū)動(dòng)器和數(shù)據(jù)總線相連,這就是緩沖方式。在緩沖方式下,存在對(duì)總線驅(qū)動(dòng)器
28、的選通問題。為此,將82C59A的 引腳和總線驅(qū)動(dòng)器的允許端相連。 非緩沖方式 非緩沖方式是相對(duì)于緩沖方式而言的。當(dāng)系統(tǒng)中只有單片使用或有少數(shù)幾片級(jí)聯(lián)而系統(tǒng)又不大時(shí),82C59A的數(shù)據(jù)線可直接與CPU系統(tǒng)的數(shù)據(jù)總線相連,而不用接驅(qū)動(dòng)器。這時(shí) 為輸入端。,9.3.7 82C59A的編程,82C59A的編程分為兩種: 初始化編程:復(fù)位后寫入 工作方式編程:需要時(shí)寫入 讀取狀態(tài)編程:需要時(shí)讀出 系統(tǒng)復(fù)位后,由初始化程序?qū)?259置入初始化命令字ICW。初始化后可通過發(fā)出操作命令字OCW來定義8259A的操作方式,實(shí)現(xiàn)對(duì)8259A的控制。初始化命令字只發(fā)一次,操作命令字可以重置,以動(dòng)態(tài)改變8259A的
29、操作與控制方式。,表9.2 82C59A的讀/寫操作,82C59A的編程,1. 初始化編程 初始化編程是由CPU向82C59A寫入24個(gè)字節(jié)的初始化命令字ICW。目的是讓82C59A開始正常工作之前處于起始點(diǎn)。82C59A的初始化順序是嚴(yán)格的 。,Y,當(dāng)CPU向82C59A的偶地址端口寫入一個(gè)命令字,且D4=1時(shí),則被82C59A內(nèi)部邏輯解釋為初始化命令字ICW1,啟動(dòng)82C59A中的初始化順序,緊接著向奇地址端口寫入的一個(gè)字則被認(rèn)為是ICW2。這兩個(gè)命令字是必須寫的,而ICW3和ICW4是否要寫入,則視情況而定。若是級(jí)聯(lián)使用(即SNGL=0),那么下一個(gè)向奇地址寫入的命令自動(dòng)辯認(rèn)為ICW3,
30、否則不必寫入。如果根據(jù)系統(tǒng)要求所確定的ICW4不等于00H,那么繼ICW3之后,向奇地址端口寫入的必定是ICW4。當(dāng)ICW4=00H,即ICW1中的 IC4=0,不必寫入ICW4。,N,例9.1:,設(shè)某8088系統(tǒng)中使用一片82C59A,其端口地址為210H、211H,若按系統(tǒng)要求,中斷請(qǐng)求為電平觸發(fā),其8個(gè)中斷源的類型號(hào)為60H67H,試編寫初始化程序段。 解: 按要求確定初始化命令字: ICW1:00011011B ICW2:01100000B(只有前5位有效) ICW4:00000001B,例9.1:,初始化程序段: MOV DX,210H ;DX指向偶地址端口 MOV AL,1BH ;
31、寫ICW1 OUT DX,AL MOV DX,211H ;DX指向奇地址端口 MOV AL,60H ;寫ICW2 OUT DX,AL MOV AL,01H ;寫ICW4 OUT DX,AL,82C59A的編程,2.工作方式編程 工作方式編程是CPU向82C59A寫入操作命令字OCW1、OCW2和OCW3,它們的作用是規(guī)定82C59A的工作方式。工作方式命令字(即操作命令字)是在82C59A已經(jīng)初始化以后的任何時(shí)間寫入的,并且寫入順序沒有任何限制。,例9.2:,某個(gè)以8088為CPU的數(shù)據(jù)采集系統(tǒng)中,使用兩片82C59A接成主從控制器,主片的端口地址為20H和21H,中斷類型碼為60H67H,從
32、片的端口地址為408H和409H,中斷類型號(hào)為68H6FH。按系統(tǒng)要求,所有中斷請(qǐng)求采用邊沿觸發(fā),普通屏蔽,主片用特殊全嵌套,從片用非特殊全嵌套方式,一般結(jié)束,優(yōu)先權(quán)自動(dòng)旋轉(zhuǎn)方式。 硬件接線如圖9.9所示。 試對(duì)這兩片82C59A進(jìn)行初始化,并設(shè)置它們的工作方式。,圖9.9 例9.2硬件接線圖,例9.2:,解: 確定初始化命令字和操作命令字: ICW1:00010001B (主、從片相同) ICW2:01100000B主片, 01101000B從片 ICW3:10000000B主片, 00000111B從片 ICW4:00010001B主片, 00000001B從片 OCW1: 寫入ICW后,
33、82C59A自動(dòng)將IMR清零,因此, 如開放所有中斷請(qǐng)求,則不必再寫入OCW1。 在使用中要改變這種情況時(shí)可隨時(shí)寫入。 OCW2:10000000B (主、從片相同) OCW3:00001000B (主、從片相同),例9.2:,編程: MOV AL,11H ;寫主片ICW1 OUT 20H,AL MOV DX,408H ;寫從片ICW1 OUT DX,AL MOV AL,60H ;寫主片ICW2 OUT 21H,AL MOV DX,409H ;寫從片ICW2 MOV AL,68H OUT DX,AL MOV AL,80H ;寫主片ICW3 OUT 21H,AL MOV AL,07H ;寫從片ICW3,OUT DX,AL MOV AL,11H ;寫主片ICW 4 OUT 21H,AL MOV AL,01H ;寫從片ICW4 OUT DX,AL NOV AL,80H ;寫主片OCW2 OUT 20H,AL MOV DX,408H ;寫從片OCW2 OUT DX,AL MOV AL,08H ;寫主片OCW3 OUT 20H,AL OUT DX,AL ;寫從片OCW3,9.3.8 82C59A應(yīng)用舉例,1. IBM PC/XT中以82C59A為核心的中斷邏
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年寧波東方人力資源服務(wù)有限公司(擬派遣到寧波大學(xué))非事業(yè)編制人員招聘備考題庫參考答案詳解
- 2026年中國有色集團(tuán)沈陽礦業(yè)投資有限公司招聘備考題庫及一套完整答案詳解
- 2026年孟定海關(guān)綜合技術(shù)中心醫(yī)學(xué)檢驗(yàn)工作人員招聘備考題庫及參考答案詳解
- 2026年中國中信金融資產(chǎn)管理股份有限公司深圳分公司人才引進(jìn)及社會(huì)招聘備考題庫及參考答案詳解
- 2026年天津?yàn)I海高新區(qū)管委會(huì)公開招聘應(yīng)急處置崗雇員備考題庫及參考答案詳解1套
- 2026年天津河?xùn)|區(qū)上杭路街社區(qū)衛(wèi)生服務(wù)中心招聘派遣制工作人員備考題庫及1套參考答案詳解
- 2026年彌渡縣疾病預(yù)防控制中心招聘編制外工作人員的備考題庫及答案詳解一套
- 2026年中信建投證券股份有限公司湖南分公司招聘備考題庫帶答案詳解
- 2026年北川工業(yè)園區(qū)下屬國有企業(yè)招聘備考題庫及完整答案詳解一套
- 2026年云陽縣云安村干部公開招聘備考題庫及一套完整答案詳解
- 2025年六年級(jí)上冊(cè)道德與法治期末測(cè)試卷附答案(完整版)
- 雨課堂在線學(xué)堂《西方哲學(xué)-從古希臘哲學(xué)到晚近歐陸哲學(xué)》單元考核測(cè)試答案
- IPC7711C7721C-2017(CN)電子組件的返工修改和維修(完整版)
- 學(xué)堂在線 雨課堂 學(xué)堂云 研究生學(xué)術(shù)與職業(yè)素養(yǎng)講座 章節(jié)測(cè)試答案
- 文旅項(xiàng)目立項(xiàng)報(bào)告
- 生理學(xué)期中考試試題及答案
- 京張高鐵現(xiàn)場(chǎng)觀摩會(huì)整體策劃方案
- 安捷倫1200標(biāo)準(zhǔn)操作規(guī)程
- 合伙人合同協(xié)議書電子版
- 離婚協(xié)議書下載電子版完整離婚協(xié)議書下載三篇
- 磨床設(shè)備點(diǎn)檢表
評(píng)論
0/150
提交評(píng)論