文档详情

第7章 中断系统和中断控制器8259a.ppt

发布:2017-06-01约1.27万字共66页下载文档
文本预览下载声明
7.3.4 8259的工作方式 ——解决中断有效、中断屏蔽、中断排队、中断嵌套、中断结束等问题。 1. 中断请求触发方式 2.屏蔽中断方式 3.中断优先权设置方式 4.中断结束方式 5. 连接系统总线方式 7.3.5 8259的命令字和操作命令字 7.3.5.1. 初始化命令字 初始化命令字ICW最多有4个,ICW1和ICW2是必须送的,ICW3和ICW4由工作方式决定。 由于8259A只占用两个I/O端口地址,但要写入四个方式控制字和三个操作命令字。因此,要求写入次序固定,依次为ICW1、ICW2、ICW3(需要时)、ICW4。其中,ICW1写入偶地址,其余写入奇地址。 1) 8259A开始正常工作之前,必须用初始化命令字建立起8259A操作的初始状态。初始化编程是通过CPU对8259A送4个方式控制字ICW1、ICW2、ICW3、ICW4来实现。 2)在8259A工作期间可以写入操作命令字OCW (OCW1、OCW2、OCW3)将选定的操作传送给8259A,使之按新的要求工作,还可以读取8259A的信息,以便了解他的工作状态。 初始化命令字ICW的格式及功能如下 1、ICW1——中断请求方式的设置及8259A 级连方式选择 IC4 SNGL ADI LTIM 1 X X X D0 D1 D2 D3 D4 D5 D6 D7 LTIM——0:边沿触发; 1:电平触发 SNGL——0:级联使用 ;1:单片使用 IC4——0:不需要ICW4; 1:需要ICW4 ADI——8086/8088不用 D4=1——表示设置ICW1 X X X T3 T4 T5 T6 T7 D0 D1 D2 D3 D4 D5 D6 D7 2、ICW2 ——中断类型码的设置 中断类型码高5位 3、ICW3 ——中断级连方式的设置 IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 D0 D1 D2 D3 D4 D5 D6 D7 中断类型码低3位,自动填入IR0为000、IR1为001、……、IR7为111。 主片:D7~D0对应的IR7~ IR0输入端有从片信号引入时写1,否则写0; 从片:D7~D3不用,D2~D0作为请求线INT接入主片IRi引脚的编码。 4、ICW4 ——方式控制初始化命令字 μPM AEOI M/S BUF SFNM 0 0 0 D0 D1 D2 D3 D4 D5 D6 D7 0:8080/85系统 1:8086/88系统 0:非自动EOI 1:自动EOI 0:非特殊全嵌套 1:特殊全嵌套 10:缓冲从片 11:缓冲主片 中断结束方式 设8259的端口地址为20H,21H,分析下列初始化结果。 MOV AL, 13H OUT 20H,AL MOV AL,08H OUT 21H,AL MOV AL,0DH OUT 21H,AL 命令字:边沿触发,单片使用,需要ICW4 ICW1送偶地址 中断类型码08H 中断类型码送奇地址 方式控制命令字000 01101B:普通全嵌套方式,缓冲方式,非自动中断结束 8259初始化举例: 2. 操作命令字 OCW1设置各中断源普通屏蔽;OCW2设置优先权循环、EOI命令,OCW3设置特殊屏蔽、查询方式、读IRR和ISR寄存器。 初始化命令字设置完后,8259A处于设定的状态随时准备接受中断请求信号,按要求对中断进行管理,并自动进入操作命令状态。 OCW1~OCW3,可在系统运行时随时修改。由写入不同端口和标志位方式区分。其中,OCW1写入奇地址,其余写入偶地址。 1、OCW1——中断屏蔽命令字。D7~D0分别控制对应的IRQ7~IRQ0上的中断请求被屏蔽还是开放。“1”是屏蔽,“0”是开放。 M0 M1 M2 M3 M4 M5 M6 M7 D0 D1 D2 D3 D4 D5 D6 D7 2、OCW2是用来设置中断优先级循环方式和发送EOI命令。通过偶地址写OCW2且命令字的D4D3位都是“0”,标志着是对OCW2设置。 L0 L1 L2 0 0 EOI SL R D0 D1 D2 D3 D4 D5 D6 D7 1)L2~L0(D2~D0):当SL=1时有效,两个用途: A:当OCW2设置为特殊EOI结束命令时,由L2~L0三位指出要将ISR寄存器中的哪一位清除; B:当OCW2设置为特
显示全部
相似文档