微機(jī)技術(shù)中斷修改稿_第1頁(yè)
微機(jī)技術(shù)中斷修改稿_第2頁(yè)
微機(jī)技術(shù)中斷修改稿_第3頁(yè)
微機(jī)技術(shù)中斷修改稿_第4頁(yè)
微機(jī)技術(shù)中斷修改稿_第5頁(yè)
已閱讀5頁(yè),還剩66頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第第6 6章章 中斷控制接口中斷控制接口教學(xué)重點(diǎn)n 8088 CPU的中斷系統(tǒng)的中斷系統(tǒng)n 8259A的中斷工作過(guò)程和工作方式的中斷工作過(guò)程和工作方式n 中斷服務(wù)程序的編寫中斷服務(wù)程序的編寫6.1中斷的定義 nCPU執(zhí)行程序時(shí),由于發(fā)生了某種隨機(jī)執(zhí)行程序時(shí),由于發(fā)生了某種隨機(jī)的事件的事件(外部或內(nèi)部外部或內(nèi)部),引起,引起CPU暫時(shí)中暫時(shí)中斷正在運(yùn)行的程序,轉(zhuǎn)去執(zhí)行一段特殊斷正在運(yùn)行的程序,轉(zhuǎn)去執(zhí)行一段特殊的服務(wù)程序的服務(wù)程序(稱為中斷服務(wù)程序或中斷處稱為中斷服務(wù)程序或中斷處理程序理程序),以處理該事件,該事件處理完,以處理該事件,該事件處理完后又返回被中斷的程序繼續(xù)執(zhí)行,這一后又返回被中斷的

2、程序繼續(xù)執(zhí)行,這一過(guò)程稱為中斷。過(guò)程稱為中斷。中斷源n引起引起CPU中斷的事件中斷的事件中斷源。例如:中斷源。例如:n外設(shè)外設(shè)請(qǐng)求輸入輸出數(shù)據(jù),報(bào)告故障等請(qǐng)求輸入輸出數(shù)據(jù),報(bào)告故障等n事件事件掉電、硬件故障、軟件錯(cuò)誤、非法操作、定時(shí)掉電、硬件故障、軟件錯(cuò)誤、非法操作、定時(shí)時(shí)間到等時(shí)間到等n中斷源分為:外部中斷、內(nèi)部中斷中斷源分為:外部中斷、內(nèi)部中斷n內(nèi)部中斷:內(nèi)部中斷:CPU內(nèi)部執(zhí)行程序時(shí)自身產(chǎn)生的中斷內(nèi)部執(zhí)行程序時(shí)自身產(chǎn)生的中斷n外部中斷:外部中斷:CPU以外的設(shè)備、部件產(chǎn)生的中斷以外的設(shè)備、部件產(chǎn)生的中斷n 8086/8088的外部中斷信號(hào):的外部中斷信號(hào):INTR、NMInINTR可屏蔽

3、中斷請(qǐng)求,高電平有效,受可屏蔽中斷請(qǐng)求,高電平有效,受IF標(biāo)志的控標(biāo)志的控制。制。IF=1時(shí),執(zhí)行完當(dāng)前指令后時(shí),執(zhí)行完當(dāng)前指令后CPU對(duì)它作出響應(yīng)。對(duì)它作出響應(yīng)。 nNMI非屏蔽中斷請(qǐng)求,上升沿有效,任何時(shí)候非屏蔽中斷請(qǐng)求,上升沿有效,任何時(shí)候CPU都要響應(yīng)此中斷請(qǐng)求信號(hào)。都要響應(yīng)此中斷請(qǐng)求信號(hào)。為何計(jì)算機(jī)中要引入中斷?n提高數(shù)據(jù)傳輸率;提高數(shù)據(jù)傳輸率;n避免了避免了CPU不斷檢測(cè)外設(shè)狀態(tài)的過(guò)程,提不斷檢測(cè)外設(shè)狀態(tài)的過(guò)程,提高了高了CPU的利用率。的利用率。n實(shí)現(xiàn)對(duì)特殊事件的實(shí)時(shí)響應(yīng)。實(shí)現(xiàn)對(duì)特殊事件的實(shí)時(shí)響應(yīng)。中斷過(guò)程n五個(gè)步驟:五個(gè)步驟:n中斷請(qǐng)求中斷請(qǐng)求n中斷判優(yōu)中斷判優(yōu)(有時(shí)還要進(jìn)行中

4、斷源識(shí)別有時(shí)還要進(jìn)行中斷源識(shí)別)n中斷響應(yīng)中斷響應(yīng)n中斷服務(wù)中斷服務(wù)n中斷返回中斷返回以下以以下以外部中斷外部中斷為主介紹這五個(gè)步驟。為主介紹這五個(gè)步驟。1)中斷請(qǐng)求n外設(shè)接口(中斷源)發(fā)出中斷請(qǐng)求信號(hào),送到外設(shè)接口(中斷源)發(fā)出中斷請(qǐng)求信號(hào),送到CPU的的INTR或或NMI引腳;引腳;n中斷請(qǐng)求信號(hào):邊沿請(qǐng)求,電平請(qǐng)求中斷請(qǐng)求信號(hào):邊沿請(qǐng)求,電平請(qǐng)求例如,例如,NMI為邊沿請(qǐng)求,為邊沿請(qǐng)求,INTR為電平請(qǐng)求為電平請(qǐng)求n中斷請(qǐng)求信號(hào)應(yīng)保持到中斷被處理為止;中斷請(qǐng)求信號(hào)應(yīng)保持到中斷被處理為止;nCPU響應(yīng)中斷后,中斷請(qǐng)求信號(hào)應(yīng)及時(shí)撤銷。響應(yīng)中斷后,中斷請(qǐng)求信號(hào)應(yīng)及時(shí)撤銷。n在在8086/808

5、8系統(tǒng)中,外設(shè)的中斷要經(jīng)過(guò)系統(tǒng)中,外設(shè)的中斷要經(jīng)過(guò)8259A可編程中斷控制器可編程中斷控制器(PIC)的排隊(duì)判優(yōu)后向的排隊(duì)判優(yōu)后向CPU發(fā)出:發(fā)出: (I/O接口接口) PIC CPU2.1)中斷源識(shí)別n計(jì)算機(jī)中的中斷源有很多,計(jì)算機(jī)中的中斷源有很多,CPU必須識(shí)別是必須識(shí)別是哪一個(gè)設(shè)備產(chǎn)生中斷。識(shí)別中斷源有兩個(gè)方哪一個(gè)設(shè)備產(chǎn)生中斷。識(shí)別中斷源有兩個(gè)方法:法:n軟件查詢。將中斷信號(hào)從數(shù)據(jù)總線讀入,用程序軟件查詢。將中斷信號(hào)從數(shù)據(jù)總線讀入,用程序進(jìn)行判別。進(jìn)行判別。n中斷矢量法。由中斷源提供中斷類型號(hào),中斷矢量法。由中斷源提供中斷類型號(hào),CPU根根據(jù)類型確定中斷源。(據(jù)類型確定中斷源。(8086

6、/8088即采用此種即采用此種方法)方法)中斷查詢接口A0A15鎖鎖存存器器INTR三態(tài)三態(tài)緩沖器緩沖器譯碼譯碼 8001HD0D7中斷中斷A中斷中斷B中斷中斷CIOR2.2)中斷判優(yōu)n多個(gè)中斷源產(chǎn)生中斷,多個(gè)中斷源產(chǎn)生中斷,CPU首先為誰(shuí)服務(wù)?首先為誰(shuí)服務(wù)?中斷優(yōu)先級(jí)排隊(duì)問(wèn)題。中斷優(yōu)先級(jí)排隊(duì)問(wèn)題。n中斷優(yōu)先級(jí)控制要處理兩種情況:中斷優(yōu)先級(jí)控制要處理兩種情況:n對(duì)同時(shí)產(chǎn)生的中斷:應(yīng)首先處理優(yōu)先級(jí)別較高的中斷;若優(yōu)先級(jí)別對(duì)同時(shí)產(chǎn)生的中斷:應(yīng)首先處理優(yōu)先級(jí)別較高的中斷;若優(yōu)先級(jí)別相同,則按先來(lái)先服務(wù)的原則處理;相同,則按先來(lái)先服務(wù)的原則處理;n對(duì)非同時(shí)產(chǎn)生的中斷:低優(yōu)先級(jí)別的中斷處理程序允許被高優(yōu)

7、先級(jí)對(duì)非同時(shí)產(chǎn)生的中斷:低優(yōu)先級(jí)別的中斷處理程序允許被高優(yōu)先級(jí)別的中斷源所中斷別的中斷源所中斷即允許中斷嵌套。即允許中斷嵌套。n中斷優(yōu)先級(jí)的控制方法中斷優(yōu)先級(jí)的控制方法n硬件判優(yōu)硬件判優(yōu)鏈?zhǔn)脚袃?yōu)、并行判優(yōu)(中斷向量法)鏈?zhǔn)脚袃?yōu)、并行判優(yōu)(中斷向量法)n軟件判優(yōu)軟件判優(yōu)順序查詢中斷請(qǐng)求,先查詢的先服務(wù)(即先查詢的優(yōu)先順序查詢中斷請(qǐng)求,先查詢的先服務(wù)(即先查詢的優(yōu)先級(jí)別高)級(jí)別高)n通常將通常將中斷判優(yōu)中斷判優(yōu)與與中斷源識(shí)別中斷源識(shí)別合并在一起進(jìn)行處理。合并在一起進(jìn)行處理。nx86系統(tǒng)中,這項(xiàng)任務(wù)由系統(tǒng)中,這項(xiàng)任務(wù)由PIC和和CPU共同完成。共同完成。鏈?zhǔn)街袛鄡?yōu)先權(quán)排隊(duì)電路A2A1C2C1D2D1

8、B2B1中斷源中斷源A觸發(fā)器觸發(fā)器中斷源中斷源B觸發(fā)器觸發(fā)器中斷源中斷源C觸發(fā)器觸發(fā)器中斷矢量中斷矢量D中斷矢量中斷矢量C中斷矢量中斷矢量B中斷矢量中斷矢量A中斷源中斷源D觸發(fā)器觸發(fā)器緩沖器緩沖器緩沖器緩沖器緩沖器緩沖器緩沖器緩沖器INTA3)中斷響應(yīng)n在每條指令的最后一個(gè)時(shí)鐘周期,在每條指令的最后一個(gè)時(shí)鐘周期,CPU檢測(cè)檢測(cè)INTR或或NMI信號(hào)。若以下條件成立,則信號(hào)。若以下條件成立,則CPU響應(yīng)中斷:響應(yīng)中斷:n當(dāng)前指令執(zhí)行完。對(duì)當(dāng)前指令執(zhí)行完。對(duì)INTR,還應(yīng)滿足以下條件,還應(yīng)滿足以下條件n當(dāng)前指令是當(dāng)前指令是STI和和IRET,則下條指令也要執(zhí)行完,則下條指令也要執(zhí)行完。n當(dāng)前指令帶

9、有當(dāng)前指令帶有LOCK、REP等指令前綴時(shí),則把它們等指令前綴時(shí),則把它們看成一個(gè)整體,要求完整地執(zhí)行完;看成一個(gè)整體,要求完整地執(zhí)行完;n對(duì)對(duì)INTR,CPU應(yīng)處于開(kāi)中斷狀態(tài),即應(yīng)處于開(kāi)中斷狀態(tài),即IF=1;n當(dāng)前沒(méi)有復(fù)位當(dāng)前沒(méi)有復(fù)位(RESET)和保持和保持(HOLD)信號(hào)。信號(hào)。n若若NMI和和 INTR 同時(shí)發(fā)生,則首先響應(yīng)同時(shí)發(fā)生,則首先響應(yīng)NMI。3)中斷響應(yīng)(續(xù))nCPU中斷響應(yīng)時(shí),要做下述三項(xiàng)工作:中斷響應(yīng)時(shí),要做下述三項(xiàng)工作:n向中斷源發(fā)出向中斷源發(fā)出INTA中斷響應(yīng)信號(hào);中斷響應(yīng)信號(hào);n斷點(diǎn)保護(hù),包括斷點(diǎn)保護(hù),包括CS、IP和和PSW(FLAGS)。這)。這主要是保證中斷結(jié)

10、束后能返回被中斷的程序。主要是保證中斷結(jié)束后能返回被中斷的程序。n獲得中斷服務(wù)程序首地址(入口)。獲得中斷服務(wù)程序首地址(入口)。如何得到中斷處理程序的首地址?如何得到中斷處理程序的首地址?n中斷向量法中斷向量法常用常用4)中斷處理(中斷服務(wù))n中斷服務(wù)子程序特點(diǎn)中斷服務(wù)子程序特點(diǎn)n為為”遠(yuǎn)遠(yuǎn)”過(guò)程(類型為過(guò)程(類型為FAR)n要用要用IRET指令返回指令返回n中斷服務(wù)子程序要做的工作中斷服務(wù)子程序要做的工作n保護(hù)現(xiàn)場(chǎng)保護(hù)現(xiàn)場(chǎng)(PUSH regs) n開(kāi)中斷開(kāi)中斷(STI) n進(jìn)行中斷處理進(jìn)行中斷處理 n恢復(fù)現(xiàn)場(chǎng)恢復(fù)現(xiàn)場(chǎng)(POP regs) n中斷返回中斷返回(IRET) 5)中斷返回n執(zhí)行中

11、斷返回指令執(zhí)行中斷返回指令I(lǐng)RETnIRET指令將使指令將使CPU把堆棧內(nèi)保存的斷點(diǎn)信息彈把堆棧內(nèi)保存的斷點(diǎn)信息彈出到出到IP、CS和和FLAG中,保證被中斷的程序從斷中,保證被中斷的程序從斷點(diǎn)處能夠繼續(xù)往下執(zhí)行。點(diǎn)處能夠繼續(xù)往下執(zhí)行。IPLIPHCSLCSHFLAGLFLAGHSPIPLIPHCSLCSHFLAGLFLAGHSPIPCSFLAG進(jìn)入中斷服務(wù)程序時(shí)中斷返回后的中斷系統(tǒng) n與中斷有關(guān)的控制線為:與中斷有關(guān)的控制線為:NMI、INTR、INTA#n8088系統(tǒng)的中斷源系統(tǒng)的中斷源n內(nèi)部中斷內(nèi)部中斷n除法溢出:類型號(hào)除法溢出:類型號(hào)0,商大于目的操作數(shù)所能表達(dá)的范圍時(shí)產(chǎn)生。,商大于目

12、的操作數(shù)所能表達(dá)的范圍時(shí)產(chǎn)生。n單步中斷:類型號(hào)單步中斷:類型號(hào)1,TF=1時(shí)產(chǎn)生(當(dāng)前指令需執(zhí)行完)時(shí)產(chǎn)生(當(dāng)前指令需執(zhí)行完)n斷點(diǎn)中斷:類型號(hào)斷點(diǎn)中斷:類型號(hào)3,這是一個(gè)軟件中斷,即,這是一個(gè)軟件中斷,即INT 3指令。指令。n溢出中斷:類型號(hào)溢出中斷:類型號(hào)4,這是一個(gè)軟件中斷,即,這是一個(gè)軟件中斷,即INTO指令。指令。n軟件中斷:即軟件中斷:即INT n指令,類型號(hào)指令,類型號(hào)n(0-255)。n外部中斷外部中斷n非屏蔽中斷非屏蔽中斷NMI:類型號(hào):類型號(hào)2,不可用軟件屏蔽,不可用軟件屏蔽,CPU必須響應(yīng)它。必須響應(yīng)它。n可屏蔽中斷可屏蔽中斷INTR:類型號(hào)由:類型號(hào)由PIC提供。提

13、供。IF=1時(shí)時(shí)CPU才能響應(yīng)。才能響應(yīng)。的中斷類型非屏蔽中斷源非屏蔽中斷源中斷邏輯中斷邏輯INTO指令指令單步單步中斷中斷除法除法錯(cuò)誤錯(cuò)誤INT N指令指令CPUINTRNMI可屏蔽中斷源可屏蔽中斷源8259A中斷中斷控制器控制器IR0IR1IR2IR3IR4IR5IR6IR7外外設(shè)設(shè)中中斷斷源源 INTAn內(nèi)部中斷內(nèi)部中斷n除法錯(cuò)中斷除法錯(cuò)中斷n指令中斷指令中斷n溢出中斷溢出中斷n單步中斷單步中斷n外部中斷外部中斷n非屏蔽中斷非屏蔽中斷n可屏蔽中斷可屏蔽中斷中斷源的識(shí)別n8088系統(tǒng)采用中斷類型碼來(lái)識(shí)別不同的中系統(tǒng)采用中斷類型碼來(lái)識(shí)別不同的中斷源,斷源,每個(gè)中斷源都有一個(gè)與它相對(duì)應(yīng)的中每個(gè)

14、中斷源都有一個(gè)與它相對(duì)應(yīng)的中斷類型碼斷類型碼 。n溢出、斷點(diǎn)、除法溢出、單步、非屏蔽中斷的溢出、斷點(diǎn)、除法溢出、單步、非屏蔽中斷的類型碼為類型碼為固定值固定值n軟件中斷的類型碼軟件中斷的類型碼由指令給出由指令給出n可屏蔽中斷的類型碼可屏蔽中斷的類型碼由由PIC給出給出nCPU響應(yīng)響應(yīng)INTR中斷時(shí),會(huì)產(chǎn)生兩個(gè)中斷響中斷時(shí),會(huì)產(chǎn)生兩個(gè)中斷響應(yīng)總線周期,要求應(yīng)總線周期,要求PIC在第在第2個(gè)中斷響應(yīng)總個(gè)中斷響應(yīng)總線周期把中斷類型碼放到數(shù)據(jù)總線上,供線周期把中斷類型碼放到數(shù)據(jù)總線上,供CPU讀入。讀入。的中斷向量表n中斷向量:中斷服務(wù)程序的入口地址(首地址)中斷向量:中斷服務(wù)程序的入口地址(首地址)

15、n邏輯地址含有段地址邏輯地址含有段地址CS和偏移地址和偏移地址IP(32位)位)n每個(gè)中斷向量的低字是偏移地址、高字是段地址,每個(gè)中斷向量的低字是偏移地址、高字是段地址,需占用需占用4個(gè)字節(jié)個(gè)字節(jié)n8088微處理器從物理地址微處理器從物理地址000H開(kāi)始,依次安排各開(kāi)始,依次安排各個(gè)中斷向量,向量號(hào)也從個(gè)中斷向量,向量號(hào)也從0開(kāi)始開(kāi)始n256個(gè)中斷占用個(gè)中斷占用1KB區(qū)域,就形成區(qū)域,就形成中斷向量表中斷向量表向量號(hào)為向量號(hào)為N的中斷向量的的中斷向量的物理地址物理地址N4中斷向量表的初始化n初始化初始化將中斷服務(wù)程序的入口地址放入將中斷服務(wù)程序的入口地址放入向量表向量表 例:中斷類型碼為例:中

16、斷類型碼為48H的中斷處理子程序的的中斷處理子程序的名字為名字為int48h,編寫程序段將該中斷處理子,編寫程序段將該中斷處理子程序的入口地址放入向量表。程序的入口地址放入向量表。中斷向量表的初始化 CLI MOV AX,0 MOV DS,AX MOV SI,48H*4 MOV AX,OFFSET int48h MOV SI,AX MOV AX,SEG int48h MOV SI+2,AX STI8086/8088 CPU的中斷響應(yīng)過(guò)程 n內(nèi)部中斷響應(yīng)過(guò)程內(nèi)部中斷響應(yīng)過(guò)程 n無(wú)無(wú)INTA#周期周期n中斷類型碼固定或由指令給出中斷類型碼固定或由指令給出n響應(yīng)過(guò)程主要步驟:響應(yīng)過(guò)程主要步驟: PU

17、SH FLAG IF=0 PUSH CS PUSH IP 取中斷向量送入取中斷向量送入IP和和CS中斷響應(yīng)過(guò)程(續(xù))n外部中斷響應(yīng)過(guò)程外部中斷響應(yīng)過(guò)程n非屏蔽中斷,與內(nèi)部中斷響應(yīng)過(guò)程類似非屏蔽中斷,與內(nèi)部中斷響應(yīng)過(guò)程類似 n可屏蔽中斷可屏蔽中斷 INTA#(1),),PIC進(jìn)行優(yōu)先級(jí)排隊(duì)判優(yōu)處理進(jìn)行優(yōu)先級(jí)排隊(duì)判優(yōu)處理 INTA#(2),),PIC把中斷類型碼放到把中斷類型碼放到DB上,上,CPU讀入讀入 PUSH FLAG IF=0 PUSH CS PUSH IP 取中斷向量送入取中斷向量送入IP和和CS與內(nèi)部中斷一樣與內(nèi)部中斷一樣的中斷響應(yīng)過(guò)程N(yùn)MIN軟件中斷軟件中斷INTRTF=1中斷響應(yīng)

18、周期中斷響應(yīng)周期讀中斷向量號(hào)讀中斷向量號(hào)下條指令下條指令現(xiàn)行指令現(xiàn)行指令I(lǐng)F1NNNNYYYYY查詢中斷的順序,查詢中斷的順序,決定了各種中斷源的優(yōu)先權(quán)決定了各種中斷源的優(yōu)先權(quán)n軟件中斷軟件中斷n除法錯(cuò)中斷除法錯(cuò)中斷n指令中斷指令中斷n溢出中斷溢出中斷n非屏蔽中斷非屏蔽中斷n可屏蔽中斷可屏蔽中斷n單步中斷單步中斷高高低低的中斷響應(yīng)過(guò)程(續(xù))Y還有還有NMITEMP1標(biāo)志寄存器入棧標(biāo)志寄存器入棧TEMPTF,IFTF0CS:IP入棧入棧獲取中斷向量獲取中斷向量執(zhí)行服務(wù)程序執(zhí)行服務(wù)程序彈出彈出CS:IP彈出標(biāo)志寄存器彈出標(biāo)志寄存器返回被中斷程序返回被中斷程序(1)(2)(3)(4)(5)NNY(6

19、)n8088各種中斷源的優(yōu)先權(quán),各種中斷源的優(yōu)先權(quán),實(shí)際上是指被識(shí)別出來(lái)的先后實(shí)際上是指被識(shí)別出來(lái)的先后n多種中斷同時(shí)請(qǐng)求時(shí),多種中斷同時(shí)請(qǐng)求時(shí),最先響應(yīng)的則可能是最先響應(yīng)的則可能是單步中斷或單步中斷或NMI中斷中斷7.2 內(nèi)部中斷服務(wù)程序n編寫內(nèi)部中斷服務(wù)程序與編寫子程序類似編寫內(nèi)部中斷服務(wù)程序與編寫子程序類似n利用過(guò)程定義偽指令利用過(guò)程定義偽指令PROC/ENDPn第第1條指令通常為開(kāi)中斷指令條指令通常為開(kāi)中斷指令STIn最后用中斷返回指令最后用中斷返回指令I(lǐng)RETn通常采用寄存器傳遞參數(shù)通常采用寄存器傳遞參數(shù)n主程序需要調(diào)用中斷服務(wù)程序主程序需要調(diào)用中斷服務(wù)程序n調(diào)用前,需要設(shè)置中斷向量

20、調(diào)用前,需要設(shè)置中斷向量n利用利用INT n指令調(diào)用中斷服務(wù)程序指令調(diào)用中斷服務(wù)程序7.3 8259A中斷控制器nIntel 8259A是可編程中斷控制器是可編程中斷控制器PICn可用于管理可用于管理Intel 8080/8085、8086/8088、80286/80386的可屏蔽中斷的可屏蔽中斷n8259A的基本功能的基本功能n一片一片8259A可以管理可以管理8級(jí)中斷,可擴(kuò)展至級(jí)中斷,可擴(kuò)展至64級(jí)級(jí)n每一級(jí)中斷都可單獨(dú)被屏蔽或允許每一級(jí)中斷都可單獨(dú)被屏蔽或允許n在中斷響應(yīng)周期,可提供相應(yīng)的中斷向量號(hào)在中斷響應(yīng)周期,可提供相應(yīng)的中斷向量號(hào)n8259A設(shè)計(jì)有多種工作方式,可通過(guò)編程選擇設(shè)計(jì)有

21、多種工作方式,可通過(guò)編程選擇的內(nèi)部結(jié)構(gòu)和引腳D7D0INTAINT中斷請(qǐng)求寄存器中斷請(qǐng)求寄存器中斷屏蔽寄存器中斷屏蔽寄存器數(shù)據(jù)數(shù)據(jù)總線總線緩沖器緩沖器IR0IR7讀讀/寫寫控制控制邏輯邏輯級(jí)聯(lián)級(jí)聯(lián)緩沖器緩沖器比較器比較器RDWRA0CSCAS0CSA1CAS2SP/EN優(yōu)先權(quán)判別電路優(yōu)先權(quán)判別電路中斷服務(wù)寄存器中斷服務(wù)寄存器控制邏輯控制邏輯1. 中斷控制n中斷請(qǐng)求寄存器中斷請(qǐng)求寄存器IRRn保存保存8條外界中斷請(qǐng)求信號(hào)條外界中斷請(qǐng)求信號(hào)IR0IR7的請(qǐng)求狀態(tài)的請(qǐng)求狀態(tài)nDi位為位為1表示表示IRi引腳有中斷請(qǐng)求;為引腳有中斷請(qǐng)求;為0表示無(wú)請(qǐng)求表示無(wú)請(qǐng)求n中斷服務(wù)寄存器中斷服務(wù)寄存器ISRn保

22、存正在被保存正在被8259A服務(wù)著的中斷狀態(tài)服務(wù)著的中斷狀態(tài)nDi位為位為1表示表示IRi中斷正在服務(wù)中;為中斷正在服務(wù)中;為0表示沒(méi)有被服務(wù)表示沒(méi)有被服務(wù)n中斷屏蔽寄存器中斷屏蔽寄存器IMRn保存對(duì)中斷請(qǐng)求信號(hào)保存對(duì)中斷請(qǐng)求信號(hào)IR的屏蔽狀態(tài)的屏蔽狀態(tài)nDi位為位為1表示表示IRi中斷被屏蔽(禁止);為中斷被屏蔽(禁止);為0表示允許表示允許n中斷優(yōu)先權(quán)判別電路中斷優(yōu)先權(quán)判別電路 n確定是否向確定是否向CPU發(fā)出中斷請(qǐng)求,中斷響應(yīng)時(shí)確定發(fā)出中斷請(qǐng)求,中斷響應(yīng)時(shí)確定ISR的哪位應(yīng)置位及把相應(yīng)中斷的類型碼放到數(shù)據(jù)總線上的哪位應(yīng)置位及把相應(yīng)中斷的類型碼放到數(shù)據(jù)總線上 2. 與處理器接口 A0 RD

23、* WR* CS*功能功能 0 1 0 0 1 1 0 0 0 0 1 0 1 0 1 0 1 1 0 1寫入寫入ICW1、OCW2和和OCW3寫入寫入ICW2ICW4和和OCW1讀出讀出IRR、ISR和查詢字和查詢字讀出讀出IMR數(shù)據(jù)總線高阻狀態(tài)數(shù)據(jù)總線高阻狀態(tài)數(shù)據(jù)總線高阻狀態(tài)數(shù)據(jù)總線高阻狀態(tài)3. 中斷級(jí)連n一個(gè)系統(tǒng)中,一個(gè)系統(tǒng)中,8259A可以級(jí)連,有一個(gè)主可以級(jí)連,有一個(gè)主8259A,若干個(gè)(最多若干個(gè)(最多8個(gè))從個(gè))從8259An級(jí)連時(shí),主級(jí)連時(shí),主8259A的三條級(jí)連線的三條級(jí)連線CAS0CAS2作作為輸出線,連至每個(gè)從為輸出線,連至每個(gè)從8259A的的CAS0CAS2n每個(gè)從每個(gè)

24、從8259A的中斷請(qǐng)求信號(hào)的中斷請(qǐng)求信號(hào)INT,連至主,連至主8259A的一個(gè)中斷請(qǐng)求輸入端的一個(gè)中斷請(qǐng)求輸入端IRn主主8259A的的INT線連至線連至CPU的中斷請(qǐng)求輸入端的中斷請(qǐng)求輸入端nSP*/EN*在非緩沖方式下,規(guī)定該在非緩沖方式下,規(guī)定該8259A是主片是主片(SP*1)還是從片()還是從片(SP*0)動(dòng)畫動(dòng)畫示例示例的中斷過(guò)程CAS0CAS2D0D7SP/ENIR0IR7CPU響應(yīng)周期響應(yīng)周期8259A工作波形工作波形INT第一個(gè)周期第一個(gè)周期T1 T2 T3 T4ALECLK 第二個(gè)周期第二個(gè)周期T1 T2 T3 T4第一個(gè)前保持為高電平第一個(gè)前保持為高電平 INTALOCK

25、動(dòng)畫動(dòng)畫的工作方式普通全嵌套方式普通全嵌套方式特殊全嵌套方式特殊全嵌套方式自動(dòng)循環(huán)方式自動(dòng)循環(huán)方式特殊循環(huán)方式特殊循環(huán)方式優(yōu)先權(quán)固定方式優(yōu)先權(quán)固定方式優(yōu)先權(quán)循環(huán)方式優(yōu)先權(quán)循環(huán)方式設(shè)置優(yōu)先權(quán)方式設(shè)置優(yōu)先權(quán)方式普通中斷結(jié)束方式普通中斷結(jié)束方式特殊中斷結(jié)束方式特殊中斷結(jié)束方式自動(dòng)中斷結(jié)束方式自動(dòng)中斷結(jié)束方式非自動(dòng)中斷結(jié)束方式非自動(dòng)中斷結(jié)束方式結(jié)束中斷處理方式結(jié)束中斷處理方式屏蔽中斷源方式屏蔽中斷源方式普通屏蔽方式普通屏蔽方式特殊屏蔽方式特殊屏蔽方式中斷觸發(fā)方式中斷觸發(fā)方式邊沿觸發(fā)方式邊沿觸發(fā)方式電平觸發(fā)方式電平觸發(fā)方式數(shù)據(jù)線連接方式數(shù)據(jù)線連接方式緩沖方式緩沖方式非緩沖方式非緩沖方式中斷優(yōu)先方式與中斷

26、嵌套n中斷優(yōu)先方式中斷優(yōu)先方式 兩類優(yōu)先級(jí)控制方式:兩類優(yōu)先級(jí)控制方式:固定優(yōu)先級(jí)固定優(yōu)先級(jí)和和循環(huán)優(yōu)先級(jí)循環(huán)優(yōu)先級(jí)n固定優(yōu)先級(jí)方式固定優(yōu)先級(jí)方式n所有中斷請(qǐng)求所有中斷請(qǐng)求IRi的中斷優(yōu)先級(jí)固定不變的中斷優(yōu)先級(jí)固定不變n優(yōu)先級(jí)排列順序可編程改變優(yōu)先級(jí)排列順序可編程改變n加電后加電后8259A的默認(rèn)方式,默認(rèn)優(yōu)先級(jí)順序從高到的默認(rèn)方式,默認(rèn)優(yōu)先級(jí)順序從高到低為低為IR0IR7IR7IR6IR5IR4IR3IR2IR1IR07654321032107654最低級(jí)最高級(jí)最高級(jí)最低級(jí)優(yōu)先級(jí)優(yōu)先級(jí)IR7IR6IR5IR4IR3IR2IR1IR0默認(rèn)優(yōu)先級(jí)默認(rèn)優(yōu)先級(jí)優(yōu)先級(jí)可編程改變優(yōu)先級(jí)可編程改變中斷優(yōu)先

27、方式與中斷嵌套(續(xù))n循環(huán)優(yōu)先級(jí)方式循環(huán)優(yōu)先級(jí)方式 n中斷源輪流處于最高優(yōu)先級(jí),即自動(dòng)中斷優(yōu)先級(jí)循環(huán)中斷源輪流處于最高優(yōu)先級(jí),即自動(dòng)中斷優(yōu)先級(jí)循環(huán)n初始優(yōu)先級(jí)順序可用編程改變初始優(yōu)先級(jí)順序可用編程改變n某中斷請(qǐng)求某中斷請(qǐng)求IRi被處理后,其優(yōu)先級(jí)別自動(dòng)降為最低,被處理后,其優(yōu)先級(jí)別自動(dòng)降為最低,原來(lái)比它低一級(jí)的中斷上升為最高級(jí)原來(lái)比它低一級(jí)的中斷上升為最高級(jí) IR7IR6IR5IR4IR3IR2IR1IR07654321021076543最低級(jí)最高級(jí)最高級(jí)最低級(jí)ISR內(nèi)容內(nèi)容IR7IR6IR5IR4IR3IR2IR1IR0IR4的服務(wù)結(jié)束以前的服務(wù)結(jié)束以前0101000001000000IR4

28、的服務(wù)結(jié)束以后的服務(wù)結(jié)束以后ISRi中斷優(yōu)先方式與中斷嵌套(續(xù))n中斷嵌套中斷嵌套方式方式n在中斷處理過(guò)程中允許被更高優(yōu)先級(jí)的事件所中在中斷處理過(guò)程中允許被更高優(yōu)先級(jí)的事件所中斷稱為中斷嵌套。斷稱為中斷嵌套。8259A有兩種中斷嵌套方式:有兩種中斷嵌套方式:n普通全嵌套方式(默認(rèn)方式)普通全嵌套方式(默認(rèn)方式) 一中斷正被處理時(shí),只有一中斷正被處理時(shí),只有更高優(yōu)先級(jí)更高優(yōu)先級(jí)的事件可以打的事件可以打斷當(dāng)前的中斷處理過(guò)程而被服務(wù)。斷當(dāng)前的中斷處理過(guò)程而被服務(wù)。n特殊全嵌套方式特殊全嵌套方式 一中斷正被處理時(shí),允許一中斷正被處理時(shí),允許同級(jí)或更高優(yōu)先級(jí)同級(jí)或更高優(yōu)先級(jí)的事件的事件可以打斷當(dāng)前的中斷

29、處理過(guò)程而被服務(wù)。可以打斷當(dāng)前的中斷處理過(guò)程而被服務(wù)。注注: 特殊全嵌套僅用于多個(gè)特殊全嵌套僅用于多個(gè)8259A級(jí)連時(shí)的主級(jí)連時(shí)的主8259A,而不能用于從屬而不能用于從屬8259A或單或單8259A系統(tǒng)。系統(tǒng)。D.主主8259AIR0IR1IR2IR3IR4IR5IR6IR7一般嵌套方式:一般嵌套方式:從片的從片的INT被主片被主片封鎖,故更封鎖,故更高高級(jí)別級(jí)別的的IR0-IR2中斷也無(wú)中斷也無(wú)法得到響應(yīng)法得到響應(yīng)特殊嵌套方式:特殊嵌套方式:因主片不封鎖從片的因主片不封鎖從片的INT,故級(jí)別高的,故級(jí)別高的IR0-IR2中斷可以得到響應(yīng)。中斷可以得到響應(yīng)。( (但但I(xiàn)R3-IR7仍被本從仍

30、被本從片封鎖片封鎖) )C.假定假定IR7發(fā)生中發(fā)生中斷斷,并獲得服務(wù)并獲得服務(wù)一般嵌套方式:一般嵌套方式:IR4的中斷被服務(wù)的中斷被服務(wù)時(shí),這些中斷將時(shí),這些中斷將被封鎖。被封鎖。B.特殊嵌套方式:特殊嵌套方式:IR4的中斷被服的中斷被服務(wù) 時(shí) , 只 封 鎖務(wù) 時(shí) , 只 封 鎖IR5-IR7。A.I NTE.從從8259AI NTIR0IR1IR2IR3IR4IR5IR6IR7一般全嵌套方式與特殊全嵌套方式的區(qū)別一般全嵌套方式與特殊全嵌套方式的區(qū)別 去去CPU中斷結(jié)束處理方式n當(dāng)某一當(dāng)某一IRi中斷被服務(wù)時(shí),中斷被服務(wù)時(shí),ISR中的相應(yīng)位中的相應(yīng)位ISRi=1。當(dāng)服務(wù)結(jié)束后,則必須清零該

31、。當(dāng)服務(wù)結(jié)束后,則必須清零該ISRi位。使位。使ISRi=0是通過(guò)向是通過(guò)向8259A發(fā)出中發(fā)出中斷結(jié)束命令(斷結(jié)束命令(EOI命令)實(shí)現(xiàn)的。命令)實(shí)現(xiàn)的。n三種三種EOI命令命令n自動(dòng)自動(dòng)EOI(AEOI)(自動(dòng)(自動(dòng)EOI方式)方式)n非指定非指定EOI(NSEOI)(正常(正常EOI方式)方式)n指定指定EOI(SEOI)(特殊(特殊EOI方式方式) nAEOI:在第在第2個(gè)個(gè)INTA#結(jié)束時(shí),由結(jié)束時(shí),由8259A使使ISRi自動(dòng)復(fù)位;自動(dòng)復(fù)位;n因不保留當(dāng)前正在服務(wù)的中斷的狀態(tài),故因不保留當(dāng)前正在服務(wù)的中斷的狀態(tài),故AEOI不能用不能用于中斷嵌套方式于中斷嵌套方式nSEOI:由:由C

32、PU發(fā)出一條發(fā)出一條SEOI命令,該命令,該EOI命令命令中指出了所要復(fù)位的中指出了所要復(fù)位的ISR的位號(hào)。的位號(hào)。 n用于特殊屏蔽方式用于特殊屏蔽方式nNSEOI:由由CPU發(fā)出正常發(fā)出正常EOI命令,該命令,該EOI命令命令使使ISRi=1的位中優(yōu)先級(jí)最高的那一位復(fù)位。的位中優(yōu)先級(jí)最高的那一位復(fù)位。n用于普通全嵌套方式用于普通全嵌套方式中斷服務(wù)程序向從PIC發(fā)EOI命令讀從PIC的ISR全0?向主PIC發(fā)EOI命令YIRET恢復(fù)現(xiàn)場(chǎng)N 特殊全嵌套方式特殊全嵌套方式下的下的EOI處理處理只有當(dāng)從只有當(dāng)從PIC的中斷的中斷全部處理完后,才全部處理完后,才能向主能向主PIC發(fā)發(fā)EOI命命令令屏蔽

33、中斷源的方式nIMR屏蔽字決定了屏蔽字決定了允許或禁止允許或禁止某位某位IRi所對(duì)應(yīng)所對(duì)應(yīng)的中斷的中斷:IMi=1 禁止,禁止, IMi=0 允許。允許。n特殊屏蔽方式:特殊屏蔽方式:n提供了允許較低優(yōu)先級(jí)的中斷能夠得到響應(yīng)的特提供了允許較低優(yōu)先級(jí)的中斷能夠得到響應(yīng)的特殊手段。殊手段。n原理原理:假定當(dāng)前正在處理:假定當(dāng)前正在處理IR6,先,先進(jìn)入特殊屏蔽進(jìn)入特殊屏蔽方式,然后方式,然后設(shè)置設(shè)置IM6=1。這時(shí),除。這時(shí),除IR6外的所有中外的所有中斷請(qǐng)求均能得到響應(yīng)。斷請(qǐng)求均能得到響應(yīng)。n特殊屏蔽方式中只能用特殊屏蔽方式中只能用SEOI命令結(jié)束中斷。命令結(jié)束中斷。n特殊屏蔽例特殊屏蔽例:。

34、;IR4中斷處理程序中斷處理程序CLIMOV AL,68H ;OCW3:0 1 1 0 1 0 0 0OUT 0C0H,AL ;設(shè)置特殊屏蔽方式;設(shè)置特殊屏蔽方式IN AL,0C2H OR AL,10H ;屏蔽;屏蔽IR4OUT 0C2H,AL STI。 ;IR7請(qǐng)求,響應(yīng),返回請(qǐng)求,響應(yīng),返回。CLI ;為設(shè)命令字;為設(shè)命令字IN AL,0C2H ;讀出屏蔽字;讀出屏蔽字AND AL,0EFH ;清除;清除IMR4OUT 0C2H,ALMOV AL,48H ;OCW3:0 1 0 0 1 0 0 0OUT 0C0H,AL ;取消特殊屏蔽;取消特殊屏蔽STI。 ;繼續(xù);繼續(xù)IR4中斷服務(wù)中斷服

35、務(wù)MOV AL,20H ;OCW2:0 0 1 0 0 0 0 0 (EOI)OUT 0C0,ALIRET 中斷觸發(fā)方式n邊沿觸發(fā)邊沿觸發(fā)nIRi出現(xiàn)上升沿表示有中斷請(qǐng)求出現(xiàn)上升沿表示有中斷請(qǐng)求 n電平觸發(fā)電平觸發(fā)nIRi出現(xiàn)高電平表示有中斷請(qǐng)求出現(xiàn)高電平表示有中斷請(qǐng)求n在第在第1個(gè)個(gè)INTA#結(jié)束前,結(jié)束前,IRi必須保持高電平必須保持高電平 級(jí)聯(lián)工作方式n單片單片8259A可支持可支持8個(gè)中斷源;個(gè)中斷源;n采用多片采用多片8259A級(jí)連,可最多支持級(jí)連,可最多支持64個(gè)中斷個(gè)中斷源。源。n片片8259A可支持可支持7n+1個(gè)中斷源;個(gè)中斷源;n級(jí)連時(shí)只能有一片級(jí)連時(shí)只能有一片8259A為

36、主片,其余的均為主片,其余的均為從屬片;為從屬片;n涉及到的涉及到的8259A引腳包括:引腳包括:nCAS0-CAS2nSP#/EN#nIRinINT級(jí)連電路連接方法的編程使用n8259A的控制命令分為的控制命令分為n初始化命令字初始化命令字ICWnICW1ICW4n向向8259A寫入寫入ICW的過(guò)程稱為的過(guò)程稱為初始化編程初始化編程n操作命令字操作命令字OCW nOCW1OCW3n向向8259A寫入寫入OCW的過(guò)程稱為的過(guò)程稱為操作方式編程操作方式編程8259A內(nèi)部寄存器的尋址方法CS# RD# WR#A0D4D3讀寫操作讀寫操作010000寫OCW2寫OCW3寫ICW1寫ICW2,ICW3

37、,ICW4,OCW1(順序?qū)懭?00101x1xx00101xx讀出IRR、ISR讀出IMR需要需要CS#、A0、RD#、WR#和和D4、D3的配合的配合內(nèi)部寄存器的訪問(wèn)方法如下表:內(nèi)部寄存器的訪問(wèn)方法如下表: 8259A的初始化順序 n8259的初始化流的初始化流程如圖程如圖n注意次序不可顛倒注意次序不可顛倒 寫寫ICW1寫寫ICW2級(jí)連?級(jí)連?寫寫ICW3需需ICW4?寫寫ICW4NNYY8259A的控制命令字n初始化初始化8259A必須從必須從ICW1開(kāi)始開(kāi)始n寫寫ICW1意味著重新初始化意味著重新初始化8259An寫入寫入ICW1后,后,8259A的狀態(tài)如下:的狀態(tài)如下:n清除清除IS

38、R和和IMR(全全0);n將中斷優(yōu)先級(jí)設(shè)成初始狀態(tài):將中斷優(yōu)先級(jí)設(shè)成初始狀態(tài):IR0最高,最高,IR7最低;最低;n設(shè)定為一般屏蔽方式;設(shè)定為一般屏蔽方式;n采用非自動(dòng)中斷結(jié)束方式;采用非自動(dòng)中斷結(jié)束方式;n狀態(tài)讀出邏輯預(yù)置為讀狀態(tài)讀出邏輯預(yù)置為讀IRR。ICW1初始化字nLTIM: 觸發(fā)方式觸發(fā)方式n=1 高電平觸發(fā)高電平觸發(fā)n=0 上升沿觸發(fā)上升沿觸發(fā)nSNGL: 級(jí)連控制級(jí)連控制n=1 單片單片n=0 級(jí)連級(jí)連nIC4: ICW4控制控制n=1 要寫要寫ICW4n=0 不寫不寫ICW4(默認(rèn)(默認(rèn)ICW4為全為全0)A0 D7D6 D5 D4 D3 D2 D1 D0 0 x x x 1

39、LTIM x SNGL IC4ICW2中斷向量碼nT7T3: 中斷向量碼的高中斷向量碼的高5位位nT2T0: 最低最低3位為中斷源的序號(hào)位為中斷源的序號(hào)IRnn000111分別對(duì)應(yīng)分別對(duì)應(yīng)IR0IR7n由由8259A根據(jù)中斷源的序號(hào)自動(dòng)填入根據(jù)中斷源的序號(hào)自動(dòng)填入 例如:例如:若若ICW2命令字為命令字為48H,則,則IR0的中斷向量碼為的中斷向量碼為48H,IR7的中斷向量碼為的中斷向量碼為4FH,等等。,等等。 A0 D7D6 D5 D4 D3 D2 D1 D0 1 T7 T6 T5 T4 T3 x x xICW3級(jí)連控制字 n主片的級(jí)聯(lián)控制字主片的級(jí)聯(lián)控制字 nSi=1 對(duì)應(yīng)對(duì)應(yīng)IRi線

40、上連接了從片線上連接了從片 A0 D7D6 D5 D4 D3 D2 D1 D0 1 S7 S6 S5 S4 S3 S2 S1 S0 從片的級(jí)聯(lián)控制字從片的級(jí)聯(lián)控制字 ID2ID0 標(biāo)識(shí)碼,說(shuō)明本從片連接到主片的標(biāo)識(shí)碼,說(shuō)明本從片連接到主片的哪個(gè)哪個(gè)IR引腳上。引腳上。 000111分別對(duì)應(yīng)分別對(duì)應(yīng)IR0IR7。 A0 D7D6 D5 D4 D3 D2 D1 D0 1 0 0 0 0 0 ID2 ID1 ID0ICW3級(jí)連控制字(續(xù))nICW3必須與主從片的連接關(guān)系一致:必須與主從片的連接關(guān)系一致:例如,主片的例如,主片的IR4與從片的與從片的INT線連接,則主線連接,則主片的片的ICW3=10

41、H,從片的,從片的ICW3=04H。n中斷響應(yīng)時(shí),主片通過(guò)級(jí)連線中斷響應(yīng)時(shí),主片通過(guò)級(jí)連線CAS2-CAS0送送出被允許中斷的從片標(biāo)識(shí)碼,各從片用自己出被允許中斷的從片標(biāo)識(shí)碼,各從片用自己的的ICW3與與CAS2-CAS0比較,二者一致的從比較,二者一致的從片才可發(fā)送中斷向量碼。片才可發(fā)送中斷向量碼。ICW4中斷結(jié)束方式字 nSFNM: 特殊全嵌套特殊全嵌套1 特殊全嵌套方式特殊全嵌套方式0 一般全嵌套方式一般全嵌套方式nAEOI: 自動(dòng)自動(dòng)EOI1 自動(dòng)自動(dòng)EOI方式方式0 非自動(dòng)非自動(dòng)EOI方式方式A0 D7D6 D5 D4 D3 D2 D1 D0 1 0 0 0 SFNMBUF M/S

42、AEOI 1BUF: 緩沖方式緩沖方式 M/S: 主主/從緩沖選擇從緩沖選擇BUF M/S 1 1 緩沖方式緩沖方式/主主PIC 1 0 緩沖方式緩沖方式/從從PIC 0 x 非緩沖方式非緩沖方式/正常正常8259A的操作命令字OCW nOCW用于設(shè)置用于設(shè)置8259的工作狀態(tài)的工作狀態(tài)n在初始化后寫入在初始化后寫入nOCW的寫入順序可任意的寫入順序可任意n寫入地址要求:寫入地址要求:nOCW1必須寫入奇地址端口必須寫入奇地址端口(A0=1)nOCW2,OCW3必須寫入偶地址端口必須寫入偶地址端口(A0=0) OCW1中斷屏蔽字 nMi=1 中斷請(qǐng)求線中斷請(qǐng)求線IRi被屏蔽被屏蔽(不允許中斷不

43、允許中斷) =0 允許該允許該IRi中斷中斷 nOCW1將寫入將寫入IMR寄存器。寄存器。nA0=1時(shí)讀時(shí)讀OCW1可讀出設(shè)置的可讀出設(shè)置的IMR內(nèi)容。內(nèi)容。 A0 D7D6 D5 D4 D3 D2 D1 D0 1 M7 M6 M5 M4 M3 M2 M1 M0OCW2中斷結(jié)束和優(yōu)先級(jí)循環(huán) nL2L0: 優(yōu)先級(jí)編碼優(yōu)先級(jí)編碼nR: 優(yōu)先級(jí)自動(dòng)循環(huán)優(yōu)先級(jí)自動(dòng)循環(huán)nSL: 指定優(yōu)先級(jí)指定優(yōu)先級(jí)nEOI: 結(jié)束中斷命令結(jié)束中斷命令 R SL EOI 0 0 1 非指定非指定EOI 命令命令(NSEOI),全嵌套方式,全嵌套方式 0 1 1 指定指定EOI 命令命令(SEOI),全嵌套方式,按,全嵌套

44、方式,按L2-L0編碼復(fù)位編碼復(fù)位ISR 1 0 1 NSEOI 命令,優(yōu)先級(jí)自動(dòng)循環(huán)命令,優(yōu)先級(jí)自動(dòng)循環(huán) 1 0 0 自動(dòng)自動(dòng)EOI,設(shè)置優(yōu)先級(jí)自動(dòng)循環(huán),設(shè)置優(yōu)先級(jí)自動(dòng)循環(huán) 0 0 0 自動(dòng)自動(dòng)EOI,取消優(yōu)先級(jí)自動(dòng)循環(huán),取消優(yōu)先級(jí)自動(dòng)循環(huán)(固定優(yōu)先級(jí)固定優(yōu)先級(jí)) 1 1 1 SEOI 命令,按命令,按L2-L0編碼循環(huán)優(yōu)先級(jí)編碼循環(huán)優(yōu)先級(jí)(L2-L0設(shè)為最低優(yōu)先級(jí)設(shè)為最低優(yōu)先級(jí)) 1 1 0 按按L2-L0編碼循環(huán)優(yōu)先級(jí)編碼循環(huán)優(yōu)先級(jí)(L2-L0設(shè)為最低優(yōu)先級(jí)設(shè)為最低優(yōu)先級(jí)) A0 D7D6 D5 D4 D3 D2 D1 D0 0 R SL EOI 0 0 L2 L1 L0OCW3屏蔽方式

45、和讀出控制字 nESMM: 允許使能特殊屏蔽方式允許使能特殊屏蔽方式nSMM: 特殊屏蔽方式特殊屏蔽方式ESMM SMM1 1 特殊屏蔽方式置位特殊屏蔽方式置位1 0 特殊屏蔽方式復(fù)位特殊屏蔽方式復(fù)位0 x 非特殊屏蔽方式非特殊屏蔽方式P(Polling): =1 查詢方式查詢方式 =0 非查詢方式非查詢方式A0 D7D6 D5 D4 D3 D2 D1 D0 0 0 ESMM SMM 0 1 P RR RISRR: 讀寄存器讀寄存器RIS: ISR/IRR選擇選擇RR RIS1 1 讀讀ISR1 0 讀讀IRR0 x 無(wú)效無(wú)效OCW3(續(xù))n查詢方式允許查詢方式允許8259A不工作于中斷方式,

46、而不工作于中斷方式,而是以查詢方式工作。是以查詢方式工作。nCPU先寫一個(gè)先寫一個(gè)D2=1的的OCW3,再對(duì)同一地址讀入,再對(duì)同一地址讀入,即可得到如下?tīng)顟B(tài)字節(jié):即可得到如下?tīng)顟B(tài)字節(jié): I x x x x R2 R1 R0 I=1表示有中斷請(qǐng)求,中斷請(qǐng)求號(hào)為表示有中斷請(qǐng)求,中斷請(qǐng)求號(hào)為R2-R0 此查詢步驟可反復(fù)執(zhí)行,以響應(yīng)多個(gè)同時(shí)發(fā)生此查詢步驟可反復(fù)執(zhí)行,以響應(yīng)多個(gè)同時(shí)發(fā)生 的中斷。的中斷。 n讀讀IRR/ISR:寫入此命令后,隨后再對(duì)同一:寫入此命令后,隨后再對(duì)同一地址讀,即可得到地址讀,即可得到IRR或或ISR的內(nèi)容。的內(nèi)容。8259A編程舉例n按以下要求初始化按以下要求初始化8259A

47、:n接口地址為接口地址為20H和和21H;n中斷為上升沿觸發(fā);單片中斷為上升沿觸發(fā);單片8259A;不寫;不寫ICW4;n與與IR0-IR3對(duì)應(yīng)的中斷向量碼為對(duì)應(yīng)的中斷向量碼為08H-0BH;nIR4-IR7不使用。不使用。n根據(jù)要求,各初始化參數(shù)及工作參數(shù)如下:根據(jù)要求,各初始化參數(shù)及工作參數(shù)如下:nICW1 = 00010010 = 12HnICW2 = 08H 中斷向量碼中斷向量碼 nOCW1 = 11110000 = 0F0H 中斷屏蔽字中斷屏蔽字 8259A編程舉例(續(xù))初始化程序如下:初始化程序如下:INIT8259A:MOV DX,20H;A0=0,寫,寫ICW1MOV AL,12H;上升沿觸發(fā),單片,不寫;上升沿觸發(fā),單片,不寫ICW4OUTDX,ALMOV DX,21H;A0=1,寫,寫ICW2,OCW1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論