目錄
一、實驗目的和要求
二、實驗原理與背景
2-1、微處理器的中斷類型
2-2、8259A內部結構
2-3、8259A讀寫控制邏輯
2-4、PC上可屏蔽中斷
三、實驗具體的內容
四、實驗的代碼說明
五、實驗結果的分析
附錄材料
一、 實驗目的和要求
學會8259芯片和微機接口原理和方法。
掌握8259中斷芯片的基本工作原理、工作方式和編程原理。
二、 實驗原理與背景
2-1、微處理器的中斷類型
圖2.1 微處理器中斷結構圖
2-2、8259A內部結構
圖2.2 8259A內部結構圖
2-3、8259A讀寫控制邏輯
圖2.3 8259A讀寫控制邏輯
2-4、PC上可屏蔽中斷
PC機用戶可使用的硬件中斷只有可屏蔽中斷,由8259中斷控制器管理。中斷控制器用於接收外部的中斷請求信號,經過優先級判別等處理后向CPU發出可屏蔽中斷請求。IBMPC、PC/XT機內有一片8259中斷控制器對外可以提供8個中斷源:
- 中斷源 中斷類型號 中斷功能
- IRQ0 08H 時鍾
- IRQ1 09H 鍵盤
- IRQ2 0AH 保留
- IRQ3 OBH 串行口2
- IRQ4 0CH 串行口1
- IRQ5 0DH 硬盤
- IRQ6 0EH 軟盤
- IRQ7 0FH 並行打印機
8個中斷源的中斷請求信號線IRQ0~IRQ7在主機的62線ISA總線插座中可以引出,系統已設定中斷請求信號為“邊沿觸發”,普通結束方式。對於PC/AT及286以上微機內又擴展了一片8259中斷控制,IRQ2用於兩片8259之間級聯,對外可以提供16個中斷源:
- 中斷源 中斷類型號 中斷功能
- IRQ8 070H 實時時鍾
- IRQ9 071H 用戶中斷
- IRQ10 072H 保留
- IRQ11 O73H 保留
- IRQ12 074H 保留
- IRQ13 075H 協處理器
- IRQ14 076H 硬盤
- IRQ15 077H 保留
TPC-USB實驗板上,將中斷源固定接到3號中斷IRQ3上,即進行中斷實驗時,所用中斷類型號為0BH。
三、實驗具體的內容
直接用手動產生單脈沖作為中斷請求信號。要求每按一次開關產生一次中斷,在屏幕上顯示一次“TPCA Interrupt!”,中斷10次后程序退出。步驟如下:
① 連接實驗電路如圖3.1所示。
圖3.1 TPC-USB平台中斷實驗連線圖
② 根據流程圖1.2,編程並運行,觀察實驗結果。
圖3.2 TPC-USB平台中斷實驗流程圖
四、實驗的代碼說明
1 data segment 2 mess db 'tpca interrupt!',0dh,0ah,'$' 3 data ends 4 code segment 5 assume cs:code,ds,data 6 start: 7 8 mov ax, cs 9 mov ds, ax 10 mov dx,offset int3 ;中斷子程序入口偏移量 11 mov ax,250bh ;設置中斷的中斷矢量 12 int 21h 13 14 cli ;CPU清中斷標志 15 in al,21h ;設置中斷屏蔽OCW1 16 and al,0f7h ;開放IRQ3中斷 17 out 21h,al 18 mov cx,10 ;循環10次的循環計數器 19 sti ;CPU開中斷 20 ll: ;循環等待 21 jmp ll 22 ;------------------------------------------------- 23 int3: ;中斷子程序 24 mov ax,data ;09中斷顯示字符 25 mov ds,ax 26 mov dx,offset mess 27 mov ah,09 28 int 21h 29 30 mov al,20h ;發出EOI結束中斷 31 out 20h,al 32 33 loop next ;循環(CX為循環計數器) 34 35 in al,21h ;循環結束后關閉IRQ3中斷 36 or al,08h 37 out 21h,al 38 39 sti ;開中斷 40 mov ah,4ch ;結束程序 41 int 21h 42 43 next: 44 iret 45 code ends 46 end start
五、實驗結果的分析
直接用手動產生單脈沖作為中斷請求信號。要求每按一次開關產生一次中斷,在屏幕上顯示一次“TPCA Interrupt!”,中斷10次后程序退出。
圖5.1 實驗DOS窗口截圖
附錄材料
本文鏈接: http://www.cnblogs.com/zjutlitao/p/4172171.html
更多精彩:http://www.cnblogs.com/zjutlitao/p/4125085.html
文檔下載:http://pan.baidu.com/s/1i3469X7