微機原理與接口技術_07可編程中斷控制器8259A_第1頁
微機原理與接口技術_07可編程中斷控制器8259A_第2頁
微機原理與接口技術_07可編程中斷控制器8259A_第3頁
微機原理與接口技術_07可編程中斷控制器8259A_第4頁
微機原理與接口技術_07可編程中斷控制器8259A_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第77章 可編程中斷控制器8259A本章主要內容 7.1 8259A的基本結構 7.2 8259A芯片的工作過程 7.3 8259A的工作方式 7.4 8259A的編程 7.5 8259A的應用7.1 8259A的基本結構7.1.1 內部結構 8259A的內部結構主要由8個功能模塊組成。 1中斷請求寄存器IRR(interrupt register) 2中斷服務寄存器ISR(interrupt service ) 3中斷屏蔽寄存器IMR(interrupt mask register) 4優(yōu)先級判別器PR(priority register) 5數(shù)據(jù)總線緩沖器 6讀/寫邏輯 7控制邏輯 8級聯(lián)

2、緩沖比較器7.1.2 外部結構 8259A用NMOS工藝制造,使用單一5V電源,采用28引腳的雙列直插芯片。其引腳如下圖所示。7.2 8259A芯片的工作過程 當系統(tǒng)通電后,首先對8259A初始化。所謂初始化就是由CPU執(zhí)行一段程序,向可編程芯片寫入若干命令字,規(guī)定其工作狀態(tài),使其處于準備就緒狀態(tài)。當完成初始化后,8259A就處于就緒狀態(tài),隨時可接收外設來的中斷請求信號。 8259A對外部中斷請求的處理過程如下。 (1)當有一條或若干條中斷請求輸入(IR0IR7)有效時,則使中斷請求寄存器的IRR的相應位置位。 (2)若CPU處于開中斷狀態(tài),則在當前指令執(zhí)行完之后,響應中斷,并且從發(fā)應答信號(

3、兩個連續(xù)的負脈沖)。 (3)第一個負脈沖到達時,IRR的鎖存功能失效,對于IR0IR7上發(fā)來的中斷請求信號不予理睬。 (4)使服務寄存器ISR的相應位置1,以便為中斷優(yōu)先級比較器的工作做好準備。 (5)使IRR的相應位復位,即清除中斷請求。 (6)第二個負脈沖到達時,8259A向數(shù)據(jù)總線輸送一個8位的指針(向量號或中斷類型號)。CPU以此作為相應中斷的類型碼,并根據(jù)該中斷類型號從中斷服務程序入口地址表中,取出中斷服務程序的入口地址,從而執(zhí)行中斷。 (7)若初始化命令字ICW4中的中斷結束位為1,那么,第二個負脈沖結束時,8259A將ISR寄存器的相應位清零。否則,直至中斷服務程序執(zhí)行完畢,才能

4、通過輸出操作命令字EOI,使該位復位。7.3 8259A的工作方式7.3.1 中斷優(yōu)先級管理方式 1固定優(yōu)先級方式(完全嵌套排序方式) 固定優(yōu)先級方式是8259A最常用的一種工作方式。優(yōu)先級的次序固定:IR0IR1 IR7。 2自動循環(huán)優(yōu)先級方式(等優(yōu)先級方式) 在自動循環(huán)優(yōu)先級方式下,任何一級中斷處理完后,CPU都會向8259A發(fā)送EOI命令,使ISR中最高優(yōu)先級位復位,并且使它變?yōu)樽畹蛢?yōu)先級,比它低一級的中斷請求設為最高級,就這樣依次循環(huán)下去。 3特殊全嵌套優(yōu)先級方式 基本上與固定優(yōu)先級方式相同,不同的是CPU處理某一優(yōu)先級的中斷請求時,不僅允許優(yōu)先級比它高的中斷請求進入,而且允許同級的中

5、斷請求進入。 4特殊循環(huán)優(yōu)先級方式 通過命令可以指定優(yōu)先級,使用比較靈活。例如指定IR2優(yōu)先級最低,則優(yōu)先級次序為IR3IR4IR7IR0IR1IR2。 5中斷屏蔽方式 用中斷屏蔽方式管理優(yōu)先級有一般屏蔽和特殊屏蔽兩種方法。7.3.2 中斷結束方式EOI 8259A中斷結束的管理分三種情況。 1一般完全嵌套方式 8259A在完全嵌套方式下,可采用三種中斷結束方式。 1)一般EOI形式 2)特殊EOI方式 3)自動EOI方式 2自動循環(huán)情況 在這種情況下,也可采用三種中斷結束方式,和前面一般完全嵌套的情況相同,分一般EOI方式、特殊EOI方式和自動EOI方式。 3特殊完全嵌套情況 這種情況是因為

6、8259A有級聯(lián),因而CPU應發(fā)出兩個EOI命令,一個送給主8259A,用來將其主8259A的ISR寄存器相應位清“0”;另一個送給從8259A,用來將從8259A中的ISR寄存器相應位清“0”。 7.3.3 中斷觸發(fā)方式 8259A有三種中斷觸發(fā)方式,分別是電平觸發(fā)方式、邊沿觸發(fā)方式和中斷查詢方式。 1電平觸發(fā)方式 用高電平請求中斷,響應中斷后應及時清除高電平,以免產生多次中斷。 2邊沿觸發(fā)方式 用上升沿請求中斷,上升后保持高電平,就不會再產生中斷。 3中斷查詢方式 當系統(tǒng)中的中斷源很多,超過64個時,則可以使8259A工作在查詢方式下。7.4 8259A的編程7.4.1 初始化編程 825

7、9A是可編程的中斷控制器,8259A是按照事先設置好的命令字進行工作的。8259A的命令字分為兩部分,一部分是初始化命令字(Initialization Command Word, ICW)ICW1ICW4,另一部分是操作命令字(Operation Command Word, OCW)OCW1OCW3。8259A有2個內部端口地址,一個偶地址(A00),另一個是奇地址(A0),用來選擇不同的寄存器。 1初始化命令字ICW1 ICW1應寫入偶地址端口,A00,ICW1主要用于設置IRi端口輸入是高電平觸發(fā)還是上升沿觸發(fā),是單片8259A還是多片8259A,以及是否需要ICW4。 2初始化命令字I

8、CW2 ICW2應寫入奇地址端口,A01,主要用于設置8259A管理的中斷源的中斷類型碼。 3初始化命令字ICW3 ICW3應寫入奇地址端口,A01,主要用于級聯(lián)設置。 4初始化命令字ICW4 ICW4應寫入奇地址端口,A01,主要用于進一步設置8259A的工作方式。 5初始化命令字的設置過程 在初始化過程的開始階段,首先寫入命令字ICW1和ICW2。當寫入ICW1中的SNGL1,才需寫入ICW3。同樣當寫入ICW1中的IC41,才需寫入ICW4。在單片8259A與8086系統(tǒng)配置時,需寫入的初始化命令字為ICW1、ICW2、ICW4。如果是級聯(lián)方式,需寫入的初始化命令字為ICW1、ICW2、

9、ICW3和ICW4。 7.4.2 中斷操作編程 在8259A工作期間,可以通過改變操作命令字來控制8259A的工作狀態(tài)。8259A一共有3個操作命令字,即OCW1OCW3。它們和ICW不一樣,不需要按照規(guī)定的順序設定,使用時可以靈活選擇不同的操作命令字,實現(xiàn)不同的功能。但是有一點也需要注意,寫入操作命令字時要分清奇、偶地址。 1操作命令字OCW1 OCW1寫入奇地址端口,A01。OCW1的功能就是用來設置中斷源的屏蔽狀態(tài),換句話說就是對8259A的IMR中的各位進行動態(tài)復位或清零。 2操作命令字OCW2 OCW2寫入偶地址端口,A00。OCW2的主要功能是設置中斷結束方式和優(yōu)先級循環(huán)方式。 3

10、操作命令字OCW3 OCW3寫入偶地址端口,A00。OCW3的主要功能是設置特殊屏蔽方式和查詢方式,并用來控制8259A內部的狀態(tài)字IRR、ISR的讀出。 7.5 8259A的應用7.5.1 中斷系統(tǒng)的應用方法 中斷系統(tǒng)是中斷控制機構,利用中斷系統(tǒng)可以實現(xiàn)數(shù)據(jù)的實時傳輸,也可以用它實現(xiàn)某些危險情況的提示。無論用于數(shù)據(jù)的傳輸控制,還是用于其他操作,應用中斷系統(tǒng)時要完成以下幾項任務。 (1)分配合適的中斷級。 (2)設計中斷請求邏輯。 (3)對8259A初始化。 (4)編寫中斷服務子程序。 (5)中斷向量表初始化。 7.5.2 8259A寄存器的訪問 CPU要對8259A初始化,就必須寫入初始化命

11、令字,對8259A進行操作時需要寫入操作命令字,以及有時要知道IRR、ISR、IMR的內容,就要讀8259A的狀態(tài)寄存器。這些操作都需要各自的地址,那么8259A地址是如何進行分配。7.5.3 8259A與系統(tǒng)總線的連接與尋址 8259A和CPU系統(tǒng)總線的連接可以按照外設接口與總線的統(tǒng)一連接方式,將數(shù)據(jù)線、地址線、控制線分類進行連接,典型連接如下圖所示。7.5.4 初始化及操作控制 8259A和CPU相連后,就可以通過命令字對8259A初始化,以及通過操作命令字對其工作進行操作控制。 8259A的初始化程序如下。 SET8259A:MOV DX,0FF00H MOV AL,00010011B

12、OUT DX,AL MOV DX,0FF02H MOV AL,00011000B OUT DX,AL MOV AL,00000011B OUT DX,AL7.5.5 8259A的級聯(lián) 所謂級聯(lián),就是在微型計算機系統(tǒng)中,以1片8259A的INT引腳與CPU的INTR引腳相連,稱為主片;再將最多8片8259A的INT引腳,分別與主8259A的IR0IR7相連,稱為從片。顯然,在主-從式8259級聯(lián)的微機系統(tǒng)中,系統(tǒng)能夠管理的中斷源可由8級擴展至64級。 主-從式8259級聯(lián)系統(tǒng)的連接,需要注意如下幾點: (1)主片的INT引腳接CPU的INTR引腳,從片的INT引腳分別主片的IRi引腳,使得由從片輸入的中斷請求,能夠通過主片向CPU發(fā)出; (2)主片的3條級聯(lián)線與各從片的同名級聯(lián)線引腳對接,主片為輸出,從片為輸入。主片用以向各從片發(fā)出優(yōu)先級別最高的中斷請求的從片代碼,各從片用該代碼與本片的代碼進行比較,符合則將本片ICW2中預先設定中斷類型碼,送數(shù)據(jù)總線。 (3)主片的/接5V,從片的/接地。 (4)級連系統(tǒng)中的所有8259A都必須進行各自獨立的編程,作為主片的8259A必須設置為特殊的全嵌套方式,可以避免相同從片中,優(yōu)先級較高的中斷請求被屏蔽的情況發(fā)生。 與一般的全嵌套方式相比,有兩點需要注意: (1)當來自某個從設備的中斷請求被響應之后,主片的優(yōu)先權邏輯不封鎖這個從片,從而可以使

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論