8259中斷控制器實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告_第1頁(yè)
8259中斷控制器實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告_第2頁(yè)
8259中斷控制器實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告_第3頁(yè)
8259中斷控制器實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告_第4頁(yè)
8259中斷控制器實(shí)驗(yàn)的實(shí)驗(yàn)報(bào)告_第5頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡(jiǎn)介

1、-. z.實(shí)驗(yàn)六 8259中斷控制器實(shí)驗(yàn)6.1 實(shí)驗(yàn)?zāi)康?1) 學(xué)習(xí)中斷控制器8259的工作原理。(2) 掌握可編程控制器8259的應(yīng)用編程方法。6.2 實(shí)驗(yàn)設(shè)備PC微機(jī)一臺(tái)、TD-PIT+實(shí)驗(yàn)系統(tǒng)一套。6.3 實(shí)驗(yàn)內(nèi)容1. 單中斷應(yīng)用實(shí)驗(yàn)(1)編寫(xiě)中斷處理程序,利用PC機(jī)給實(shí)驗(yàn)系統(tǒng)分配的中斷線,使用單次脈沖單元的KK1+按鍵模擬中斷源,每次PC機(jī)響應(yīng)中斷請(qǐng)求,在顯示器上顯示一個(gè)字符。(2)編寫(xiě)中斷處理程序,利用PC機(jī)給實(shí)驗(yàn)系統(tǒng)分配的中斷線,使用單次脈沖單元的KK1+按鍵模擬中斷源,每次PC機(jī)響應(yīng)中斷請(qǐng)求,在顯示器上顯示Hello,中斷5次后退出。2擴(kuò)展多中斷源實(shí)驗(yàn)利用實(shí)驗(yàn)平臺(tái)上8259控制器

2、對(duì)擴(kuò)展系統(tǒng)總線上的中斷線INTR進(jìn)展擴(kuò)展。編寫(xiě)程序?qū)?259控制器的IR0和IR1中斷請(qǐng)求進(jìn)展處理。6.4 實(shí)驗(yàn)原理1. 8259控制器的介紹中斷控制器8259A是Intel公司專為控制優(yōu)先級(jí)中斷而設(shè)計(jì)開(kāi)發(fā)的芯片。它將中斷源優(yōu)先級(jí)排隊(duì)、區(qū)分中斷源以及提供中斷矢量的電路集于一片中,因此無(wú)需附加任何電路,只需對(duì)8259A進(jìn)展編程,就可以管理8級(jí)中斷,并選擇優(yōu)先模式和中斷請(qǐng)求方式,即中斷構(gòu)造可以由用戶編程來(lái)設(shè)定。同時(shí),在不需增加其他電路的情況下,通過(guò)多片8259A的級(jí)連,能構(gòu)成多達(dá)64級(jí)的矢量中斷系統(tǒng)。它的管理功能包括:1記錄各級(jí)中斷源請(qǐng)求,2判別優(yōu)先級(jí),確定是否響應(yīng)和響應(yīng)哪一級(jí)中斷,3響應(yīng)中斷時(shí),

3、向CPU傳送中斷類型號(hào)。8259A的內(nèi)部構(gòu)造和引腳如圖6-1所示。8259A的命令共有7個(gè),一類是初始化命令字,另一類是操作命令。8259A的編程就是根據(jù)應(yīng)用需要將初始化命令字ICW1-ICW4和操作命令字OCW1-OCW3分別寫(xiě)入初始化命令存放器組和操作命令存放器組。ICW1-ICW4各命令字格式如圖6-2所示,OCW1-OCW3各命令字格式如圖6-3所示,其中OCW1用于設(shè)置中斷屏蔽操作字,OCW2用于設(shè)置優(yōu)先級(jí)循環(huán)方式和中斷完畢方式的操作命令字,OCW3用于設(shè)置和撤銷特殊屏蔽方式、設(shè)置中斷查詢方式以及設(shè)置對(duì)8259內(nèi)部存放器的讀出命令。圖6-1 8259內(nèi)部構(gòu)造和引腳圖圖6-2a ICW

4、1格式圖6-2b ICW2格式圖6-2c ICW3格式圖6-2d ICW4格式圖6-3 OCW命令字格式28259存放器及命令的控制訪問(wèn)在硬件系統(tǒng)中,8259僅占用兩個(gè)外設(shè)接口地址,在片選有效的情況下,利用A0來(lái)尋址不同的存放器和命令字。對(duì)存放器和命令的訪問(wèn)控制如表6-1所示。表6-1 8259存放器及命令的訪問(wèn)控制A0D4D3讀信號(hào)寫(xiě)信號(hào)片選操作0010讀出ISR,IRR的內(nèi)容1010讀出IMR的內(nèi)容000100寫(xiě)入OCW2001100寫(xiě)入OCW301100寫(xiě)入ICW11100寫(xiě)入OCW1,ICW2,ICW3,ICW43. PC微機(jī)系統(tǒng)中的8259在80*86系列PC微機(jī)系統(tǒng)中,系統(tǒng)中包含了

5、兩片8259A中斷控制器,經(jīng)級(jí)連可以管理15級(jí)硬件中斷,但其中局部中斷號(hào)已經(jīng)被系統(tǒng)硬件占用,具體使用情況如表6-2示。兩片8259A的端口地址為:主片8259使用020H和021H兩個(gè)端口;從片使用0A0H和0A1H兩個(gè)端口。系統(tǒng)初始化兩片8259的中斷請(qǐng)求信號(hào)均采用上升沿觸發(fā),采用全嵌套方式,優(yōu)先級(jí)的排列次序?yàn)?級(jí)最高,依次為1級(jí)、8級(jí)15級(jí),然后是3級(jí)7級(jí)。在擴(kuò)展系統(tǒng)總線上的INTR對(duì)應(yīng)的中斷線就是PC機(jī)保存中斷其中的一個(gè)。對(duì)INTR中斷的初始化PC機(jī)已經(jīng)完成,在使用時(shí)主要是將其中斷屏蔽翻開(kāi),修改中斷向量。表6-2 PC微機(jī)系統(tǒng)中的硬件中斷中斷號(hào)功能中斷向量號(hào)中斷向量地址主8259A IR

6、Q0日時(shí)鐘/計(jì)數(shù)器008H0020H0023H主8259A IRQ1鍵盤(pán)09H0024H0027H主8259A IRQ2接從片8259A0AH0028H002BH主8259A IRQ3串行口20BH002CH002FH主8259A IRQ4串行口10CH0030H0033H主8259A IRQ5并行口20DH0034H0037H主8259A IRQ6軟盤(pán)0EH0038H003BH主8259A IRQ7并行口10FH003CH003FH從8259A IRQ8實(shí)時(shí)鐘70H01C0H01C3H從8259A IRQ9保存71H01C4H01C7H從8259A IRQ10保存72H01C8H01CBH從

7、8259A IRQ11保存73H01CCH01CFH從8259A IRQ12保存74H01D0H01D3H從8259A IRQ13協(xié)處理器中斷75H01D4H01D7H從8259A IRQ14硬盤(pán)控制器76H01D8H01DBH從8259A IRQ15保存77H01DCH01DFH6.5 實(shí)驗(yàn)說(shuō)明及步驟1. 單中斷應(yīng)用實(shí)驗(yàn)本實(shí)驗(yàn)要求使用總線上INTR中斷請(qǐng)求線完成一次單中斷應(yīng)用實(shí)驗(yàn)。中斷處理程序完成在屏幕上顯示字符9。實(shí)驗(yàn)前先運(yùn)行CHECK程序,得到INTR所對(duì)應(yīng)的中斷號(hào)、相應(yīng)的初始化命令字存放器ICW及操作命令字存放器OCW的地址、開(kāi)屏蔽的命令字、中斷矢量地址和PCI卡中斷控制存放器INTC

8、SR的地址。得到這些信息后就可以開(kāi)場(chǎng)設(shè)計(jì)實(shí)驗(yàn)了。參考程序流程如圖6-5所示。實(shí)驗(yàn)步驟如下。(1) 確認(rèn)從PC機(jī)引出的兩根扁平電纜已經(jīng)連接在實(shí)驗(yàn)平臺(tái)上。(2) 首先運(yùn)行CHECK程序,查看INTR中斷號(hào)及相關(guān)信息。(3) 參考實(shí)驗(yàn)流程圖編寫(xiě)程序,然后編譯。(4) 將單次脈沖單元的KK1+連接到系統(tǒng)總線上的INTR。(5) 運(yùn)行程序,按動(dòng)KK1+按鍵,觀察中斷是否產(chǎn)生。2擴(kuò)展多中斷源實(shí)驗(yàn)利用實(shí)驗(yàn)平臺(tái)上的8259控制器,可以對(duì)總線上的INTR進(jìn)展擴(kuò)展。將8259的INT連接到INTR,8259的8路中斷請(qǐng)求線IR0IR7就成了單一INTR中斷請(qǐng)求線的擴(kuò)大。這8路中斷源共用INTR的中斷矢量,共用IN

9、TR的中斷效勞線程。在INTR的中斷效勞線程中通過(guò)對(duì)8259OCW3的查詢,以確定是IR0IR7中哪個(gè)產(chǎn)生中斷,然后轉(zhuǎn)到相應(yīng)的效勞線程進(jìn)展處理。將8259的OCW3中P位置1即可執(zhí)行查詢,查詢字格式如圖6-6所示。(a)主程序 (b)中斷處理程序圖6-5 8259中斷應(yīng)用實(shí)驗(yàn)(1)參考程序流程圖圖6-6 8259 OCW3查詢命令字格式本實(shí)驗(yàn)要*現(xiàn)8259控制器IR0、IR1兩路中斷。用KK1+和KK2+模擬兩個(gè)中斷源,在IR0對(duì)應(yīng)的效勞程序中顯示字符0,在IR1對(duì)應(yīng)的效勞程序中顯示字符1。實(shí)驗(yàn)程序參考流程如圖6-7所示。參考實(shí)驗(yàn)電路如圖6-8所示。實(shí)驗(yàn)步驟如下:(1) 確認(rèn)從PC機(jī)引出的兩根

10、扁平電纜已經(jīng)連接在實(shí)驗(yàn)平臺(tái)上。(2) 首先運(yùn)行CHECK程序,查看INTR中斷號(hào)及相關(guān)信息。(3) 參考實(shí)驗(yàn)流程圖編寫(xiě)程序,然后編譯。(4) 參考實(shí)驗(yàn)接線圖連接實(shí)驗(yàn)電路。(5) 運(yùn)行程序,按動(dòng)KK1+、KK2+按鍵,觀察中斷響應(yīng)是否正常。(a)主程序 (b)中斷處理程序圖6-7 8259中斷應(yīng)用實(shí)驗(yàn)(2)參考程序流程圖圖6-8 8259中斷應(yīng)用實(shí)驗(yàn)(2)參考接線圖6.6 思考題1. 在編程過(guò)程中,用到了哪些操作命令字?2. 在執(zhí)行中斷效勞程序之前,保存了哪些斷點(diǎn)?為什么?單一中斷應(yīng)用實(shí)驗(yàn)參考程序;*根據(jù)CHECK配置信息修改以下符號(hào)值*INTR_IVADD EQU _H ;INTR對(duì)應(yīng)的中斷矢

11、量地址INTR_OCW1 EQU _H ;INTR對(duì)應(yīng)PC機(jī)內(nèi)部8259的OCW1地址INTR_OCW2 EQU _H ;INTR對(duì)應(yīng)PC機(jī)內(nèi)部8259的OCW2地址INTR_IM EQU _H ;INTR對(duì)應(yīng)的中斷屏蔽字PCI_INTCSR EQU _H ;PCI卡中斷控制存放器地址STACK1 SEGMENT STACK DW 256 DUP()STACK1 ENDSDATA SEGMENT CS_BAK DW ;保存INTR原中斷處理程序入口段地址的變量IP_BAK DW ;保存INTR原中斷處理程序入口偏移地址的變量IM_BAK DB ;保存INTR原中斷屏蔽字的變量DATA ENDS

12、CODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV A*,DATA MOV DS,A* CLI MOV D*,PCI_INTCSR SUB D*,19H IN AL,D* MOV D*,PCI_INTCSR ;初始化PCI卡中斷控制存放器 MOV A*,1F00H ;向PCI_INTCSR中寫(xiě)入003F1F00H OUT D*,A* ADD D*,2 MOV A*,003FH OUT D*,A* MOV A*,0000H ;替換INTR的中斷矢量 MOV ES,A* MOV DI,INTR_IVADD MOV A*,ES:DI MOV IP_BAK,A*

13、 ;保存INTR原中斷處理程序入口偏移地址 MOV A*,OFFSET MYISR MOV ES:DI,A* ;設(shè)置當(dāng)前中斷處理程序入口偏移地址 ADD DI,2 MOV A*,ES:DI MOV CS_BAK,A* ;保存INTR原中斷處理程序入口段地址 MOV A*,SEG MYISR MOV ES:DI,A* ;設(shè)置當(dāng)前中斷處理程序入口段地址 MOV D*,INTR_OCW1 ;設(shè)置中斷屏蔽存放器,翻開(kāi)INTR的屏蔽位 IN AL,D* MOV IM_BAK,AL ;保存INTR原中斷屏蔽字 AND AL,INTR_IM OUT D*,AL STIWAIT1: MOV AH,1 ;判斷是

14、否有按鍵按下 INT 16H JZ WAIT1 ;無(wú)按鍵則跳回繼續(xù)等待,有則退出QUIT: CLI MOV D*,PCI_INTCSR ;恢復(fù)PCI卡中斷控制存放器 MOV A*,0000H OUT D*,A* MOV A*,0000H ;恢復(fù)INTR原中斷矢量 MOV ES,A* MOV DI,INTR_IVADD MOV A*,IP_BAK ;恢復(fù)INTR原中斷處理程序入口偏移地址 MOV ES:DI,A* ADD DI,2 MOV A*,CS_BAK ;恢復(fù)INTR原中斷處理程序入口段地址 MOV ES:DI,A* MOV D*,INTR_OCW1 ;恢復(fù)INTR原中斷屏蔽存放器的屏蔽字 MOV AL,IM_BAK OUT D*,AL STI MOV A*,4C00H ;返回到DOS INT 21HMYISR PROC NEAR ;中斷處理程序MYISR MOV AL,39H MOV AH,0EH INT 10H MOV AL,20H INT 1

溫馨提示

  • 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)論