a可編程中斷控制器實驗_第1頁
a可編程中斷控制器實驗_第2頁
a可編程中斷控制器實驗_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、4.2 8259A可編程中斷控制器實驗實驗?zāi)康?、 掌握8259A可編程中斷控制器的工作原理、編程方法以及如何通過 8259A實現(xiàn)對外部可屏蔽硬件中斷的管理;熟悉實驗中涉及到的中斷屏蔽寄存器IMR和中斷服務(wù)寄存器ISR等的使用方法2、 進(jìn)一步掌握中斷服務(wù)程序的設(shè)計方法.實驗預(yù)習(xí)要求1、復(fù)習(xí)教材中有關(guān)中斷的內(nèi)容,了解微型計算機中外部可屏蔽硬件中斷的處理過程2、 復(fù)習(xí)8259A的工作原理以及如何通過8259A實現(xiàn)對外部可屏蔽硬件中斷源的管理.3、 復(fù)習(xí)中斷服務(wù)程序的編寫方法4、預(yù)先編寫好實驗程序?qū)嶒炘砦⑿陀嬎銠C中用戶可使用的外部硬件中斷只有可屏蔽中斷,由8259A可編程中斷控制器管理中斷控制器用

2、于接收外部的中斷請求信號,可實現(xiàn)中斷優(yōu)先級判定、提供中斷類型號、屏蔽中斷輸入等功能在IBM PC/XT機中,僅使用了 1片8259A芯片,能實現(xiàn)對外部 8個硬件可屏蔽中斷源的中斷管理(其中IRQ2系統(tǒng)保留),有關(guān)8259A在IBM PC/XT機中的使用情況見教材“ 7.5可編程中斷控制器In tel8259A ”一節(jié).IBM PC/AT( 80286CPU)及其以后機型使用 2片8259A組成級聯(lián)方式,擴(kuò)展的 8259A與 主8259A通過IRQ2進(jìn)行級聯(lián),兩個 8259A中斷控制器最多可對外部15個中斷源進(jìn)行管理實驗臺上的中斷請求信號通過扁平電纜連接到微機主板上的ISA總線擴(kuò)展插槽的IRQ2

3、、IRQ3、IRQ4和IRQ7中的某一個上,然后送往主板上主 8259A可編程中斷控制器的對應(yīng)中斷請求輸入端具體選用IRQ2、IRQ3、IRQ4和IRQ7中的哪一個,由本實驗臺接口卡上的跳線開關(guān)( JK)設(shè)置,可以選擇 將IRQ2、IRQ3、IRQ4和IRQ7中的某一個引到實驗臺上的IRQ插座上,跳線方法詳見第 3章,實驗臺接口卡出廠設(shè)置為IRQ7.系統(tǒng)啟動時,8259A中斷類型號的高 5位已被初始化為 00001,故IRQ0 JRQ7的中斷類型號為08H、0FH ; 8259A的中斷結(jié)束方式初始化為非自動結(jié)束方式,即要在中斷服務(wù)程序中發(fā)EOI命令;中斷請求信號設(shè)置為“邊沿觸發(fā)”方式; 825

4、9A的端口地址為20H和21H.實驗內(nèi)容按圖4.2-1連接線路(只需連接一根線),按動單脈沖發(fā)生器的微 動開關(guān)產(chǎn)生一個正脈沖作為中斷請求信號.要求每按一次開關(guān)產(chǎn)生一次中斷,在屏幕上顯示一次“ This is a interruption !”,中斷10次后程 序結(jié)束.實驗提示設(shè)實驗臺接口卡上的跳線開關(guān)(JK)設(shè)置為通過ISA總線中的IRQ7 (接口卡出廠設(shè)置) 將實驗臺上的中斷請求信號引入微機主板上 的主8259A中斷控制器.由于系統(tǒng)中使用IRQ7作為并行打印機的中斷 請求信號輸入,其中斷類型號為0FH,其對應(yīng)的中斷服務(wù)程序入口地址存放在內(nèi)存(中斷向量表) 0FH 4、0FH 4+3四個存儲單

5、元中,因 此,程序應(yīng)首先將系統(tǒng)設(shè)置的IRQ7對應(yīng)的中斷服務(wù)程序的入口地址保存起來,然后再將實驗臺上的外部可屏蔽硬件中斷對應(yīng)的服務(wù)程序 的入口地址寫入中斷向量表中的這四個單元中,在程序返回前恢復(fù)原 有內(nèi)容.下面分別給出以上有關(guān)操作的編程提示.1、原中斷向量的保存與新中斷向量的寫入IRQ叮$脈沖按鈕圖 4.2-1DATA SEGMENTKEEP_CS DW;存放原中斷服務(wù)程序所在代碼段的段地址KEEP_IPOLD IMRDWDB0;存放原中斷服務(wù)程序在代碼段的偏移地址0;存放中斷屏蔽寄存器IMR原來的內(nèi)容DATA ENDSCODE SEGMENT;保存原中斷服務(wù)程序的入口地址(由DOS系統(tǒng)功能調(diào)用

6、INT 21H功能號為35H實現(xiàn))MOV AH,35HMOV AL,0FHINT 21HMOV KEEP_CS, ESMOV KEEP_IP,BX;IRQ7的中斷類型號為OFH;返回值:(ES)=段地址 (BX)=偏移地址;保存段地址;保存偏移地址;將新的IRQ7的中斷服務(wù)程序入口地址送中斷向量表MOV AX,SEG PIRQ7 ;中斷服務(wù)程序入口地址送 DS: DXMOV DS,AXMOV DX,OFFSET PIRQ7MOVAL,0FHINT21H B BPIRQ7 PROC;中斷類型號OFH送AL;IRQ7對應(yīng)的新的中斷服務(wù)程序IRET圖4.2-2主程序流程圖圖4.2-3中斷服務(wù)程序流程

7、圖PIRQ7 ENDPCODE ENDS2、8259A 中斷屏蔽寄存器IMR 對應(yīng)位清零(允許該位中斷)INAL , 21H;讀 IMRMOVOLD_IMR , AL;保存 IMR 內(nèi)容ANDAL , 7FH;IRQ7 對應(yīng)的 bit7 清零,允許 IRQ7 的中斷OUT21H , AL;寫回到 IMR3、中斷服務(wù)程序結(jié)束前使用中斷結(jié)束命令MOVAL , 20HOUT20H , AL4、程序結(jié)束返回 DOS 前應(yīng)恢復(fù) 8259A 中斷屏蔽寄存器 IMR 的原有內(nèi)容,并恢復(fù)原 IRQ7 的中斷向量 注意:若實驗臺接口卡未使用出廠時的設(shè)置,即不是使用ISA總線中的IRQ7將實驗臺上的中斷請求信號IRQ送到主板的8259A,請根據(jù)具體設(shè)置在編寫程序時作適當(dāng)修改實驗內(nèi)容 1和 2的程

溫馨提示

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

最新文檔

評論

0/150

提交評論