版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第第 9 9 章章中斷技術(shù)中斷技術(shù)呱,打擾一下!主要內(nèi)容 中斷的概念中斷的概念 8088 CPU的中斷系統(tǒng)的中斷系統(tǒng) 中斷控制器中斷控制器8259A8.1 8.1 中斷概念中斷概念什么是中斷什么是中斷 所謂中斷,就是指當所謂中斷,就是指當CPUCPU正在執(zhí)行程序正在執(zhí)行程序時,外設(shè)時,外設(shè)( (或其它中斷源或其它中斷源) )向向CPUCPU發(fā)出請求,發(fā)出請求,CPUCPU暫停當前程序的執(zhí)行,轉(zhuǎn)向該外設(shè)服務暫停當前程序的執(zhí)行,轉(zhuǎn)向該外設(shè)服務( (或稱中斷服務或稱中斷服務) )程序,當中斷服務程序運程序,當中斷服務程序運行結(jié)束后,返回原程序繼續(xù)執(zhí)行的過程。行結(jié)束后,返回原程序繼續(xù)執(zhí)行的過程。 處理
2、處理:外部緊急事件、異常情況:外部緊急事件、異常情況中斷服務程序中斷服務程序(Interrupt-service Interrupt-service routing routing ), ,處理隨機事件的特殊程序,處理隨機事件的特殊程序,又被稱為中斷處理程序(又被稱為中斷處理程序(interrupt interrupt handlerhandler)。)。中斷源中斷源,引起,引起CPUCPU中斷的隨機事件,或能中斷的隨機事件,或能發(fā)出中斷請求的其它來源。發(fā)出中斷請求的其它來源。中斷技術(shù)是現(xiàn)代計算機系統(tǒng)中很重要的一中斷技術(shù)是現(xiàn)代計算機系統(tǒng)中很重要的一項功能,可以應用于以下幾個方面的處理項功能,可
3、以應用于以下幾個方面的處理。1 1 )故障檢測和自動處理故障檢測和自動處理2 2 )實時信息處理)實時信息處理3 3 )并行操作,控制和管理多臺外設(shè)記終端)并行操作,控制和管理多臺外設(shè)記終端4 4 )分時操作)分時操作一一 什么是中斷什么是中斷斷點主程序中斷服務程序中斷請求對外設(shè)進行處理繼續(xù)執(zhí)行返回斷點 ?中斷源有哪些中斷源有哪些怎樣識別中斷源怎樣識別中斷源怎樣進入中斷服務怎樣進入中斷服務怎樣返回斷點怎樣返回斷點怎樣管理中斷源怎樣管理中斷源中斷的過程中斷的過程向向CPUCPU發(fā)出中斷發(fā)出中斷CPUCPU允許響應此中斷允許響應此中斷壓棧保護現(xiàn)場及斷點壓棧保護現(xiàn)場及斷點找到中斷服務程序的入口地址找
4、到中斷服務程序的入口地址執(zhí)行中斷服務程序執(zhí)行中斷服務程序恢復現(xiàn)場及斷點恢復現(xiàn)場及斷點即即 包括:中斷請求,中斷判優(yōu),中斷響應,包括:中斷請求,中斷判優(yōu),中斷響應,中斷處理,中斷返回。中斷處理,中斷返回。中斷系統(tǒng)應具有的功能中斷系統(tǒng)應具有的功能(1)實現(xiàn)中斷及返回)實現(xiàn)中斷及返回(2)能實現(xiàn)優(yōu)先權(quán)排隊)能實現(xiàn)優(yōu)先權(quán)排隊(3)高級中斷源能中斷低級的中斷處理)高級中斷源能中斷低級的中斷處理中斷響應與調(diào)用子程序的區(qū)別中斷響應與調(diào)用子程序的區(qū)別調(diào)用子程序調(diào)用子程序事先安排好的主動行為事先安排好的主動行為保護斷點保護斷點為主程序服務為主程序服務一般與外設(shè)無關(guān)一般與外設(shè)無關(guān)中斷響應中斷響應隨機的、被動行為隨
5、機的、被動行為保護斷點及現(xiàn)場保護斷點及現(xiàn)場為外設(shè)服務為外設(shè)服務為處理各種事件服務為處理各種事件服務軟件中斷和調(diào)用子程序軟件中斷和調(diào)用子程序很相似,調(diào)用方便很相似,調(diào)用方便8.2 80868.2 8086的中斷技術(shù)的中斷技術(shù)80888088的中斷系統(tǒng)采用向量中斷機制的中斷系統(tǒng)采用向量中斷機制能夠處理能夠處理256256個中斷個中斷用中斷向量號用中斷向量號0 0 255255區(qū)別區(qū)別可屏蔽中斷還需要借助專用中斷控制器可屏蔽中斷還需要借助專用中斷控制器Intel 8259AIntel 8259A實現(xiàn)優(yōu)先權(quán)管理實現(xiàn)優(yōu)先權(quán)管理80868086提供兩條外部中斷請求線,和一條與提供兩條外部中斷請求線,和一條
6、與中斷有關(guān)的控制線:中斷有關(guān)的控制線:NMINMI,INTRINTR, INTAINTA(中斷響應)。中斷響應)。80868086中斷有兩大類中斷有兩大類(1 1)軟件中斷(內(nèi)部中斷),由指令的執(zhí)行)軟件中斷(內(nèi)部中斷),由指令的執(zhí)行所引起的中斷;所引起的中斷;(2 2)硬件中斷(外部中斷),由外部主要是)硬件中斷(外部中斷),由外部主要是外設(shè)的請求引起的中斷。外設(shè)的請求引起的中斷。一、中斷類型和中斷向量表一、中斷類型和中斷向量表1 1、中斷類型號、中斷類型號 80868086用用0 0255255來區(qū)分來區(qū)分256256個不同中斷源,個不同中斷源,并對應給出并對應給出中斷向量。中斷向量。0
7、04 4: 5 5個內(nèi)部中斷,有固定的定義和處理個內(nèi)部中斷,有固定的定義和處理功能;功能;5 53131:系統(tǒng)保留,用戶一般不應使用:系統(tǒng)保留,用戶一般不應使用3232255255:用戶使用作為硬件或軟件中斷,也:用戶使用作為硬件或軟件中斷,也可不用,作為數(shù)據(jù)存儲區(qū)。可不用,作為數(shù)據(jù)存儲區(qū)。2 2、中斷向量表、中斷向量表 8086/80888086/8088系統(tǒng)支持最多系統(tǒng)支持最多256256個中斷,對應個中斷,對應每一個中斷,都有一個中斷服務程序,該每一個中斷,都有一個中斷服務程序,該中斷服務程序的中斷服務程序的入口地址入口地址稱為中斷向量。稱為中斷向量。每個中斷向量占用每個中斷向量占用4
8、4個字節(jié),前兩個字節(jié)為個字節(jié),前兩個字節(jié)為服務程序的服務程序的IPIP(偏移量),后兩個字節(jié)為(偏移量),后兩個字節(jié)為服務程序的服務程序的CSCS(段地址)。(段地址)。 每個中斷類型對應一個中斷向量。每個中斷類型對應一個中斷向量。256256個中斷類型,其中斷向量構(gòu)成一個中斷個中斷類型,其中斷向量構(gòu)成一個中斷向量表,放在向量表,放在0 0段的段的0 03FFH3FFH區(qū)域內(nèi),每個區(qū)域內(nèi),每個占占4 4個字節(jié)。個字節(jié)。存放中斷向量的位置中斷類型號存放中斷向量的位置中斷類型號4 4(0 0段)開始的段)開始的4 4個內(nèi)存單元。個內(nèi)存單元。向量號為向量號為N的中斷向量的物理地址的中斷向量的物理地址
9、N48086的中斷向量表的中斷向量表向量號向量號255的的CS值值用戶中斷用戶中斷(向量號(向量號255)3FCH向量號向量號255的的IP值值向量號向量號2的的CS值值非屏蔽中斷非屏蔽中斷(向量號(向量號2)008H向量號向量號2的的IP值值向量號向量號1的的CS值值單步中斷單步中斷(向量號(向量號1)004H向量號向量號1的的IP值值向量號向量號0的的CS值值除法錯中斷除法錯中斷(向量號(向量號0)000H向量號向量號0的的IP值值例:例:20H號中斷的中斷服務程序的入口地址號中斷的中斷服務程序的入口地址(中斷向量)(中斷向量)4030H:2010H,則此中斷向,則此中斷向量占用的內(nèi)存單元
10、為:量占用的內(nèi)存單元為:0000H:0080H開始的開始的4個單元個單元0080H0081H0082H0083H10H20H30H40HIPCS二、中斷指令和中斷屏蔽二、中斷指令和中斷屏蔽1 1、中斷指令、中斷指令CLICLI:清中斷標志,:清中斷標志,IFIF0 0,禁止可屏蔽中斷;,禁止可屏蔽中斷;STISTI:中斷標志置位,:中斷標志置位, IFIF1 1,開放可屏蔽中斷;,開放可屏蔽中斷;INT nINT n:軟件中斷:軟件中斷CPUCPU工作:工作:(Flags) (SP)(Flags) (SP)2)2) 先復制先復制TFTF狀態(tài),然后狀態(tài),然后TF,IF=0TF,IF=0 (CS)
11、 (SP) (CS) (SP)4)4) (4 (4* *n+2) (CS)n+2) (CS) (IP) (SP) (IP) (SP)6) 6) (4 (4* *n) (IP) n) (IP) IRET: 中斷返回中斷返回CPU的工作:的工作:(SP) IP(SP)+2) CS(SP)+4) flag(SP)+6 SPINTO 溢出中斷(溢出中斷(INT 4)HLT 暫停等待外部中斷或復位暫停等待外部中斷或復位2、 中斷的屏蔽中斷的屏蔽中斷允許標志位(中斷允許標志位(IF),只能影響可屏蔽),只能影響可屏蔽外部中斷,不影響軟件中斷、內(nèi)部中斷以外部中斷,不影響軟件中斷、內(nèi)部中斷以及非屏蔽的外部中斷
12、。及非屏蔽的外部中斷。系統(tǒng)響應中斷時,使系統(tǒng)響應中斷時,使IF0,保證響應過程,保證響應過程不被打斷。不被打斷。若有優(yōu)先級高的中斷,若有優(yōu)先級高的中斷, 在服務子程序中使在服務子程序中使IF1。3、IF 中斷標志中斷標志IF0,關(guān)中斷、禁止中斷、中斷屏蔽,因,關(guān)中斷、禁止中斷、中斷屏蔽,因此可屏蔽的中斷不會被響應。此可屏蔽的中斷不會被響應。系統(tǒng)復位系統(tǒng)復位任何一個中斷響應任何一個中斷響應執(zhí)行執(zhí)行CLI 將使將使IF0IF1,開中斷、允許中斷、中斷開放,可,開中斷、允許中斷、中斷開放,可屏蔽的中斷會被響應。屏蔽的中斷會被響應。執(zhí)行執(zhí)行STI 將使將使IF1執(zhí)行執(zhí)行IRET,恢復原,恢復原IF非屏
13、蔽中斷源非屏蔽中斷源中斷邏輯中斷邏輯INTO指令指令(4)單步單步中斷中斷(1)除法除法錯誤錯誤(0)INT N指令指令CPUINTRNMI(2)可屏蔽中斷源可屏蔽中斷源8259A中斷中斷控制器控制器IR0IR1IR2IR3IR4IR5IR6IR7外外設(shè)設(shè)中中斷斷源源 INTA內(nèi)部中斷內(nèi)部中斷除法錯中斷除法錯中斷指令中斷指令中斷溢出中斷溢出中斷單步中斷單步中斷外部中斷外部中斷非屏蔽中斷非屏蔽中斷可屏蔽中斷可屏蔽中斷三、中斷的功能INT 3指令指令1. 1. 內(nèi)部中斷內(nèi)部中斷內(nèi)部中斷是由于內(nèi)部中斷是由于8088內(nèi)部執(zhí)行程序出現(xiàn)異內(nèi)部執(zhí)行程序出現(xiàn)異常引起常引起的程序中斷的程序中斷利用內(nèi)部中斷,微處
14、理器為用戶提供了發(fā)利用內(nèi)部中斷,微處理器為用戶提供了發(fā)現(xiàn)、調(diào)試并解決程序執(zhí)行時異常情況的有現(xiàn)、調(diào)試并解決程序執(zhí)行時異常情況的有效途徑效途徑例如,例如,ROM-BIOS和和DOS系統(tǒng)利用內(nèi)部中系統(tǒng)利用內(nèi)部中斷為程序員提供了各種功能調(diào)用斷為程序員提供了各種功能調(diào)用除法錯中斷,類型除法錯中斷,類型0中斷中斷在執(zhí)行除法指令時,若除數(shù)為在執(zhí)行除法指令時,若除數(shù)為0或商超過了或商超過了寄存器所能表達的范圍,則產(chǎn)生一個寄存器所能表達的范圍,則產(chǎn)生一個向量號向量號為為0的內(nèi)部中斷,稱為的內(nèi)部中斷,稱為除法錯中斷。自動轉(zhuǎn)除法錯中斷。自動轉(zhuǎn)到到0000H0003H存放的地址執(zhí)行。存放的地址執(zhí)行。例如:例如:mov
15、 bl,0idiv bl;除數(shù);除數(shù)BL0,產(chǎn)生除法錯中斷,產(chǎn)生除法錯中斷mov ax,200hmov bl,1div bl;商;商200H,不能用,不能用AL表達表達;產(chǎn)生除法錯中斷;產(chǎn)生除法錯中斷溢出中斷,溢出中斷, 類型類型4中斷中斷在執(zhí)行溢出中斷指令在執(zhí)行溢出中斷指令I(lǐng)NTO時,若溢出標志時,若溢出標志OF為為1,則產(chǎn)生一個則產(chǎn)生一個向量號為向量號為4的內(nèi)部中斷,被稱為的內(nèi)部中斷,被稱為溢出中溢出中斷斷有必要時用有必要時用INTO引入,用于測試溢出標志。跟在引入,用于測試溢出標志。跟在有符號數(shù)的計算后面,程序員知道是否為有符號有符號數(shù)的計算后面,程序員知道是否為有符號數(shù),對于無符號數(shù)則
16、無所謂。數(shù),對于無符號數(shù)則無所謂。例如:例如:mov ax,2000hadd ax, 7000h;2000H7000H9000H,溢出:,溢出:OF1into;因為;因為OF1,所以產(chǎn)生溢出中斷,所以產(chǎn)生溢出中斷單步中斷,類型單步中斷,類型1中斷中斷若單步中斷若單步中斷TF為為1,則在每條指令執(zhí)行結(jié)束,則在每條指令執(zhí)行結(jié)束后產(chǎn)生一個向量號為后產(chǎn)生一個向量號為1的內(nèi)部中斷,稱為單的內(nèi)部中斷,稱為單步中斷步中斷例如:例如:DEBUG.EXE調(diào)試程序的單步命令調(diào)試程序的單步命令T就利就利用單步中斷實現(xiàn)對程序的單步調(diào)試用單步中斷實現(xiàn)對程序的單步調(diào)試斷點中斷,類型斷點中斷,類型3中斷中斷在調(diào)試程序時使用
17、,將某處的一條指令替在調(diào)試程序時使用,將某處的一條指令替換為換為 INT3指令。需要保存原內(nèi)容,調(diào)試完指令。需要保存原內(nèi)容,調(diào)試完后回復原指令。后回復原指令。比較特別(生成一個字節(jié)的指令代碼:比較特別(生成一個字節(jié)的指令代碼:11001100),常用于程序調(diào)試,被稱為),常用于程序調(diào)試,被稱為斷斷點中斷點中斷例如:例如:DEBUG.EXE調(diào)試程序的運行命令調(diào)試程序的運行命令G設(shè)置設(shè)置的斷點,就是利用的斷點,就是利用INT 3指令實現(xiàn)的指令實現(xiàn)的2 2、軟件(指令)中斷、軟件(指令)中斷在執(zhí)行中斷調(diào)用指令在執(zhí)行中斷調(diào)用指令I(lǐng)NT n時產(chǎn)生的一個時產(chǎn)生的一個向向量號為量號為n(0 255)的內(nèi)部中
18、斷,稱為)的內(nèi)部中斷,稱為指令指令中斷。中斷。被成為向量化的子程序調(diào)用,一般會是功被成為向量化的子程序調(diào)用,一般會是功能比較復雜的仿真子程序。能比較復雜的仿真子程序。所有的外部中斷也可以用指令調(diào)用所有的外部中斷也可以用指令調(diào)用。3 3、外部中斷、外部中斷外部中斷是由于外部中斷是由于8088外部提出中斷請求引外部提出中斷請求引起起的程序中斷的程序中斷利用外部中斷,微機系統(tǒng)可以實時響應外利用外部中斷,微機系統(tǒng)可以實時響應外部設(shè)備的數(shù)據(jù)傳送請求,能夠及時處理外部設(shè)備的數(shù)據(jù)傳送請求,能夠及時處理外部意外或緊急事件部意外或緊急事件外部中斷的原因是處理器外部隨機產(chǎn)生的,外部中斷的原因是處理器外部隨機產(chǎn)生的
19、,所以是真正的所以是真正的中斷中斷(Interrupt)內(nèi)部中斷的原因是處理器執(zhí)行程序出現(xiàn)異內(nèi)部中斷的原因是處理器執(zhí)行程序出現(xiàn)異常,所以經(jīng)常被稱為常,所以經(jīng)常被稱為異常異常(Exception) 非屏蔽中斷非屏蔽中斷通過非屏蔽中斷請求信號向微處理器提出通過非屏蔽中斷請求信號向微處理器提出的中斷請求,微處理器無法禁止,將在當?shù)闹袛嗾埱?,微處理器無法禁止,將在當前指令執(zhí)行結(jié)束予以響應,這個中斷被稱前指令執(zhí)行結(jié)束予以響應,這個中斷被稱為非屏蔽中斷為非屏蔽中斷8088的非屏蔽中斷的向量號為的非屏蔽中斷的向量號為2,非屏蔽中,非屏蔽中斷請求信號為斷請求信號為NMI非屏蔽中斷主要用于處理系統(tǒng)的意外或故非屏
20、蔽中斷主要用于處理系統(tǒng)的意外或故障。例如:障。例如:電源調(diào)電前的數(shù)據(jù)保護電源調(diào)電前的數(shù)據(jù)保護存儲器讀寫錯誤的處理存儲器讀寫錯誤的處理 可屏蔽中斷可屏蔽中斷外部通過可屏蔽中斷請求信號向微處理器外部通過可屏蔽中斷請求信號向微處理器提出的中斷,微處理器在允許可屏蔽中斷提出的中斷,微處理器在允許可屏蔽中斷的條件下,在當前指令執(zhí)行結(jié)束予以響應,的條件下,在當前指令執(zhí)行結(jié)束予以響應,同時輸出可屏蔽中斷響應信號,這個中斷同時輸出可屏蔽中斷響應信號,這個中斷就是可屏蔽中斷就是可屏蔽中斷8088的可屏蔽中斷請求和響應信號分別是的可屏蔽中斷請求和響應信號分別是INTR和和INTA*;由由IF標志控制可屏蔽中斷標志
21、控制可屏蔽中斷是否允許響應是否允許響應;向量號來自外部中斷控制向量號來自外部中斷控制器。器。申請在申請在INTR線上發(fā)出信號,可以被線上發(fā)出信號,可以被CPU查查到,有要在服務完成前及時撤銷,以防重到,有要在服務完成前及時撤銷,以防重復觸發(fā)。復觸發(fā)。INTA*作為中斷應答信號,送出兩個負脈作為中斷應答信號,送出兩個負脈沖,第一個通知外設(shè)得到響應,第二個將沖,第一個通知外設(shè)得到響應,第二個將中斷類型號送上數(shù)據(jù)線。中斷類型號送上數(shù)據(jù)線。8088通常需要配合中斷控制器通常需要配合中斷控制器8259A共同處共同處理可屏蔽中斷理可屏蔽中斷可屏蔽中斷主要用于主機與外設(shè)交換數(shù)據(jù)可屏蔽中斷主要用于主機與外設(shè)交
22、換數(shù)據(jù)明明確確IF標標志志的的狀狀態(tài)態(tài)是是關(guān)關(guān)鍵鍵8086/8088的中斷響應過程的中斷響應過程NMIN軟件中斷軟件中斷INTRTF=1中斷響應周期中斷響應周期讀中斷向量號讀中斷向量號下條指令下條指令現(xiàn)行指令現(xiàn)行指令I(lǐng)F1NNNNYYYYY查詢中斷的順序,查詢中斷的順序,決定了各種中斷源的優(yōu)先權(quán)決定了各種中斷源的優(yōu)先權(quán) 軟件中斷軟件中斷 除法錯中斷除法錯中斷 指令中斷指令中斷 溢出中斷溢出中斷 非屏蔽中斷非屏蔽中斷 可屏蔽中斷可屏蔽中斷單步中斷單步中斷高高低低8086/8088的中斷響應過程的中斷響應過程(續(xù))(續(xù))Y還有還有NMITEMP1標志寄存器入棧標志寄存器入棧TEMPTF,IFTF0
23、CS:IP入棧入棧獲取中斷向量獲取中斷向量執(zhí)行服務程序執(zhí)行服務程序彈出彈出CS:IP彈出標志寄存器彈出標志寄存器返回被中斷程序返回被中斷程序(1)(2)(3)(4)(5)NNY(6)8.3 8.3 中斷控制器中斷控制器8259A8259A呱,打擾一下呱。呱呱呱,還有我中斷申請管理接口的主要功能中斷申請管理接口的主要功能:1. 向向CPU的引腳的引腳INTR發(fā)中斷申請信號發(fā)中斷申請信號 當有多個外設(shè)同時發(fā)出中斷請求時,當有多個外設(shè)同時發(fā)出中斷請求時, 能按照一定的優(yōu)先級順序,向能按照一定的優(yōu)先級順序,向CPU發(fā)出中斷申請,發(fā)出中斷申請, 使使CPU能優(yōu)先響應優(yōu)先級最高的外部設(shè)備的中斷申請。能優(yōu)先
24、響應優(yōu)先級最高的外部設(shè)備的中斷申請。2. 送中斷類型號送中斷類型號 在在CPU中斷響應周期,針對不同外設(shè)的中斷請求,中斷響應周期,針對不同外設(shè)的中斷請求, 向向CPU傳送不同的中斷類型號,傳送不同的中斷類型號, 使使CPU執(zhí)行相應的中斷子程執(zhí)行相應的中斷子程。Intel 8259A是可編程中斷控制器是可編程中斷控制器用于管理用于管理Intel 8080/8085、8086/8088、80286/80386的可屏蔽中斷的可屏蔽中斷8259A的基本功能的基本功能一片一片8259A可以管理可以管理8級中斷,可擴展至級中斷,可擴展至64級級每一級中斷都可單獨被屏蔽或允許每一級中斷都可單獨被屏蔽或允許在
25、中斷響應周期,可提供相應的中斷向量號在中斷響應周期,可提供相應的中斷向量號8259A設(shè)計有多種工作方式,可通過編程選擇設(shè)計有多種工作方式,可通過編程選擇8259A的引腳的引腳 雙列直插式芯片,雙列直插式芯片,28個引腳個引腳方方 波波鍵鍵 盤盤保保 留留串串 口口2 硬硬 盤盤軟軟 盤盤打印機打印機IOW18.2HzA0CS8259A總線總線A0數(shù)數(shù) 據(jù)據(jù) 線線 IORRDWR片片選選譯譯碼碼IR0IR1IR2IR3IR4IR5IR6IR7A5A9D0D7D0D7VccSP/ENCA0CA1CA2GND+ 5V203FH用于多片用于多片8259A級連情況級連情況INTAINT INTA INT
26、R串串 口口1 一、一、8259A8259A的引腳、結(jié)構(gòu)和工作原理的引腳、結(jié)構(gòu)和工作原理引腳引腳1、D0D7: 8條數(shù)據(jù)線,與條數(shù)據(jù)線,與CPU數(shù)據(jù)總線相連,數(shù)據(jù)總線相連,進行數(shù)據(jù)交換,寫入控制字或送出類型號。進行數(shù)據(jù)交換,寫入控制字或送出類型號。2、INT:中斷請求,與:中斷請求,與CPU INTR相連發(fā)出中斷相連發(fā)出中斷申請。申請。INTA*: 接收來自接收來自CPU的響應信號,一般兩個負脈的響應信號,一般兩個負脈沖。沖。RD*: 讀信號,讀讀信號,讀CPU某個內(nèi)部寄存器的內(nèi)容某個內(nèi)部寄存器的內(nèi)容WR*:寫信號,通知:寫信號,通知CPU接收命令字。接收命令字。CS*:片選信號片選信號A0:
27、1片片8259A占用兩個端口地址,一個偶地址占用兩個端口地址,一個偶地址(A00)較低,一個奇地址()較低,一個奇地址(A01)較高。)較高。IR0IR7: 分別接分別接8個外設(shè)中斷請求或從片中斷請個外設(shè)中斷請求或從片中斷請求。求。CAS0CAS2:主從結(jié)構(gòu)時,區(qū)分不同的從片。主從結(jié)構(gòu)時,區(qū)分不同的從片。SP*/EN*: 雙向線,雙向線,(由初始化命令字設(shè)置由初始化命令字設(shè)置)非緩沖方式:輸入非緩沖方式:輸入 SP*1本片主片,本片主片, SP*0本片主本片主片片緩沖方式:輸出緩沖方式:輸出EN*0有效,數(shù)據(jù)從有效,數(shù)據(jù)從8259傳向傳向8086,一般用于驅(qū)動一個總線驅(qū)動器一般用于驅(qū)動一個總線
28、驅(qū)動器 關(guān)于數(shù)據(jù)線和地址線的連接關(guān)于數(shù)據(jù)線和地址線的連接8259A只有只有8根數(shù)據(jù)線,一般與根數(shù)據(jù)線,一般與8086的低的低8根數(shù)據(jù)線相連,因此必須把根數(shù)據(jù)線相連,因此必須把8086地址線的地址線的A1與與8259A的的A0相連。相連。其中其中A00為偶地址為偶地址 A01為奇地址。為奇地址。8259A8259A的內(nèi)部結(jié)構(gòu)的內(nèi)部結(jié)構(gòu)D7D0INTAINT中斷請求寄存器中斷請求寄存器中斷屏蔽寄存器中斷屏蔽寄存器數(shù)據(jù)數(shù)據(jù)總線總線緩沖器緩沖器IR0IR7讀讀/寫寫控制控制邏輯邏輯級聯(lián)級聯(lián)緩沖器緩沖器比較器比較器RDWRA0CSCAS0CSA1CAS2SP/EN優(yōu)先權(quán)判別電路優(yōu)先權(quán)判別電路中斷服務寄存
29、器中斷服務寄存器控制邏輯控制邏輯* * 保存保存8 8條外界中斷請求信號條外界中斷請求信號IR0IR0IR7IR7的請求狀態(tài)的請求狀態(tài); ;* * Di Di位為位為1 1表示表示IRiIRi引腳有中斷請求;引腳有中斷請求;為為0 0表示無請求表示無請求. .* *保存對中斷請求信號保存對中斷請求信號IRIR的屏蔽狀態(tài)的屏蔽狀態(tài)* *DiDi位為位為1 1表示表示IRiIRi中斷被屏蔽(禁止)中斷被屏蔽(禁止), ,為為0 0表示允許表示允許; ;* *各自獨立各自獨立. .* *保存正在被保存正在被8259A8259A服務著的中斷狀態(tài)服務著的中斷狀態(tài); ;* *DiDi位為位為1 1表示表示
30、IRiIRi中斷正在服務中中斷正在服務中, ,為為0 0表示沒有被服務表示沒有被服務. .* *用以比較正在處理的中斷和剛剛進入用以比較正在處理的中斷和剛剛進入的中斷請求之間的優(yōu)先級別,以決定的中斷請求之間的優(yōu)先級別,以決定是否產(chǎn)生多重中斷或中斷嵌套是否產(chǎn)生多重中斷或中斷嵌套. . 8259 8259的內(nèi)部控制器。的內(nèi)部控制器。1 1 根據(jù)中斷請求寄存器根據(jù)中斷請求寄存器IRRIRR、中斷屏蔽寄存器、中斷屏蔽寄存器IMRIMR的設(shè)置情況,通過優(yōu)先級比較器判定優(yōu)先的設(shè)置情況,通過優(yōu)先級比較器判定優(yōu)先級級; ;2 2 向其他部件發(fā)出控制信號向其他部件發(fā)出控制信號; ;3 3 并發(fā)出中斷請求信號并發(fā)
31、出中斷請求信號INT;INT;4 4 接受中斷響應信號接受中斷響應信號INTAINTA,使中斷服務寄存器,使中斷服務寄存器ISRISR的相應位置的相應位置1 1,IRRIRR的相應位清的相應位清0;0;5 5 在在INTAINTA第二個負脈沖到來的時候送出中斷類第二個負脈沖到來的時候送出中斷類型號型號; ;6 6 根據(jù)中斷結(jié)束類型對根據(jù)中斷結(jié)束類型對ISRISR的相應位清的相應位清0 0。IORIOW總線總線數(shù)數(shù) 據(jù)據(jù) 線線D0D7INTAA0片片選選譯譯碼碼A5A9CSA0RD INTAWRINTD0D7 ICW1 芯片控制芯片控制 ICW2 中斷類型中斷類型號號 ICW3 主從片關(guān)主從片關(guān)
32、系系 ICW4 方式控制方式控制101 0 0 0 0 0 ISR當前當前中斷中斷服務服務寄存器寄存器IR0IR1IR2IR3IR4IR5IR6IR7OCW1 中斷屏蔽寄存器中斷屏蔽寄存器 IMR 0 0 OCW2 優(yōu)先級、發(fā)優(yōu)先級、發(fā)EOI OCW3 特殊屏蔽設(shè)置特殊屏蔽設(shè)置PR優(yōu)先級優(yōu)先級裁決器裁決器IRR中斷中斷申請申請寄存器寄存器100 0 0 0 0 1 1 0 0 1 0 1 0 0INTR8259A的內(nèi)部寄存器的內(nèi)部寄存器中斷請求寄存器中斷請求寄存器IRR保存保存8條外界中斷請求信號條外界中斷請求信號IR0IR7的請求狀態(tài)的請求狀態(tài)Di位為位為1表示表示IRi引腳有中斷請求;為引
33、腳有中斷請求;為0表示無請求表示無請求中斷服務寄存器中斷服務寄存器ISR保存正在被保存正在被8259A服務著的中斷狀態(tài)服務著的中斷狀態(tài)Di位為位為1表示表示IRi中斷正在服務中;為中斷正在服務中;為0表示沒有被服務表示沒有被服務中斷屏蔽寄存器中斷屏蔽寄存器IMR保存對中斷請求信號保存對中斷請求信號IR的屏蔽狀態(tài)的屏蔽狀態(tài)Di位為位為1表示表示IRi中斷被屏蔽(禁止);為中斷被屏蔽(禁止);為0表示允許表示允許優(yōu)先級比較器優(yōu)先級比較器(裁決器裁決器)用以比較正在處理的中斷和剛剛進入的中斷請用以比較正在處理的中斷和剛剛進入的中斷請求之間的優(yōu)先級別,以決定是否產(chǎn)生多重中斷求之間的優(yōu)先級別,以決定是否
34、產(chǎn)生多重中斷或中斷嵌套?;蛑袛嗲短?。數(shù)據(jù)總線緩沖器數(shù)據(jù)總線緩沖器它是它是8259A與系統(tǒng)數(shù)據(jù)總線的接口,是與系統(tǒng)數(shù)據(jù)總線的接口,是8位雙位雙向三態(tài)緩沖器。向三態(tài)緩沖器。CPU與與8259A之間的控制命令之間的控制命令信息、狀態(tài)信息以及中斷類型信息,都是通過信息、狀態(tài)信息以及中斷類型信息,都是通過該緩沖器傳送的。該緩沖器傳送的。 讀讀/寫控制邏輯寫控制邏輯CPU通過它實現(xiàn)對通過它實現(xiàn)對8259A的讀的讀/寫操作。寫操作。 級連緩沖器級連緩沖器:用以實現(xiàn)用以實現(xiàn)8259A芯片之間的級連,使得中斷源芯片之間的級連,使得中斷源可以由可以由8級擴展至級擴展至64級。級??刂七壿嬰娐房刂七壿嬰娐穼φ麄€芯片
35、內(nèi)部各部件的工作進行協(xié)調(diào)和控制。對整個芯片內(nèi)部各部件的工作進行協(xié)調(diào)和控制。8259的中斷控制部分有的中斷控制部分有7各寄存器,根據(jù)初始各寄存器,根據(jù)初始化命令字和操作命令字工作?;钭趾筒僮髅钭止ぷ?。中斷響應過程中斷響應過程CPU在在INTA*上給出兩個負脈沖上給出兩個負脈沖第一個負脈沖使第一個負脈沖使8259A作如下的工作:作如下的工作:使使IRR寄存器暫時失效,不再接收新的申請,第二個負寄存器暫時失效,不再接收新的申請,第二個負脈沖恢復脈沖恢復使當前的使當前的ISR中的相應位置中的相應位置1使使IRR中的相應位清中的相應位清0第二個負脈沖第二個負脈沖使中斷類型寄存器的使中斷類型寄存器的
36、ICW2的內(nèi)容送的內(nèi)容送D0D7(中斷類(中斷類型碼)型碼)如果如果ICW4中的自動結(jié)束位為中的自動結(jié)束位為1,則使,則使ISR的相應位清的相應位清0。三、三、8259A8259A的工作方式的工作方式8259A8259A有多種工作方式,這些工作方式,有多種工作方式,這些工作方式,可以通過可以通過編程設(shè)置或改變編程設(shè)置或改變。1.1.優(yōu)先級的管理方式優(yōu)先級的管理方式(1).(1).全嵌套方式全嵌套方式這是這是8259A默認默認的優(yōu)先權(quán)設(shè)置方式,在全嵌套的優(yōu)先權(quán)設(shè)置方式,在全嵌套方式下,方式下,8259A所管理的所管理的8級中斷優(yōu)先權(quán)是級中斷優(yōu)先權(quán)是固固定不變定不變的,其中的,其中IR0的中斷優(yōu)先
37、級最高,的中斷優(yōu)先級最高,IR7的的中斷優(yōu)先級最低中斷優(yōu)先級最低。CPU響應中斷后,請求中斷的中斷源中,優(yōu)先響應中斷后,請求中斷的中斷源中,優(yōu)先級最高的中斷源,在中斷服務寄存器級最高的中斷源,在中斷服務寄存器ISR中的中的相應位置位,而且把它的中斷矢量送至系統(tǒng)數(shù)相應位置位,而且把它的中斷矢量送至系統(tǒng)數(shù)據(jù)總線,在此中斷源的中斷服務完成之前,與據(jù)總線,在此中斷源的中斷服務完成之前,與它它同級或優(yōu)先級低的中斷源的中斷請求被屏蔽同級或優(yōu)先級低的中斷源的中斷請求被屏蔽,只有優(yōu)先級比它高的中斷源的中斷請求才是運只有優(yōu)先級比它高的中斷源的中斷請求才是運算的,從而出現(xiàn)中斷嵌套。算的,從而出現(xiàn)中斷嵌套。 (2)
38、.).特殊全嵌套方式特殊全嵌套方式特殊全嵌套方式特殊全嵌套方式與全嵌套方式基本相同與全嵌套方式基本相同,所不,所不同的是,當同的是,當CPU處理某一級中斷時,如果有同處理某一級中斷時,如果有同級中斷請求,那么級中斷請求,那么CPU也會作出響應,從而形也會作出響應,從而形成了對成了對同一級中斷的特殊嵌套同一級中斷的特殊嵌套。特殊全嵌套方式特殊全嵌套方式通常應用在有通常應用在有8259A級連的系級連的系統(tǒng)中統(tǒng)中,在這種情況下,對主,在這種情況下,對主8259A編程時,通編程時,通常使它工作在特殊全嵌套方式下。這樣,一方常使它工作在特殊全嵌套方式下。這樣,一方面,面,CPU對于優(yōu)先級別較高的主片的中
39、斷輸入對于優(yōu)先級別較高的主片的中斷輸入是允許的,另一方面,是允許的,另一方面,CPU對于來自同一從片對于來自同一從片的優(yōu)先級別較高(但對于主片來講,優(yōu)先級別的優(yōu)先級別較高(但對于主片來講,優(yōu)先級別是相同的)的中斷也是允許、能夠響應的。是相同的)的中斷也是允許、能夠響應的。 (3).優(yōu)先級自動循環(huán)方式優(yōu)先級自動循環(huán)方式在實際應用中,中斷源優(yōu)先級的情況是比較復在實際應用中,中斷源優(yōu)先級的情況是比較復雜的,要求雜的,要求8級中斷的優(yōu)先級在系統(tǒng)工作過程級中斷的優(yōu)先級在系統(tǒng)工作過程中,可以中,可以動態(tài)改變動態(tài)改變。即一個中斷源的中斷請求。即一個中斷源的中斷請求被響應之后,其優(yōu)先級被響應之后,其優(yōu)先級自動
40、降為最低自動降為最低。系統(tǒng)啟。系統(tǒng)啟動時,動時,8級中斷優(yōu)先級級中斷優(yōu)先級默認為默認為IR0IR7,這時,這時,剛好剛好IR4發(fā)出了中斷請求,發(fā)出了中斷請求,CPU響應之后,若響應之后,若8259A工作在優(yōu)先級自動循環(huán)方式下,則中斷工作在優(yōu)先級自動循環(huán)方式下,則中斷優(yōu)先級自動變?yōu)閮?yōu)先級自動變?yōu)镮R5、IR6、IR7、IR0、IR1、IR2、IR3、IR4。(4).優(yōu)先級特殊循環(huán)方式優(yōu)先級特殊循環(huán)方式優(yōu)先級特殊循環(huán)方式與自動循環(huán)方式相比,只優(yōu)先級特殊循環(huán)方式與自動循環(huán)方式相比,只有一點不同,即初始化的優(yōu)先級(最低)是由有一點不同,即初始化的優(yōu)先級(最低)是由程序控制的,而不是默認的程序控制的,而
41、不是默認的IR0IR7。 2.2.中斷源的屏蔽方式中斷源的屏蔽方式CPUCPU對于對于8259A8259A提出的中斷請求,都可以加提出的中斷請求,都可以加以屏蔽控制,屏蔽控制有下列幾種方式:以屏蔽控制,屏蔽控制有下列幾種方式:(1).(1).普通屏蔽方式:普通屏蔽方式:8259A的每個中斷請求輸入,都要受到屏蔽寄的每個中斷請求輸入,都要受到屏蔽寄存器中相應位的控制。若相應位為存器中相應位的控制。若相應位為“1”,則中,則中斷請求不能送斷請求不能送CPU。屏蔽是通過對屏蔽寄存器。屏蔽是通過對屏蔽寄存器IMR的編程(操作命令字的編程(操作命令字OCW1),來加以設(shè)),來加以設(shè)置和改變的。置和改變的
42、。(2).).特殊屏蔽方式特殊屏蔽方式:有些場合下,希望一個中斷服務程序的運行過程中,有些場合下,希望一個中斷服務程序的運行過程中,能動態(tài)地改變系統(tǒng)中的中斷優(yōu)先級結(jié)構(gòu),即在中斷處能動態(tài)地改變系統(tǒng)中的中斷優(yōu)先級結(jié)構(gòu),即在中斷處理的一部分,禁止低級中斷,而在中斷處理的另一部理的一部分,禁止低級中斷,而在中斷處理的另一部分,又能夠允許低級中斷,于是引入了對中斷的特殊分,又能夠允許低級中斷,于是引入了對中斷的特殊屏蔽方式。屏蔽方式。設(shè)置了特殊屏蔽方式后,設(shè)置了特殊屏蔽方式后,用用OCW1對屏蔽寄存器中的對屏蔽寄存器中的某一位置位時,同時也會使中斷服務寄存器某一位置位時,同時也會使中斷服務寄存器ISR中
43、的相中的相應位復位應位復位,這樣就不只屏蔽了正在處理的等級中斷,這樣就不只屏蔽了正在處理的等級中斷,而且而且真正開放了其它優(yōu)先級別較低的中斷請求真正開放了其它優(yōu)先級別較低的中斷請求。特殊屏蔽是在中斷處理程序中使用的,用了這種方式特殊屏蔽是在中斷處理程序中使用的,用了這種方式之后,盡管系統(tǒng)正在處理高級中斷,但對外界來講,之后,盡管系統(tǒng)正在處理高級中斷,但對外界來講,只有同級中斷被屏蔽,才允許其它任何級別的中斷請只有同級中斷被屏蔽,才允許其它任何級別的中斷請求。求。3.結(jié)束中斷處理的方式結(jié)束中斷處理的方式按照對中斷結(jié)束(復位中斷響應寄存器按照對中斷結(jié)束(復位中斷響應寄存器ISR中中相應位)的不同處
44、理,相應位)的不同處理,8259A有兩種工作方式,有兩種工作方式,即即自動結(jié)束方式(自動結(jié)束方式(AEI)和非自動結(jié)束方式)和非自動結(jié)束方式。而非自動結(jié)束方式又可進一步分為而非自動結(jié)束方式又可進一步分為一般的中斷一般的中斷結(jié)束方式和特殊的中斷結(jié)束方式結(jié)束方式和特殊的中斷結(jié)束方式。(1).(1).中斷自動結(jié)束方式中斷自動結(jié)束方式這種方式僅適用于只有這種方式僅適用于只有單片單片8259A的場合的場合,在這種方,在這種方式下,系統(tǒng)一旦響應中斷,那么式下,系統(tǒng)一旦響應中斷,那么CPU在發(fā)在發(fā)第二個第二個INTA脈沖時脈沖時,就會使中斷響應寄存器就會使中斷響應寄存器ISR中相應位復位中相應位復位,這,這
45、樣一來,雖然系統(tǒng)在進行中斷處理,但對于樣一來,雖然系統(tǒng)在進行中斷處理,但對于8259A來來講,講,ISR沒有相應的指示,就象中斷處理結(jié)束,返回主沒有相應的指示,就象中斷處理結(jié)束,返回主程序之后一樣。程序之后一樣。CPU可以再次響應任何級別的中斷請可以再次響應任何級別的中斷請求求。(2).一般的中斷結(jié)束方式一般的中斷結(jié)束方式一般的中斷結(jié)束方式適用用在一般的中斷結(jié)束方式適用用在全嵌套全嵌套的情況下,當?shù)那闆r下,當CPU用輸出指令向用輸出指令向8259A發(fā)發(fā)一般中斷中斷結(jié)束命令一般中斷中斷結(jié)束命令OCW2時,時,8259A才會使中斷響應寄存器才會使中斷響應寄存器ISR中優(yōu)先級中優(yōu)先級別最高的位復位。
46、別最高的位復位。(3).特殊的中斷結(jié)束方式特殊的中斷結(jié)束方式在特殊全嵌套模式下,系統(tǒng)無法確定哪一級中斷為最在特殊全嵌套模式下,系統(tǒng)無法確定哪一級中斷為最后相應和處理的中斷,也就是說,后相應和處理的中斷,也就是說,CPU無法確定當前無法確定當前所處理的是哪級中斷,這時就要采用特殊的中斷結(jié)束所處理的是哪級中斷,這時就要采用特殊的中斷結(jié)束方式。方式。特殊的中斷結(jié)束方式是指在特殊的中斷結(jié)束方式是指在CPU結(jié)束中斷處理之后,結(jié)束中斷處理之后,向向8259A發(fā)送一個特殊的發(fā)送一個特殊的EOI中斷結(jié)束命令,這個特殊中斷結(jié)束命令,這個特殊的中斷結(jié)束的中斷結(jié)束EOI命令,命令,明確指出了中斷響應寄存器明確指出了
47、中斷響應寄存器ISR中需要復位的位中需要復位的位。這里,我們還要指出一點,在級聯(lián)方式下,一般不用這里,我們還要指出一點,在級聯(lián)方式下,一般不用自動中斷結(jié)束方式,而需要用非自動結(jié)束中斷方式,自動中斷結(jié)束方式,而需要用非自動結(jié)束中斷方式,一個中斷處理程序結(jié)束時,都必須發(fā)兩個中斷結(jié)束一個中斷處理程序結(jié)束時,都必須發(fā)兩個中斷結(jié)束EOI命令,一個發(fā)往主片,一個發(fā)往從片。命令,一個發(fā)往主片,一個發(fā)往從片。 4.4.系統(tǒng)總線的連接方式系統(tǒng)總線的連接方式 按照按照8259A8259A與系統(tǒng)總線的連接方式來分,有下與系統(tǒng)總線的連接方式來分,有下列兩種方式:列兩種方式:(1).(1).緩沖方式緩沖方式在多片在多片
48、8259A級連的大系統(tǒng)中,級連的大系統(tǒng)中,8259A通過外部總線通過外部總線驅(qū)動器和數(shù)據(jù)總線相連,這就是緩沖方式。在緩沖方驅(qū)動器和數(shù)據(jù)總線相連,這就是緩沖方式。在緩沖方式下,式下,8259的輸出信號作為緩沖器的啟動信號,用來的輸出信號作為緩沖器的啟動信號,用來啟動總線驅(qū)動器,在啟動總線驅(qū)動器,在8259A與與CPU之間進行信息交換。之間進行信息交換。(2).非緩沖方式非緩沖方式當系統(tǒng)中只有一片或幾片當系統(tǒng)中只有一片或幾片8259A芯片時,可以將數(shù)據(jù)芯片時,可以將數(shù)據(jù)總線直接與系統(tǒng)數(shù)據(jù)總線相連,這時總線直接與系統(tǒng)數(shù)據(jù)總線相連,這時8259A處于非緩處于非緩沖方式下。在這種方式下,沖方式下。在這種
49、方式下,8259A的作為輸入端設(shè)置,的作為輸入端設(shè)置,主片應接高電平,從片應接低電平。主片應接高電平,從片應接低電平。 5、引入中斷請求的方式、引入中斷請求的方式 按照引入中斷請求的方式,按照引入中斷請求的方式,8259A有下列幾種工有下列幾種工作方式:作方式: (1).邊沿觸發(fā)方式邊沿觸發(fā)方式8259A將中斷請求輸入端出現(xiàn)的上升沿,作為中斷請將中斷請求輸入端出現(xiàn)的上升沿,作為中斷請求信號,上升沿后求信號,上升沿后 相應引腳,可以一直保持高電平。相應引腳,可以一直保持高電平。 (2).電平觸發(fā)方式電平觸發(fā)方式 8259A將中斷請求輸入端出現(xiàn)的高電平作為中斷請求將中斷請求輸入端出現(xiàn)的高電平作為中
50、斷請求信號,在這種方式下,必須注意:中斷響應之后,高信號,在這種方式下,必須注意:中斷響應之后,高電平必須及時撤除,否則,在電平必須及時撤除,否則,在CPU響應中斷,開中斷響應中斷,開中斷之后,會引起第二次不應該有的中斷。之后,會引起第二次不應該有的中斷。 (3).).中斷查詢方式中斷查詢方式當系統(tǒng)中的中斷源很多,超過當系統(tǒng)中的中斷源很多,超過64個時,則可以使個時,則可以使8259A工作在查詢方式下,中斷查詢方式的特點是:工作在查詢方式下,中斷查詢方式的特點是:中斷源仍往中斷源仍往8259A發(fā)中斷請求,但發(fā)中斷請求,但8259A卻不使用卻不使用INT信號向信號向CPU發(fā)中斷請求信號。發(fā)中斷請
51、求信號。CPU內(nèi)部的中斷允許標志復位,所以內(nèi)部的中斷允許標志復位,所以CPU對對INT引腳上引腳上出現(xiàn)的中斷請求呈禁止狀態(tài)。出現(xiàn)的中斷請求呈禁止狀態(tài)。CPU 用軟件查詢的方法來確定中斷源,從而實現(xiàn)對設(shè)用軟件查詢的方法來確定中斷源,從而實現(xiàn)對設(shè)備的中斷服務,可見,中斷查詢方式,既有中斷的特備的中斷服務,可見,中斷查詢方式,既有中斷的特點,又有查詢的特點,從外設(shè)的角度來看,是靠中斷點,又有查詢的特點,從外設(shè)的角度來看,是靠中斷的方式來請求服務,但從的方式來請求服務,但從CPU的角度來看,是用查詢的角度來看,是用查詢方式來確定發(fā)中斷請求的中斷源。方式來確定發(fā)中斷請求的中斷源。查詢是通過查詢是通過CP
52、U向向8259A發(fā)查詢命令發(fā)查詢命令OCW3來實現(xiàn)的。來實現(xiàn)的。四、初始化命令字和操作命令字四、初始化命令字和操作命令字8259根據(jù)收到的根據(jù)收到的CPU的命令進行工作,奇命令的命令進行工作,奇命令分為兩類:分為兩類:初始化命令字(預置命令字初始化命令字(預置命令字ICW):):8259A在在進入操作之前,必須由預置命令字來使它處于進入操作之前,必須由預置命令字來使它處于初始狀態(tài)。初始狀態(tài)。操作命令字操作命令字OCW:在在8259初始化之后,來控初始化之后,來控制制8259A執(zhí)行不同的操作方式。其可在初始化執(zhí)行不同的操作方式。其可在初始化之后的任何時刻寫入之后的任何時刻寫入8259A。(一)初
53、始化命令字(一)初始化命令字(4 4個)個)開機時,由初始化程序按一定的順序?qū)懭腴_機時,由初始化程序按一定的順序?qū)懭朐O(shè)設(shè)8259有兩個地址:偶地址、奇地址有兩個地址:偶地址、奇地址1 1、ICW1ICW1:芯片控制命令字,偶地址:芯片控制命令字,偶地址D7D5:8086不用,隨機不用,隨機D4:總是:總是1,與,與A00結(jié)合,表示結(jié)合,表示ICW1D3:LTIM設(shè)置中斷請求的方式設(shè)置中斷請求的方式 LTIM0,邊沿觸發(fā) LTIM1,電平觸發(fā)D7D6D5D4D3D2D1D0XXX1LTIMADISNGLIC4A00D2:ADI 8086不用不用D1:SNGL決定本片是否級聯(lián)決定本片是否級聯(lián) D1
54、1,只有一片8259A D10,多片D0:IC4表明后面是否使用表明后面是否使用ICW4 D01,用ICW4 D00,不用注:注:16位系統(tǒng)必須使用位系統(tǒng)必須使用ICW4,所以對于,所以對于8086、8088常見的命令字為常見的命令字為00010011B,即,即13H2 2、ICW2ICW2設(shè)置中斷類型碼,奇地址設(shè)置中斷類型碼,奇地址D7D6D5D4D3D2D1D0T7T6T5T4T3XXXA01中斷類型碼的高5位000 IR0001 IR1111 IR7中斷類型碼的高中斷類型碼的高5 5位由用戶在位由用戶在3232255255的范圍內(nèi)任選,的范圍內(nèi)任選,低低3 3位由引腳區(qū)別自動插入。即高位
55、由引腳區(qū)別自動插入。即高5 5位可填,低位可填,低3 3位自動位自動生成。生成。例:例:00111000B,則:則:IR038H IR139H IR240H IR73FH3 3、ICW3ICW3,主從片命令字,奇端口,主從片命令字,奇端口當系統(tǒng)有多片級聯(lián)時,有意義。當系統(tǒng)有多片級聯(lián)時,有意義。ICW1 D10時要時要設(shè),否則不必設(shè)。而且主從片不同。設(shè),否則不必設(shè)。而且主從片不同。主片主片D7D6D5D4D3D2D1D0IR7IR6IR5IR4IR3IR2IR1IR0A011,表示本引腳上連,表示本引腳上連1從片從片0,表示本引腳上未連從片,表示本引腳上未連從片從片從片D7D6D5D4D3D2D
56、1D0ID2ID1ID0A01不用,一般寫不用,一般寫0作為從片的標識碼,作為從片的標識碼,表示連主片的哪一個表示連主片的哪一個引腳引腳實際操作時,主片從實際操作時,主片從CAS0CAS0CAS2CAS2發(fā)出申請中斷的發(fā)出申請中斷的引腳號碼,個從片均接收,與自己的引腳號碼,個從片均接收,與自己的ID0ID0ID2ID2對對照,相同則送出中斷類型碼。照,相同則送出中斷類型碼。4 4、ICW4ICW4方式控制命令字,奇端口方式控制命令字,奇端口ICW1 D01時才設(shè),時才設(shè),8086系統(tǒng)必須使用系統(tǒng)必須使用D7D6D5D4D3D2D1D0000SFNMBUFM/SAEOIPM A01標識碼D4(S
57、FNM):):1 特殊全嵌套方式,主從結(jié)構(gòu)時使用特殊全嵌套方式,主從結(jié)構(gòu)時使用 0 非特殊的全嵌套方式非特殊的全嵌套方式D3(BUF):):1 緩沖方式,緩沖方式,EN*0 啟動數(shù)據(jù)總線啟動數(shù)據(jù)總線0 非緩沖方式非緩沖方式D2(M/S):D31時,時,D2有意義有意義 D31,D21,表本片是主片 D20,表本片是從片D1(AEOL):):1 自動結(jié)束方式自動結(jié)束方式 0 非自動結(jié)束方式,因此需非自動結(jié)束方式,因此需要中斷結(jié)束命令。要中斷結(jié)束命令。D0( PM ):):1,用于,用于8086/8088系統(tǒng)系統(tǒng) 0,用于,用于8080/8085系統(tǒng)系統(tǒng)8259初始化流程初始化流程用用ICW1設(shè)置
58、設(shè)置是否級聯(lián)是否級聯(lián)請求格式信號請求格式信號是否需要設(shè)置是否需要設(shè)置ICW4用用ICW2設(shè)置中斷類型碼設(shè)置中斷類型碼是否為級聯(lián)方式本片設(shè)為主片嗎?設(shè)置設(shè)置ICW3,各位,各位對應對應IR0IR7設(shè)置設(shè)置ICW3,高,高5位位為為0,低,低3位為標識碼位為標識碼需要用到ICW4嗎?用ICW4設(shè)置是否為特殊全嵌套方式是否為特殊全嵌套方式是否為緩沖方式是否為緩沖方式是否為自動結(jié)束中斷方式是否為自動結(jié)束中斷方式是否為是否為16位系統(tǒng)位系統(tǒng)結(jié)束,進行中斷服務NYNYNY注意注意“偶地址低,奇地址高,占用兩個連續(xù)的地址或偶地址低,奇地址高,占用兩個連續(xù)的地址或兩個連續(xù)的偶地址。兩個連續(xù)的偶地址。ICW1I
59、CW4的順序不能亂的順序不能亂ICW3、ICW4可省可省級聯(lián)時,級聯(lián)時,ICW3主從片的意義不同,地址不同,主從片的意義不同,地址不同,一般先寫主片,后些從片。一般先寫主片,后些從片。例例1,設(shè)某,設(shè)某8259A的端口地址的端口地址80H,82H,分析下列命令。分析下列命令。MOV AL, 13HOUT 80H,AL;設(shè);設(shè)ICW1MOV AL, 18HOUT 82H,AL;設(shè);設(shè)ICW2,中斷類型碼,中斷類型碼MOV AL, 1DHOUT 82H,AL;設(shè);設(shè)ICW4,00001101常用的常用的ICW4,01H。(二)操作命令字,(二)操作命令字,3個個8259A用初始化命令字命令編程后,
60、就進入工用初始化命令字命令編程后,就進入工作狀態(tài),準備好接收輸入的中斷請求信號。在作狀態(tài),準備好接收輸入的中斷請求信號。在工作期間,可以通過操作命令字來使它按不同工作期間,可以通過操作命令字來使它按不同的方式工作。因此可以在任何時候以任意順序的方式工作。因此可以在任何時候以任意順序輸出。輸出。1、OCW1中斷屏蔽命令字,奇地址中斷屏蔽命令字,奇地址D7D6D5D4D3D2D1D0M7M6M5M4M3M2M1M0A01Mi1,屏蔽本位請求,屏蔽本位請求Mi0,允許本位請求,允許本位請求2、OCW2設(shè)置優(yōu)先級循環(huán)及結(jié)束中斷方式命令字,設(shè)置優(yōu)先級循環(huán)及結(jié)束中斷方式命令字,偶地址偶地址D7D6D5D4
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版生態(tài)物流綠色包裝合同3篇
- 二零二五年度環(huán)保產(chǎn)品商標使用許可協(xié)議范本3篇
- 科創(chuàng)孵化器項目建設(shè)方案
- 音樂舞蹈培訓委托合同三篇
- 二零二五年度個人挖機租賃合同解除條件合同4篇
- 二零二五年度個人與個人房產(chǎn)購置借款協(xié)議2篇
- 2025版高端車庫租賃及個性化定制服務合同范本3篇
- 二零二五年度智能家居裝修設(shè)計與施工一體化協(xié)議書2篇
- 酒店餐飲美工的工作總結(jié)
- 二零二五年度個人電動車轉(zhuǎn)讓與充電設(shè)施安裝合同3篇
- 北師大版二年級數(shù)學上冊計算題專項復習大全272
- (主城一診)重慶市2025年高2025屆高三學業(yè)質(zhì)量調(diào)研抽測 (第一次)地理試卷(含答案)
- 職業(yè)培訓師培訓課件
- 人教版PEP版小學英語三年級下冊Unit 4 Healthy food Part A課件
- (2024)湖北省公務員考試《行測》真題及答案解析
- 洗衣機事業(yè)部精益降本總結(jié)及規(guī)劃 -美的集團制造年會
- 房地產(chǎn)公司流動資產(chǎn)管理制度
- 2015-2022年湖南高速鐵路職業(yè)技術(shù)學院高職單招語文/數(shù)學/英語筆試參考題庫含答案解析
- 鋁合金門窗設(shè)計說明
- 小學數(shù)學-三角形面積計算公式的推導教學設(shè)計學情分析教材分析課后反思
- GB/T 12706.1-2020額定電壓1 kV(Um=1.2 kV)到35 kV(Um=40.5 kV)擠包絕緣電力電纜及附件第1部分:額定電壓1 kV(Um=1.2 kV)和3 kV(Um=3.6 kV)電纜
評論
0/150
提交評論