K328(88)微机接口实验指导(6)

2019-06-30 10:55

微机接口实验指导书 启东计算机厂有限公司

实验六 使用8259A的单级中断控制实验

一、实验目的

1、掌握中断控制器8259A与微机接口的原理和方法。 2、掌握中断控制器8259A的应用编程。

二、预备知识

1、 8259A的内部结构

8259A是专为控制优先级中断而设计的芯片。它将中断源按优先级排队、辨认中断源、提供中断向量的电路集成于一体,只要用软件对它进行编程,就可以管理8 级中断。如图6-1所示,它由中断请求寄存器(IRR)、优先级分析器、 中断服务寄存器(ISR)、中断屏蔽存器(IMR)、数据总线缓冲器、读写控制电路和级联缓冲器、比较器组成。

图6-1

中断请求寄存器:寄存所有要求服务的请求IR0~IR7。 中断服务寄存器:寄存正在被服务的中断请求。

中断屏蔽寄存器:存放被屏蔽的中断请求,该寄存器的每一位表示一个中断号, 该位为1,屏蔽该号中断,否则开放该号中断。

数据总线缓冲器:是双向三态的,用以连接系统总线和8259A内部总线, 通过它可以由CPU对8259A写入状态字和控制字。

读写控制电路:用来接受I/O命令,对初始化命令和操作命令字寄存器进行写入,以确定8259A的工作方式和控制方式。

级联缓冲器/比较器:用于多片8259A的连接,能构成多达64级的矢量中断系统。 2、 8259A编程及初始化 (1) 写初始化命令字

1)写初始化命令字ICW1(A0=0),以确定中断请求信号类型,清除中断屏蔽寄存器,中断优先级排队和确定系统用单片还是多片。 中断优先级排队和确定系统用单片还是多片。 7 6 5 4 3 2 1 0 A7 A6 A5 1 0=不需写ICW4;1=需要写ICW4 0= -26- 多片 8259级连;1=只一片8259 0=中断向量地址间距8;1=地址间距4(8088模式下为0) 0=上升沿触发;1=高电平触发

微机接口实验指导书 启东计算机厂有限公司

2)写初始化命令字ICW2,以定义中断向量的高五位类型码。

7 6 5 4 3 2 1 0

A15/T7 A14/T6 A13/T5 A12/T4 A11/T3 A10 A9 A8 A15-A8:8088/8085方式下的中断向量高8位,8088方式下A8-A0不用,设为000

3)写初始化命令字ICW3,以定义主片8259A中断请求线上IR0~IR7有无级联的8259A

片。 7 6 5 4 3 2 1 0 主片

··· IR7 IR0

第i位=0,表明IRi引脚上无从片 第i位=1,表明IRi引脚上有从片

从片

7 6 5 4 3 2 1 0 000:从片连在主片的IR0上 001:从片连在主片的IR1上

111::从片连在主片的IR7上

4)写初始化命令ICW4,用来定义8259A工作时用8085模式,还是8088模式,以及中断服务寄存器复位方式等。

-27-

微机接口实验指导书 启东计算机厂有限公司

7 6 5 4 3 2 1 0 0=工作于8086/8088方式 1=工作于8080/8085方式 0=中断服务寄存器不自动复位,用EOI 命令复位 1=中断服务寄存器自动复位 0=从片 1=主片 0=8259与数据总线无缓冲器连接 1=8259与数据总线有缓冲器连接 0=单片8259,一般嵌套方式 1=多片8259,特殊嵌套方式 (2) 写控制命令字 1)写操作命令字0CW1,用来设置或清除对中断源的屏蔽。

7 6 5 4 3 2 1 0 ? IR0 IR7 第i位=0,对应的中断请求IRi开放 第i位=1,对应的中断请求IRi屏蔽

注: OCW1如不写,则在初始化命令写入后,OCW1为全开放状态。

2) 操作命令字OCW2,设置优先级是否进行循环、循环方式及中断结束方式。

-28-

微机接口实验指导书 启东计算机厂有限公司

7 6 5 4 3 2 1 0 识别码 000~111, 用户规定IR0-IR7的最低优先级编码 1=中断服务结束命令(EOI命令) 0=L2 L1 L0 编码无效 1=L2 L1 L0 编码有效 0=固定优先权 1=循环优先权 注: 8259A复位时自动设置IR0优先权最高,IR7优先权最低。

3) 操作命令字OCW3,设置查询方式、特殊屏蔽方式以及读取8259中断寄存器的当前状态。

00,01=无用 00,01=无用 10=下一个/RD读中断请求寄存器IRR 11=下一个/RD读中断服务寄存器ISR 1=查询命令;0=不是查询命 001 R SL EOI 0 0 L2 L1 L0

10=特殊屏蔽方式清除 10=特殊屏蔽方式清除 -29-

微机接口实验指导书 启东计算机厂有限公司

(3) 8259A查询字

通过OCW3命令字的设置,可使CPU处于查询方式,随时查询8259A有否中断请求, 有则转入相应的中断服务程序。

7 6 5 4 3 2 1 0 I W2 W1 W0 1=有中断发生 000=IR0有中断请求 0=无中断发生 001=IR1有中断请求 111=IR7有中断请求 三、实验内容

本系统中已设计有一片8259A中断控制芯片,工作于主片方式,8个中断请求输入端IR0~IR7对应的中断型号为8~F,其和中断矢量关于如下表6-1所示。

根据实验原理图6-1,8259A和8088系统总线直接相连,8259A 上连有一系统地址线A0,故8259A 有2 个端口地址, 本系统中为20H、21H。 20H 用来写ICW1, 21H 用来写ICW2、ICW3、ICW4,初始化命令字写好后, 再写操作命令字。OCW2、OCW3 用口地址20H,OCW1用口地址21H。图6-1中,使用了3号中断源,IRQ3插孔和SP插孔相连,中断方式为边沿触发方式,每按一次AN按钮产生一次中断信号,向8259A发出中断请求信号。如果中断源电平信号不符规定要求则自动转到7号中断,显示“Err”。CPU响应中断后,在中断服务中, 对中断次数进行计数并显示,计满5次结束,显示器显示“8259Good”。

表6-1 8259中断源 IR0 IR1 IR2 IR3 IR4 IR5 IR6 中断类型号 8 9 A B C D E 中断矢量表地址 20H~23H 24H~27H 28H~2BH 2CH~2FH 30H~33H 34H~37H 38H~3BH

-30-


K328(88)微机接口实验指导(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:江苏省张家港高级中学6学高二语文下学期期中试题-精

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: