收藏 分销(赏)

实验六 中断系统实验.doc

上传人:xrp****65 文档编号:8972470 上传时间:2025-03-09 格式:DOC 页数:7 大小:122KB
下载 相关 举报
实验六 中断系统实验.doc_第1页
第1页 / 共7页
实验六 中断系统实验.doc_第2页
第2页 / 共7页
点击查看更多>>
资源描述
实验六 中断系统实验 ----8259A中断控制 一、实验目的 1.掌握中断控制器8259A与微机接口的原理和方法。 2.掌握中断控制器8259A的应用编程。 3.认识掌握DVCC_ZHC3实验装置中与实验有关硬件内容和使用方法。 4.认识掌握DVCC_ZHC3实验装置配套的软件系统使用方法。 5.进一步巩固8086/8088的指令。 6.进一步掌握程序中各种错误的检查排除方法。 二、预备知识 1、 8259A的内部结构 8259A是专为控制优先级中断而设计的芯片。它将中断源按优先级排队、辨认中断源、提供中断向量的电路集成于一体,只要用软件对它进行编程,就可以管理8 级中断。 如图5-13所示,它由中断请求寄存器(IRR)、优先级分析器、 中断服务寄存器(ISR)、中断屏蔽寄存器(IMR)、数据总线缓冲器、读写控制电路和级联缓冲器、比较器组成。 数据 总线 缓冲器 读写 电路 级联缓冲器 / 比较器 控 制 逻 辑 服 务 寄 存 器 I SR 优 先 级 分 析 器 中断请求寄存器 I RR 中断屏蔽寄存器IMR -INTA INT -CS D0~D7 -RD -WR A0 CAS0 CAS1 CAS2 SP/-EN IR0 内部总线 IR1 IR2 IR3 IR4 IR5 IR6 IR7 图5-13   中断请求寄存器:寄存所有要求服务的请求IR0~IR7。   中断服务寄存器:寄存正在被服务的中断请求。   中断屏蔽寄存器:存放被屏蔽的中断请求,该寄存器的每一位表示一个中断号, 该位为1,屏蔽该号中断,否则开放该号中断。  数据总线缓冲器:是双向三态的,用以连接系统总线和8259A内部总线, 通过它可以由CPU对8259A写入状态字和控制字。 读写控制电路:用来接受I/O命令,对初始化命令和操作命令字寄存器进行写入,以确定8259A的工作方式和控制方式。 级联缓冲器/比较器:用于多片8259A的连接,能构成多达64级的矢量中断系统。 2、 8259A编程及初始化 (1) 写初始化命令字 * 写初始化命令字ICW1(A0=0),以确定中断请求信号类型,清除中断屏蔽寄存器,中断优先级排队和确定系统用单片还是多片。 A7 A6 A5 1 7 6 5 4 3 2 1 0 0=不需写ICW4;1=需要写ICW4 0=多片8259级连;1=只一片8259 0=中断向量地址间距8;1=地址间距4(8088模式下为0) 0=上升沿触发;1=高电平触发 为1,ICW1标志位 中断向量A7,A6,A5位(8088模式下为000) * 写初始化命令字ICW2,以定义中断向量的高五位类型码。 A15/T7 A14/T6 A13/T5 A12/T4 A11/T3 A10 A9 A8 7 6 5 4 3 2 1 0 A15-A8: 8080/8085方式下的中断向量高8位,8088方式下A8-A0不用,设为000 T7-T3: 8086/8088方式下的中断向量 * 写初始化命令字ICW3,以定义主片8259A中断请求线上IR0~IR7有无级联的8259A从片。 IR7 ··· IR0 主片 7 6 5 4 3 2 1 0 第i位=0,表明IRi引脚上无从片 第i位=1,表明IRi引脚上有从片 从片 …… 7 6 5 4 3 2 1 0 000:从片连在主片的IR0上 001:从片连在主片的IR1上 111:从片连在主片的IR7上 * 写初始化命令ICW4,用来定义8259A工作时用8085模式,还是8088模式,以及中 7 6 5 4 3 2 1 0 1=工作于8086/8088方式 0=工作于8080/8085方式 0=中断服务寄存器不自动复位,用EOI 命令复位 1=中断服务寄存器自动复位 0=从片 1=主片 0=8259与数据总线无缓冲器连接 1=8259与数据总线有缓冲器连接 0=单片8259,一般嵌套方式 1=多片8259,特殊嵌套方式 断服务寄存器复位方式等。 (2) 写控制命令字 * 写操作命令字0CW1,用来设置或清除对中断源的屏蔽。 IR7 … IR0 7 6 5 4 3 2 1 0 第i位=0,对应的中断请求IRi开放 第i位=1,对应的中断请求IRi屏蔽 注: OCW1如不写,则在初始化命令写入后,OCW1为全开放状态。 * 操作命令字OCW2,设置优先级是否进行循环、循环方式及中断结束方式。 R SL EOI 0 0 L2 L1 L0 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优先权最低。 * 操作命令字OCW3,设置查询方式、特殊屏蔽方式以及读取8259中断寄存器的当前状态。 7 6 5 4 3 2 1 0 00,01=无用 10=下一个RD读中断请求寄存器IRR 11=下一个RD读中断服务寄存器ISR 1=查询命令;0=不是查询命令 00,01=无用 10=特殊屏蔽方式清除 11=特殊屏蔽方式设置 0 0 1 (3) 8259A查询字 通过OCW3命令字的设置,可使CPU处于查询方式,随时查询8259A有否中断请求, 有则转入相应的中断服务程序。 I W2 W1 W0 … 7 6 5 4 3 2 1 0 1=有中断发生 000=IR0有中断请求 0=无中断发生 001=IR1有中断请求 111=IR7有中断请求 三、实验内容 本系统中已设计有一片8259A中断控制芯片,工作于主片方式,8个中断请求输入端IR0~IR7对应的中断型号为8~F,其和中断矢量表关系如下表5-3所示。 表5-3 8259中断源 中断类型号 中断矢量表地址 IR0 8 20H~23H IR1 9 24H~27H IR2 A 28H~2BH IR3 B 2CH~2FH IR4 C 30H~33H IR5 D 34H~37H IR6 E 38H~3BH IR7 F 3CH~3FH 根据实验原理图5-14,8259A和8088系统总线直接相连,8259A 上连有一系统地址线A0,故8259A 有2 个端口地址, 本系统中为20H、21H。 20H 用来写ICW1, 21H 用来写ICW2、ICW3、ICW4,初始化命令字写好后, 再写操作命令字。OCW2、OCW3 用口地址20H,OCW1用口地址21H。 8259A初始化为: a) 设置ICW1边沿触发,单片8259,使用ICW4; b) 设置通过8259A的IRQ3向8088送出的中断类型号是十进制的11,即要求ICW2为08H,再加上8259A的IRQ3的类型为3,所以正好是11。因此IRQ3的中断入口的地址在中断矢量表中2CH~2FH的4个字节。 c) 完全嵌套,非缓冲方式,不自动复位,用EOI方式复位 ,8088工作方式 d) 开放三号中断 图5-14中,使用了3号中断源,IR3插孔和SP插孔相连,中断方式为边沿触发方式,每按一次AN按钮产生一次中断信号,向8259A发出中断请求信号。 CPU响应中断后,在中断服务中, 对中断次数进行计数并显示,(通过8255A送到发光二极管进行显示。 ) 图5-14 四、实验线路连接 8259A的IRQ3插孔和脉冲发生器单元SP插孔相连(图中IR3=IRQ3)。SP插孔初始电平置为低电平。 五、实验软件框图 累计显示进入中断的次数 发中断结束命令并返回 开始 调用显示“8259——1”子程序 填8259中断向量表 8259初始化(8255初始化) 开中断 等待中断 关中断 累计显示中断次数 判中断次数满5次否? 调用显示“8259good” 结束 次数加1 中断返回 N Y 中断服务程序: 主程序: 六、实验步骤 1、 按图5-14连好实验线路 2、 打开实验装置电源开关,查看数码管是否显示“DVCC-86” 3、 运行DV88程序 4、 编写编译完成上述要求的程序: 5、 装入实验装置中,运行检查结果正确与否(按AN按键,每按一次产生一次中断,在LED发光二极管上显示中断次数)。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服