目录

一、实验目的和要求

二、实验原理与背景

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

类似文章