微機原理中斷_第1頁
微機原理中斷_第2頁
微機原理中斷_第3頁
微機原理中斷_第4頁
微機原理中斷_第5頁
已閱讀5頁,還剩114頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 有關中斷的基本概念有關中斷的基本概念 8259A可編程中斷控制器可編程中斷控制器 8086中斷系統(tǒng)中斷系統(tǒng) 8086CPU中斷響應流程中斷響應流程 掌握中斷技術的基本概念 了解8086中斷系統(tǒng)及其對各種類型中斷的響應流程 了解8259A中涉及到的有關概念 掌握8259A的編程應用NoImage 8.1 中斷系統(tǒng)的基本概念中斷系統(tǒng)的基本概念一、什么叫中斷?一、什么叫中斷?中斷申請主程序中斷服中斷服務程序務程序返回中斷示意圖所謂中斷,是指這樣一個過程:當CPU正在執(zhí)行程序過程中,由于某一突然突然事件的發(fā)生,暫時中止暫時中止正在執(zhí)行的程序,轉去處理突然發(fā)生的事件( 執(zhí) 行 中 斷服務程序),處理完

2、畢,再返回再返回原來被中止的程序繼續(xù)運行。NoImage例例1:門鈴響時,放下手中正在做的事情,跑去開門,招待客人;客人走后,接著做原來的事情。例例2:教師講課過程中,同學遇有疑問,不同理解之處,隨時向老師提問。問題:請同學們列舉類似問題:請同學們列舉類似“中斷中斷”的例子。的例子。二、應用中斷技術的優(yōu)點二、應用中斷技術的優(yōu)點1.實現(xiàn)實現(xiàn)CPU 與外設的并行工作,提高了與外設的并行工作,提高了 CPU 的效率。的效率。NYREADY?輸入狀態(tài)信息輸入數(shù)據(jù)查詢方式的數(shù)據(jù)輸入中斷方式的數(shù)據(jù)輸入外設請求中斷 INTR有效主程序中斷服務程序輸入 數(shù)據(jù)外設準備數(shù)據(jù)NoImage二、應用中斷技術的優(yōu)點二、

3、應用中斷技術的優(yōu)點1. 實現(xiàn)實現(xiàn)CPU 與外設的并行工作,提與外設的并行工作,提高了高了 CPU 的效率。的效率。2. 實現(xiàn)實時處理。實現(xiàn)實時處理。3. 實現(xiàn)故障處理。實現(xiàn)故障處理。NoImage三、中斷源三、中斷源引起中斷的原因,產生中斷請求的來源。通常有以下幾種:通常有以下幾種:1. 一般的一般的I/O 設備,如鍵盤、打印機等。設備,如鍵盤、打印機等。 2. 實時時鐘。實時時鐘。 3. 故障源。故障源。 4. 為了調試程序而設置的中斷。為了調試程序而設置的中斷。(例如設置斷點,單步運行等例如設置斷點,單步運行等)NoImage四、中斷系統(tǒng)的功能四、中斷系統(tǒng)的功能計算機系統(tǒng)中,用于實現(xiàn)中斷功

4、能的硬件和軟件的集合,稱為中斷系統(tǒng)。中斷系統(tǒng)應解決如下問題:中斷系統(tǒng)應解決如下問題:1. 中斷請求信號的產生 ( 中斷源如何申請中斷?)CPU如何響應?(如何知道有中斷請求? 是否有求必應?響應后的處理過程?)3. 中斷優(yōu)先權問題4. 中斷的具體服務5. 中斷服務完畢,如何返回原程序?NoImage五、實現(xiàn)中斷優(yōu)先權的方法五、實現(xiàn)中斷優(yōu)先權的方法 判斷和確定中斷源的中斷優(yōu)先權,可以采判斷和確定中斷源的中斷優(yōu)先權,可以采用用軟件軟件和和硬件硬件兩種方法。兩種方法。當系統(tǒng)中有多個中斷源存在時,若有幾個中斷源同時提出申請,CPU先響應誰先響應誰? 當CPU正響應某一中斷過程中,又有另外的中斷源提出中

5、斷請求,CPU是否響應是否響應? 為此提出了中斷優(yōu)先權的概念。為此提出了中斷優(yōu)先權的概念。NoImage優(yōu)先權管理電路三態(tài) 緩沖器 譯 碼鎖 存 器GINTRD7 D0A15A0RD中 斷 源 A 中 斷 源 B 中 斷 源 CM / IO1.用軟件確定中斷優(yōu)先權用軟件確定中斷優(yōu)先權軟件查詢流程圖優(yōu)先權管理電路三態(tài) 緩沖器 譯 碼鎖 存 器GINTRD7 D0A15A0RD中 斷 源 A 中 斷 源 B 中 斷 源 CIOM在 中 斷 服 務 中 讀 入 請 求 狀 態(tài)A 申 請 ?B 申 請 ?中 斷 返 回為中斷源A 服務的程序段YC 申 請 ?為中斷源B 服務的程序段為中斷源C 服務的程

6、序段YYNoImage 采用軟件查詢方式的特點:采用軟件查詢方式的特點: 詢問的次序,即為優(yōu)先權的次序。詢問的次序,即為優(yōu)先權的次序。 硬件簡單。硬件簡單。 由查詢轉至相應的服務程序的時間長,由查詢轉至相應的服務程序的時間長,尤其在中斷源較多的情況。尤其在中斷源較多的情況。(1)若CPU 未處理任何中斷,則“ 優(yōu)先權失 效” 信號為高,當任一中斷源請求中斷時,通過門2發(fā)出INTR 信號。128-3 優(yōu)先權 編碼器優(yōu)先權 寄存器A B 比較器A2 A1 A0 B2B1B0比較失效 中斷請求0 中斷請求1 中斷請求2 7D7 D0INTR 編碼器和比較器的優(yōu)先權排隊電路(2)若CPU 正在進行中斷

7、處理,當某一中斷源請求中斷時,能否向CPU 發(fā)出INTR信號,受比較器的控制。2.硬件方式硬件方式128-3 優(yōu)先權 編碼器優(yōu)先權 寄存器A BA0A1A2中斷請求優(yōu)先級編碼器中 斷 屏 蔽 寄 存 器 IMR中斷請求寄存器IRRISR 編 碼 器1&INTD0 D1 D2 D3 D4 D5 D6 D7IR0IR1IR2IR3IR4IR5IR6IR7圖7-12中斷優(yōu)先權電路比較器B0B0B0ABA0A1A2比較器B0B0B0ABA0A1A2中斷請求優(yōu)先級編碼器中 斷 屏 蔽 寄 存 器 IMR中斷請求寄存器IRR中斷請求寄存器IRR中斷請求寄存器IRRISR 編 碼 器1&IN

8、TD0 D1 D2 D3 D4 D5 D6 D7IR0IR1IR2IR3IR4IR5IR6IR7圖7-12中斷優(yōu)先權電路NoImage7. 控制邏輯控制邏輯(1)由IRR等情況,向8259A 其它部件發(fā)出控制信息。(2)向CPU 發(fā)出INT 信號,接收CPU INTA信號。NoImage8. 級聯(lián)緩沖級聯(lián)緩沖/比較器比較器可以實現(xiàn)8259A的級聯(lián),擴展外中斷。(1) CAS2、CAS1、CAS0 引腳 主主8259A: CAS2CAS0 輸出,輸出被輸出,輸出被 響應的從片的標志碼。響應的從片的標志碼。問題:問題:8259A級聯(lián)時,如何確定主級聯(lián)時,如何確定主8259A的的IRi接有從片,從片

9、接入主接有從片,從片接入主8259A的的IRi?8259A 從片 A 8259A 主片8259A 從片 B INT CAS0 CAS1 CAS2 IR0INT CAS0 CAS1 CAS2 IR0 INT CAS0 CAS1 CAS2 IR7 IR6 IR3 IR0 SP/EN SP/ENIR7CS A0 INTACS A0 INTACS A0 INTAIR7SP/ENIR7AB CB DBGND GND Vcc 從從8259A: CAS2CAS0 輸入,接收主片發(fā)出的標志碼,輸入,接收主片發(fā)出的標志碼,與自己的標志碼比較。若相等,下一個與自己的標志碼比較。若相等,下一個INTA信號到來信號到

10、來時,將中斷類型號送至數(shù)據(jù)總線。時,將中斷類型號送至數(shù)據(jù)總線。從片A標志碼:011,從片B標志碼:110NoImage(2) SP / EN引腳 當當8259A 工作于非緩沖方式工作于非緩沖方式 (直接與直接與CPU 的的DB 相連相連)主片 , 1SP 從片 , 0SP SP為輸入,是主從芯片定義引腳。 當當8259A 工作于緩沖方式工作于緩沖方式 (通過總線緩沖器與通過總線緩沖器與 CPU 的的DB 相連相連)EN為輸出,用于CPU與8259A傳送數(shù)據(jù)信息時啟動數(shù)據(jù)總線驅動器。DBDBCPU數(shù)據(jù)總線驅動器8259AENOE此時,主從芯片的定義由ICW4中的M/S實現(xiàn)。NoImage8259

11、A 的引腳圖VccA0IR7IR6IR5IR4IR3IR2IR1IR0INTCAS212345678910111213142827262524232221201918171615INTAENSPWRRDCSD7D6D5D4D3D2D1D0CAS0CAS1GND圖7-138259A 引腳圖VccA0IR7IR6IR5IR4IR3IR2IR1IR0INTCAS212345678910111213142827262524232221201918171615INTAENSPWRRDCSD7D6D5D4D3D2D1D0CAS0CAS1GND圖7-138259A 引腳圖NoImage二、二、8259A 的

12、中斷處理過程的中斷處理過程下面以8259A單片使用為例,說明其中斷處理過程。1、當一條或多條中斷請求線IR0 IR7變高變高時,設置相應的IRR位。2、PR對中斷優(yōu)先權和中斷屏蔽寄存器的狀態(tài)進行判斷之后,如某中斷優(yōu)先權最高且為允許中斷狀態(tài),就向CPU發(fā)高電平信號INT,請求中斷服務。NoImage3、CPU響應中斷時,送回應答信號 INTA 。4、8259A接到來自CPU的第一個信號INTA時,當前中斷服務寄存器(ISR)中相應位置位,并把IRR中相應位復位。同時,8259A準備向數(shù)據(jù)總線發(fā)送中斷類型號。NoImage5、在8259A發(fā)送中斷類型號的后一個INTA 脈沖期間,如果是在AEOI(

13、自動結束中斷)方式下,在這個 INTA 脈沖結束時復位ISR的相應位。在非自動中斷結束方式下,ISR相應位要由中斷服務程序結束時發(fā)出的EOI命令來復位。NoImage三、三、8259A 的工作方式的工作方式 8259A有多種工作方式,這些工作方式可以通過初始化命令字(ICW1ICW4)和操作命令字(OCW1OCW3)來設置。NoImage1. 引入中斷請求的方式引入中斷請求的方式 邊沿觸發(fā)方式邊沿觸發(fā)方式。以上跳沿向8259A請求中斷,上跳沿后可一直維持高電平,不會再產生中斷。 電平觸發(fā)方式電平觸發(fā)方式。以高電平申請中斷,但在響應中斷后必須及時清除高電平,以免引起第二次誤中斷。 中斷查詢方式中

14、斷查詢方式。外設通過8259A申請中斷,但8259A卻不使用INT信號向CPU申請中斷,CPU用軟件查詢確定中斷源,并為其服務。NoImage2. 連接系統(tǒng)總線的方式連接系統(tǒng)總線的方式 在大系統(tǒng)中,要求數(shù)據(jù)總線有總線緩沖器。8259A與這種帶總線緩沖器的系統(tǒng)總線連接的方式稱緩沖器方式緩沖器方式。 在小系統(tǒng)中,則8259A不需要總線緩沖器而是將其直接接至數(shù)據(jù)總線。8259A與這種不需總線緩沖器而直接連到系統(tǒng)總線的方式稱非緩沖器方式非緩沖器方式。NoImage3. 屏蔽中斷源的方式屏蔽中斷源的方式 普通屏蔽方式普通屏蔽方式。利用操作命令字OCW1,使屏蔽寄存器IMR中的一位或幾位置1來屏蔽一個或幾

15、個中斷源的中斷請求。若要開放某一個中斷源的中斷請求,則將IMR中相應的位置0。 特殊屏蔽方式特殊屏蔽方式。在某些場合,在執(zhí)行某一個中斷服務程序時,要求允許另一個優(yōu)先級比它低的中斷請求被響應,此時可采用特殊屏蔽方式。它可通過OCW3的D6D511來設定。NoImage4. 優(yōu)先級排隊的方式優(yōu)先級排隊的方式 全嵌套方式全嵌套方式。在此種方式下中斷優(yōu)先級按0 7順序進行排隊,只允許中斷級別高的中斷源去中斷中斷級別低的中斷服務程序。 特殊全嵌套方式特殊全嵌套方式。它和全嵌套方式基本相同,所不同的是在特殊全嵌套方式下,當執(zhí)行某一級中斷服務程序時,可響應同級的中斷請求,從而實現(xiàn)對同級中斷同級中斷請求的特殊

16、嵌套(8259A級聯(lián)使用時,某從片的級聯(lián)使用時,某從片的8個中斷源對主片個中斷源對主片來說,可以認為是同級的來說,可以認為是同級的)。特殊全嵌套方式用于多片級聯(lián)。NoImage 固定固定優(yōu)先級方式優(yōu)先級方式。在這種方式下,優(yōu)先級順序是固定不變的。其優(yōu)先級順序規(guī)定為IR0,IR1,IR7。該方式在大多數(shù)系統(tǒng)中得到應用。NoImage 優(yōu)先級自動循環(huán)方式優(yōu)先級自動循環(huán)方式。在這種方式下,優(yōu)先級順序不是固定不變的,一個設備得到中斷服務后,其優(yōu)先級自動降為最低。其初始的優(yōu)先級順序規(guī)定為IR0,IR1,IR7。該方式用在系統(tǒng)中多個中斷源優(yōu)先級相等的場合。NoImage 優(yōu)先級特殊循環(huán)方式優(yōu)先級特殊循環(huán)方

17、式。這種方式與優(yōu)先級自動循環(huán)方式唯一的區(qū)別是,其初始的優(yōu)先級順序不是固定IR0為最高,然后開始循環(huán),而是由程序指定IR0 IR7中任意一個為最高優(yōu)先級,然后再按順序自動循環(huán),決定優(yōu)先級。NoImage5. 結束中斷的處理方式結束中斷的處理方式 自動中斷結束方式自動中斷結束方式。在中斷服務程序中,中斷返回之前,不需發(fā)中斷結束命令就會自動清除該中斷源所對應的ISR位(實際上在CPU發(fā)第二個信號時,8259即自動消除ISR中的對應位)。這種方式用在多個中斷不會嵌套的系統(tǒng)中。 非自動中斷結束方式非自動中斷結束方式。在中斷服務程序返回之前,必須發(fā)中斷結束命令才能使ISR中的當前服務位清除。NoImage

18、四、四、8259A 的初始化命令字的初始化命令字 8259A 初始化編程時,有四個初始化命令字ICW(Initialiation Command Word),即ICW1ICW4 ;8259A工作期間,有三個操作命令字OCW(Operation Command Word),即OCW1OCW3。NoImage8259A 只有兩個端口地址 A0=0 偶地址端口1 奇地址端口因此,對8259A讀/寫操作時,要注意控制字寫入的端口地址寫入的順序有關的標志位NoImage1. ICW1(IRi 觸發(fā)方式,是否單片使用,是否寫入ICW4)01LTIM SNGL IC4A0D7D6D5D4D3D2D1D0標志

19、位標志位NoImage LTIM:規(guī)定IRi的觸發(fā)方式1高電平觸發(fā)0 觸發(fā)=NoImage SNGL:是否單片使用1單片使用0級聯(lián)使用=NoImage IC4:是否寫入ICW41后面寫入ICW40不寫入ICW4=NoImage 例例:某8086微機系統(tǒng)中,使用單片8259A,中斷請求信號為上升沿觸發(fā),需要設置ICW4,端口地址為20H,21H,則其初始化命令字ICW1應為:0001001113H,設置ICW1的指令為:MOVAL,13HOUT20H,ALNoImage2. ICW2(中斷類型號的高5位)(中斷類型號的低3位由8259A 自動編碼產生)1T7T6T5T4T3A0D7D6D5D4D

20、3D2D1D0IRi 對應中斷類型號的高5位NoImageT7 T6 T5 T4 T3 T2 T1 T0由ICW2規(guī)定0 0 00 0 10 1 01 1 1IR0IR1IR2IR7NoImage例例:某PC機中8個可屏蔽中斷(IR0 IR7)的類型號為08H 0FH,A01,端口地址為21H,則ICW2為:08H,設置ICW2的指令為:MOVAL,08H OUT21H,ALNoImage3. ICW3(級聯(lián)時,主從芯片的級聯(lián)引腳)若ICW1 中SNGL=1不寫入ICW30寫入ICW3NoImage(1) 寫給主片的寫給主片的ICW3Si = 1, 表示主片IRi上接有從片。1S7S6S5S4

21、S3S2S1S0A0D7D6D5D4D3D2D1D0NoImage(2) 寫給從片的寫給從片的ICW3ID2 ID1 ID0該從片 0 0 0接入主片的IR0 0 0 1接入主片的IR1 1 1 1接入主片的IR7100000ID2ID1ID0A0D7D6D5D4D3D2D1D0從片的標志碼 例:某例:某8086微機系統(tǒng)中,主片微機系統(tǒng)中,主片8259A的的IR2,IR6引腳上分別接有從片引腳上分別接有從片8259A,則主、從片的則主、從片的ICW3初始初始化命令字設置如下:化命令字設置如下:主片初始化命令字:主片初始化命令字:(口地址設為口地址設為20H, 21H)MOVAL,44H;44H

22、為主片的為主片的ICW3,表示其表示其IR6,IR2上接有從片上接有從片OUT21H,AL ;將將ICW3寫入奇地址端口寫入奇地址端口從片從片1的初始化命令:的初始化命令:(口地址為口地址為30H,31H)MOVAL,02H OUT31H,AL從片從片2的初始化命令:的初始化命令:(口地址為口地址為40H,41H)MOVAL,06H OUT41H,ALNoImage4. ICW4100SFNM BUFM/SAEOI1A0D7D6D5D4D3D2D1D00標志位用于8088/ 8086系統(tǒng)NoImage0 正常的完全嵌套方式1 特殊的完全嵌套方式(1) SFNM: 規(guī)定規(guī)定8259A中斷的嵌套方

23、式中斷的嵌套方式(單片使用時,兩種方式一樣。)SFNM=NoImage 正常的完全嵌套方式正常的完全嵌套方式高級的中斷NoImage 特殊的完全嵌套方式特殊的完全嵌套方式同級的或高級的中斷注意:級聯(lián)使用時,某一從片的注意:級聯(lián)使用時,某一從片的IRIRi i對對主片來說是同級的主片來說是同級的( (同級中斷同級中斷) )。此處,要理解同級中斷的概念此處,要理解同級中斷的概念!(to CPU)INTAINT從8259AIR7IR6IR0IR7IR6IR0INTAINTCAS0CAS1CAS2CAS0CAS1CAS2主8259AINTA(from CPU)INTR例如:例如:若主、從若主、從825

24、9A工作于固定優(yōu)先權方式,從片工作于固定優(yōu)先權方式,從片的優(yōu)先級為的優(yōu)先級為IR0IR1 IR7。但對主片來說,從但對主片來說,從片的片的IR0 IR7 是同級的。是同級的。NoImage1緩沖方式0非緩沖方式(2) BUF=NoImage(3) M/S 當8259A 工作于緩沖方式時 (BUF=1) , M/S用于定義主、從芯片。1主8259A0從8259AM/S = NoImage 當8259A工作于非緩沖方式時 (BUF = 0),SP引腳為輸入,用于定義主從芯片,此時 M/S 不起作用。NoImage(4) AEOI: 規(guī)定中斷的結束方式規(guī)定中斷的結束方式(如何使如何使ISR中對應位清

25、中對應位清0) AEOI = 1 自動中斷結束方式 當CPU 發(fā)出第二個 后,ISR 中的相應位復位,此時,不適宜實現(xiàn)中斷嵌套。INTANoImage AEOI = 0 非自動中斷結束方式 由程序發(fā)出EOI 命令 (由8259A 的OCW 實現(xiàn)),使ISR 中相應位復位。NoImage五、五、8259A 的初始化編程邏輯的初始化編程邏輯用ICW1設置:是否級聯(lián)? 請求信號的觸發(fā)方式 后面是否用ICW4用ICW2設中斷類型碼是否為級聯(lián)方式?本片為主片嗎?設ICW3各位對應 IR0IR 7 的連接狀況設ICW3 高5位為0; 低3位為標識碼用ICW4 嗎?用 ICW4 設:為特殊全嵌套方式? 為緩

26、沖方式? 為自動EOI方式? 為8086/8088系統(tǒng)?ENDNYNNY8259A的初始化流程注意:級聯(lián)注意:級聯(lián)使用時,主、使用時,主、從從8259A都都要作初始化要作初始化操作。操作。MOVAL, 13H; ICW1=0001,0011B, 邊沿觸發(fā)邊沿觸發(fā),單片使用單片使用, ; 要要 ICW4.OUT20H, ALMOVAL, 08H; ICW2=08H, IR0IR7對應的中斷類型號對應的中斷類型號; 為為08H0FHOUT21H, ALMOVAL, 09H; ICW4=09H, 正常的嵌套方式正常的嵌套方式,; 非自動中斷結束方式非自動中斷結束方式OUT 21H,ALNoImage

27、六、六、8259A 的操作命令字的操作命令字 對8259A 進行初始化編程后,8259A作好了接收中斷請求輸入的準備,在8259A 工作期間可由操作命令字OCW1OCW3 規(guī)定其各種工作方式。NoImage1. OCW1(中斷屏蔽操作命令字)中斷屏蔽操作命令字)設置或清除IMR 的各個位。1A0D7D0M7M0 Mi=1 表示IRi被屏蔽NoImage 例例:設OCW106H,則表示IR1,IR2 兩 個引腳上的中斷申請被屏蔽,其他的中斷申請 (IR0,IR3IR7)則得到允許。8259A編程指令為:MOV AL,00000110B ;OCW1屏蔽字OUT 21H,AL ;屏蔽字寫入奇地址口

28、;的 OCW1寄存器NoImage2. OCW2 (優(yōu)先權循環(huán)方式和中斷結束方式優(yōu)先權循環(huán)方式和中斷結束方式操作命令字操作命令字)0RSL EOI00L2L1L0A0D7D6D5D4D3D2D1D0標志位NoImage有兩個作用:SFNM 一般方法:令SL = 0, EOI =1 將OCW2寫入8259A后,將剛剛被服務的IRi對應位復位。NoImage 特殊方法:令 SL = 1, EOI = 1寫入OCW2后,使L2L1L0指定的位復位。L2 L1 L00 0 00 0 11 1 1D0D1D7ISR中的DiIR0IR1IR7對應的IRiNoImage R = 0 固定優(yōu)先權方式IR0 I

29、R1 IR7 R = 1, SL = 0 優(yōu)先權自動循環(huán)方式例: IR7IR6IR5IR4IR3IR2IR1IR0初始優(yōu)先權為:76543210若ISR =01010000則 當 I R4 服務完畢后,優(yōu)先權為:21076543NoImage R = 1, SL = 1 優(yōu)先權特殊循環(huán)方式此時,L2L1L0 規(guī)定循環(huán)開始時的最低優(yōu)先權例: 1 1 0 0 1 0 1IR5優(yōu)先權最低此時,優(yōu)先權為:IR7IR6IR5IR4IR3IR2IR1IR010765432MOVAL,0C2H ;OCW2 OUT20H,AL;把把OCW2寫入寫入8259A的偶的偶地址端口。地址端口。OCW2:R SL EO

30、I 0 0 L2 L1L01 1 0 0 0 0 1 0NoImage例例:試編一段程序,用以清除8086系統(tǒng)中8259A的ISR第6位(ISR6),8259A的偶地址為20H。為實現(xiàn)題意要求,應先確定OCW2的內容,然后將OCW2寫入8259A的偶地址端口。OCW2:MOVAL,66H ;OCW2OUT20H,AL ;把OCW2寫入8259A的偶地址端口。 R SL EOI 0 0 L2 L1 L00 1 1 0 0 1 1 0NoImage3. OCW300ESMM SMM01PRR RISA0D7D0標志位(特殊屏蔽方式和中斷查詢方式操作命令字特殊屏蔽方式和中斷查詢方式操作命令字)NoI

31、mage有三個作用:有三個作用: 正常的屏蔽方式由OCW1 設置IMR 實現(xiàn) 特殊的屏蔽工作方式因此,可以通過設置或撤消特殊的屏蔽工作因此,可以通過設置或撤消特殊的屏蔽工作方式,動態(tài)改變優(yōu)先權的結構。方式,動態(tài)改變優(yōu)先權的結構。正常的屏蔽方式設置特殊的屏蔽方式只要IMR中的對應位沒有置“ 1”,8259A就可以接受其中斷請求。撤消特殊的屏蔽方式正常的屏蔽方式1SMM1ESMM令0SMM1ESMM令NoImageINAL, INTA1; IMR AL8259A 中的IMR由OCW1設置,對應奇地址端口,可以寫入,也可以讀出。 8259A 中中IRR、ISR 只能讀出,不能寫入,只能讀出,不能寫入

32、,都對應偶地址端口。此時,可先寫入都對應偶地址端口。此時,可先寫入OCW3,OCW3中的中的RR、RIS 規(guī)定從偶地規(guī)定從偶地址端口讀出的是址端口讀出的是IRR 或或ISR 的值。的值。MOV AL, OCW3OUT INTA0, ALIN AL, INTA0 ; 若若OCW3中中RR RIS 則讀出的是則讀出的是1 1 ISR1 0 IRRMOVAL,0AH;OCW3=0AH, 指出要讀指出要讀IRR OUT20H,AL;OCW3寫入寫入8259A的偶地址端口的偶地址端口 INAL,20H;讀回讀回IRR的內容的內容 MOV080H,AL ;將將IRR的內容存入從的內容存入從080H開始的單

33、元中開始的單元中 MOVAL,0BH ;OCW30BH,指出要讀指出要讀ISR OUT20H,ALINAL,20H ;讀回讀回ISR的內容的內容 MOV 081H ,AL ;將將ISR的內容存入內容的內容存入內容 INAL,21H ;讀回讀回IMR MOV082H,AL;IMR內容存入內存內容存入內存NoImage 某些情況下,當IF設置為0時,用查詢方式為中斷源服務。 令OCW3 中的P = 1,寫入OCW3后,若之前有IRi有效,8259A 把CPU 的下一個讀信號看作 信號,使ISR 中最高優(yōu)先權的某一位置位,同時送以下數(shù)據(jù)至DB。INTAMOVAL, OCW3; 其中 P=1OUTIN

34、TA0, AL; 發(fā)OCW3INAL, INTA0; 讀偶地址端口NoImage此時,AL 中的數(shù)據(jù)1W2W1W0D7D0當前最高優(yōu)先權IRi對應的編 碼0 0 00 0 11 1 1IR0IR1IR7表示有中斷請求 0 沒有中斷請求NoImage 例例:假如8259A的IR2輸入引腳上有中斷申請,但此時8086CPU內部的中斷允許標志IF0,8086CPU應如何知道其8259A的IR2輸入引腳上有中斷請求? 為使8086CPU知道其8259A IR2引腳上有中斷申請,可用中斷查詢方式來解決(即CPU先發(fā)一個查詢命令OCW3,然后接收8259A的查詢字),其程序如下:NoImageOCW3為:

35、0ESMMSMM01PRRRIS0 0 0 0 1 1 0 00ESMMSMM01PRRRIS0 0 0 0 1 1 0 0MOVAL,0CH ;P1查命令OCW3OUT20H,AL;輸出查詢命令,即OCW3 寫入8259A的偶地址端口 INAL,20H;讀8259A的查詢字NoImage七、七、8259A 對對ICW、OCW的識別的識別8259A 只占兩個端口,但ICW 有4個,OCW有3個。1. A0 = 0 (偶地址端口偶地址端口) 寫入的有:寫入的有:ICW1, OCW2,OCW3(D4=1)0D0D430D1D43用標志位識別用標志位識別NoImage2. A0 = 1 (奇地址端口

36、奇地址端口) 寫入的有:寫入的有:ICW2 ICW3 ICW4 OCW1按寫入順序識別按寫入順序識別注意:注意:初始化過程中可能沒有ICW3或ICW4,應根據(jù)具體情況確定。NoImage八、八、8259A編程舉例編程舉例例例 9.1 9.1 設8259A應用于8088系統(tǒng),中斷類型號為08H0FH,它的偶地址為20H,奇地址為21H,設置單片8259A按如下方式工作:電平觸發(fā),普通全嵌套,普通EOI,非緩沖工作方式,試編寫其初始化程序。 分析:分析:根據(jù)8259A應用于8088系統(tǒng),單片工作,電平觸發(fā),可得:ICW1=00011011B;根據(jù)中斷類型號為08H0FH,可得:ICW2=00001000B;根據(jù)普通全嵌套,普通EOI,非緩沖工作方式,可得:ICW4=00000001B 。寫入置此三字,即可完成初始化,程序如

溫馨提示

  • 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

提交評論