实验三8259中断控制器实验
- 格式:doc
- 大小:1.26 MB
- 文档页数:8
图 1-8 操作命令字 2 寄存器 操作命令字 3 寄存器( OCW3 )说明如图 1-9 所示。
7 OCW3 0 ESMM SMM SMM 0 1 0 1 0 1 P RR RIS 0
ESMM 0 0 1 1
无影响 无影响 禁止特殊屏蔽模式 使能特殊屏蔽模式
P:设置该位使8259工作在中断查询方式 RR 0 0 1 1 RIS 0 1 0 1
INTR INTA
17 26
中断控制
IRQ7/INTR INTA
图 2-1
外部 8259 实验电路图
实验步骤: 1) 按 图 2-1 连 接 实 验 电 路 , 并 将 K0~K7 置 低 电 平 ( 向 上 拨 ) ,参考程序: 8259EX.ASM ; 实验连线 : 1.8259 中断控制单元的 /CS 连接系统端口地址单元 300CS 2.8259 中断控制单元的 INTA 、 INTR 分别连接系统中断控制单元的 INTA 、 IRQ7 3.8259 中断控制单元的 IRQ0~IRQ7 分别连接逻辑电平开关单元的 K0~K7 4. 逻辑电平开关单元的 K0~K7 全部置为低电平(向上拨) 如图所示
图 1-6 初始化命令字 4 寄存器 操作命令字 1 寄存器( OCW1 )说明如图 1-7 所示。
7 OCW1 M7 M6 M5 M4 M3 M2 M1 M0 0
M7~M0: 0=对应IR信号上的中断请求得到允许 1=对应IR信号上的中断请求被屏蔽 注意: 设置屏蔽位不影响各自中断挂起位。
图 1-7 操作命令字 1 寄存器 操作命令字 2 寄存器( OCW2 )说明如图 1-8 所示。
实验电路:
中断控制 单脉冲
IRQ7
IRQ7/INTR
SP正脉冲
图 1-11
内部 8259 实验电路图
实验步骤: 1) 按图 1-1 连接实验电路,参考程序: 8259IN.ASM ; ; 实验连线 : ; 单脉冲单元 SP 连接 CPU 内部主 8259 的 IRQ7
2) 编写实验程序,经编译、链接无语法错误后装载到实验系统; 编译结果图: 3) 全速运行程序,每按 动一次单脉冲按钮,产生一次外部中断, 显示一个 “ 7 ”字符; 实验结果图:
2) 编写实验程序,经编译、链接无语法错误后装载到实验系统; 编译结果图:
3) 全速运行程序,当 K0~K7 任意一位开关置高电平(向下拨)时,进入相应的 中断服务程序,显示 相应中断号 ;当多位开关置高电平( 向下拨)时,进 入优先级高的中断服务程序;当 K0~K7 均为低电平(向上拨)时,退出中 断服务程序,返回主程序; 实验结果图:
(只写) 寄存器 ICW3(主) (只写) 端口地址 0021H
是 IR1 的向量号,依此类推。 功能描述 初始化命令字 3: 用于识别从 8259 设备连接到主控制器的 IR 信号,内部的从 8259 连接到主 8259 的 IR2 信号上。 00A1H 0021H 00A1H 0021H 00A1H 0020H 00A0H 0020H 00A0H 0020H 00A0H 0020H 00A0H 0020H 0021H 00A0H 00A1H 初始化命令字 3: 表明内部从控制器级联到主片的 IR2 信号上。 初始化命令字 4: 选择特殊全嵌套或全嵌套模式,使能中断自动结束方式。
操作命令字 1: 中断屏蔽操作寄存器,可屏蔽相应的中断信号。
操作命令字 2: 改变中断优先级和发送中断结束命令。
操作命令字 3: 使能特殊屏蔽方式,设置中断查询方式,允许读出中断请求寄存器和当前中断 服务寄存器。 中断请求: 指出挂起的中断请求。
当前中断服务: 指出当前正在被服务的中断请求。
查询状态字: 表明连接到 8259 上的设备是否需要服务,如果有中断请求,该字表明当前优 先级最高的中断请求。
当8259工作在中断自动结束方式下时,这些情况 可以改变优先级结构。 在这些情况下优先级由L2:L0指定。
L2、L1、L0:在给出特殊的中断结束命令时,L2、L1、 L0指出了具体要清除当前中断服务寄存器的哪一位; 当给出特殊的优先级循环方式命令时,L2、L1、L0指 出了循环开始时哪个中断的优先级最低。
D0 D1 D2 D3 D4 D5 D6 D7
A0
IRQ0 IRQ1 IRQ2 IRQ3 IRQ4 IRQ5 IRQ6 IRQ7
18 19 20 21 22 23 24 25
K0 K1 K2 K3 K4 K5 K6 K7
逻 辑 电 平 开 关
27 IOW IOR
2 3 1
端口地址 300CS
WR RD CS
图 1-10 程序状态字寄存器 在对 8259 进行编程时,首先必须进行初始化。一般先使用 CLI 指令将所有 的可屏蔽中断禁止,然后写入初始化命令字。 8259 有一个状态机控制对寄存器 的访问,不正确的初始化顺序会造成异常初始化。在初始化主片 8259 时,写入 初始化命令字的顺序是: ICW1 、 ICW2 、 ICW3 、 ICW4 ,初始化从片 8259 的顺序与 初始化主片 8259 的顺序是相同的。 系统启动时,主片 8259 已被初始化,且 4 号中断源( IR4 )提供给与 PC 联 机 的 串 口通信使用,其它中断源被屏蔽。中断矢量地址与中断号之间的关系如 表 4-3-2 所列: 表 1-2 中断矢量地址
主片 8259A IRQ7(内核) IRQ6(内核) INT IR7 IR6 IR5..IR0 CAS[2..0] 备用 未引出 CAS[2..0] 从片 8259A INTR INTA INTA(内核)
班级
B1205
学号
B1205
姓名 2015.6.1
微机原理与接口技术 实验三 8259 中断控制器实验
图 1-4
7 ICW3 从片 0
主片初始化命令字 3 寄存器
0 0 0 0 0 0 1 0
图 1-5 从片初始化命令字 3 寄存器 初始化命令字 4 寄存器( ICW4 )说明见图 1-6 。
7 ICW4 0 0 0 SNFM 0 0 AEOI 1 0
SNFM: 0=选择全嵌套模式 1=选择特殊全嵌套模式,仅主 8259 能 够工作在特殊全嵌套模式 AEOI: 0=禁止中断自动结束 1=使能中断自动结束,仅主 8259 能够 工作在中断自动结束方式
无影响 无影响 读中断请求寄存器IRR 读当前中断服务寄存器ISR
图 1-9 操作命令字 3 寄存器 查询状态字( POLL )说明如图 1-10 所示。
7 POLL INT INT: L2 L1 L0 0
0=无请求 1=连接在8259上的设备请求服务
L2、L1、L0:当INT为1时,这些位指出了需要服 务的最高优先级的IR;当INT为0时这些位不确定。
ICW3(从) (只写) ICW4(主) ICW4(从) (只写) OCW1(主) OCW1(从) (读/写) OCW2(主) OCW2(从) (只写) OCW3(主) OCW3(从) (只写) IRR(主) IRR(从) (只读) ISR(主) ISR(从) (只读) POLL(主) POLL(从) (只读)
4) 实验完毕后,应使用暂停命令中止程序的运行。 实验总结: 本次实验的主要目的是让我们 掌握 8259 中断控制器的工作原理。 学习 8259 的应用编程方法。通过本次的实验,我基本上掌握了 8259 中断控制器的工作原 理以及 8259 的应用编程方法。不过在实验过程中也遇到过一些小问题,但是在 与同学的交流过后都一一解决了。
中断序号 功能调用 矢量地址 说明 0 08H 20H~23H 未引出 1 09H 24H~27H 未引出 2 0AH 28H~2BH 未引出 3 0BH 2CH~2FH 未引出 4 0CH 30H~33H 未引出 5 0DH 34H~37H 未引出 6 0EH 38H~3BH 可用 7 0FH 3CH~3FH 可用
图 1-3 初始化命令字 2 寄存器 初始化命令字 3 寄存器( ICW3 )说明,主片如图 1-4 所示,从片如图 1-5 所示。
7 ICW3 主片 S7 S6 S5 S4 S3 S2 S1 0 0
S7~S3: S2: S1:
0 表示无 8259 被连接到主片上 1 表示有 8259 被连接到主片上 0 表示内部从片没被使用 1 表示内部从片被级联到主片的 IR2 上 0 表示无 8259 通过 IR1 连接到主片上 1 表示有 8259 通过 IR1 连接到主片上
洛阳理工学院实验报告
计算机与信 院 (部) 息工程学院 课程名称 实验名称 实验目的: 一、掌握 8259 中断控制器的工作原理。 二、学习 8259 的应用编程方法。 实验设备: PC 计算机一台, Dais-386PRO+ / 386PRO / Dais-386S 实验系统一套。 实验内容及步骤: 一、内部 8259 中断控制器 在 Intel 386EX 芯片中集成有中断控制单元( ICU ) ,该单元包含有两个级 联 中 断 控制器,一个为主控制器,一个为从控制器。该中断控制单元就功能而 言与工业上标准的 8259A 是一致的,操作方法也相同。从片的 INT 连接到主片 的 IR2 信号上构成两片 8259 的级联。 在实验系统中,将主控制器的 IR6 、 IR7 以及从控制器的 IR1 开放出来供实 验使用,主片 8259 的 IR4 供系统串口使用。8259 的内部连接及外部管脚引出如 图 4-3-1 所示。
7 OCW2 R 0 0 0 0 1 1 1 1 * ** R SL 0 0 1 1 0 0 1 1 SL EOI 0 1 0 1 0 1 0 1 EOI 0 0 L2 L1 L0
0
命令 *取消优先级自动循环 一般的中断结束命令 无操作 **特殊的中断结束命令 *中断优先级自动循环 在一般中断结束方式中优先级循环 **优先级特殊循环方式 **在特殊中断结束方式中优先级循环