第7章中断系统-2.ppt_第1页
第7章中断系统-2.ppt_第2页
第7章中断系统-2.ppt_第3页
第7章中断系统-2.ppt_第4页
第7章中断系统-2.ppt_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第7章 中断系统,7.1 中断技术概述 7.2 8086/8088的中断系统 7.3 可编程中断控制器Intel 8259A Intel 8259A结构与功能 8259A与计算机的连接 8259A的编程,7.3 可编程中断控制器Intel 8259A,7.3.1 Intel 8259A结构与功能 8259A 是与8086系列CPU兼容的可编程中断控制器。 主要功能: 可直接管理8个中断源。 通过级联,最多可管理64个中断源。 每一级中断都可以屏蔽和允许。 中断响应时提供中断类型码。 中断申请可以有电平触发,也可有边沿触发。 有多种工作方式。,8259A内部结构,内部结构说明,8259A有8个外

2、部请求输入端IR0IR7,由中断请求寄存器IRR保存申请状态,Di=1,IRi脚有中断请求;否则无。 中断服务寄存器ISR保存CPU正在服务着的中断请求, Di=1,IRi中断正在服务中;否则无。 中断屏蔽寄存器IMR对中断申请进行控制,Di=1,IRi中断被禁止;Di=0,该中断允许。 中断优先级判别器PR决定中断申请的优先级; 控制逻辑中包含两个寄存器组 初始化命令寄存器组:ICW1ICW4 操作命令寄存器组: OCW1OCW3 级联逻辑控制8259A的主从工作方式。,8259A引脚图,引脚功能说明: D7D0 双向,三态数据线,可直接与系统总线相连。 IR7IR0 8个外部中断请求输入引

3、脚,可为高电平有效或上升沿有效。 RD 读信号,输入,低电平有效,若有效则把8259A内部寄存器数据读入到CPU。 WR 写信号,输入,低电平有效,若有效则把数据写入到8259A的内部寄存器。,引脚功能说明,CS 片选信号,低电平有效,选中本片。 A0 用于选择8259A内部不同寄存器。 INT 中断申请线,输出,高电平有效, 8259A的中断申请输出引脚(可连接8086的INTR)。 INTA 输入,低电平有效,有效时8259A输出中断类型码。 CAS2CAS0 级联信号线,当8259A为主片时为输出引脚,从片时为输入引脚。收到第一个INTA时,主片通过这三根线通知有中断申请的从片在第二个I

4、NTA时送出中断类型码。 SP/EN 在非缓冲工作方式时,输入,决定8259A为主片(SP=1)还是从片(SP=0);在缓冲工作方式时,输出(EN),由它打开总线缓冲器。,7.3.2 8259A与计算机的连接,8259A单片工作方式的接口电路,接口电路说明,8259A 的数据线与控制线对应连接到系统总线; 由74LS30(8输入与非门)和74LS138(38译码器)对地址线进行译码决定端口地址,地址为020H03FH; 8086使用低8位数据线与8259A传递信息。8086的A1接到8259的A0线上; CAS2 CAS1 CAS0未接,SP/EN接正电源; 地址范围:,两片8259A级联工作

5、管理15级中断,两片级联接口电路说明,从片8259A的中断申请端INT接主片的IR2 主片的SP/EN接+5V,从片的SP/EN接地,主从片的CAS2、CAS1、CAS0对应连接。 主片的端口地址INTA1CS为020H03FH, 从片的端口地址INTA2CS为0A00BFH.,7.3.3 8259A的编程,初始化命令字ICW (Initial Command Word) ICW1:启动初始化 ICW2:中断向量类型码 ICW3:级联编号 ICW4:特殊工作方式 操作命令字OCW(Operation Command Word) OCW1:屏蔽字 OCW2:优先级和中断结束 OCW3:特殊工作方

6、式 初始化命令字一般在初始化8259A时才写入,而且写入有严格的顺序,先写ICW1,最后写ICW4。 操作命令字可在任何时候写入8259A ,且无顺序。,初始化命令字ICW1,A0=0,D4=1 表示对ICW1编程。 D2(ADI)、D5D7(A5A7)8086系统不用,此处设为0。 D0(IC4) D0=1,需要ICW4;D0=0,不需要ICW4 D1(SNGL) D1=1,为单片8259工作方式; D1=0,为级联工作方式,此时要用ICW3指明级联端。,A0=0表示该命令字需写入偶地址端口; A0=1表示该命令字需写入奇地址端口。以下类同。,初始化命令字ICW1,D3(LTIM) D3=1

7、 中断请求是电平触发方式; D3=0 上升沿触发方式。,初始化命令字ICW2,A0=1,跟在ICW1后表示对ICW2编程。 T7T3:8086系统中为中断类型码的高5位,低3位根据具体的申请端IR0-IR7自动填充。 例:若ICW2 = 00001000B ,则8259A的IR3引脚上的中断请求的中断类型码为 00001011 ,即0BH,初始化命令字ICW3,A0=1,且ICW1的D1=0(SNGL),跟在ICW2之后表示对ICW3编程。 主片 Si=1表示该中断申请来自从片。 从片 ID2ID0对应从片的标识位。 ID2ID0用以指明该从片接到主片的哪一个IRi引脚上,ID2ID0的取值0

8、00111与从片连接到主片的输入端IR0IR7相对应。 响应中断时第一个INTA,主片从CAS2CAS0送出识别号,若从片的CAS2CAS0与识别号相同,在第二个INTA送出中断类型码。,初始化命令字ICW4,A0=1,且ICW1的D0=1,跟在其他初始化字后表示对ICW4编程。 D0(pm) D0=1为16位处理器体系;D0=0 为80/85处理器体系。 D1(AEOI) D1=1自动结束中断方式,在第二个INTA清ISR中的对应位。 D1=0 非自动结束中断方式,中断结束时发EOI命令清ISR中的对应位。,初始化命令字ICW4,D2(M/S) 在缓冲方式下(BUF=1),选择主片和从片,M

9、/S=1为主片, M/S=0为从片。 在非缓冲方式下,由SP/EN引脚设定主片和从片。 D3(BUF) D3=1为缓冲工作方式, SP/EN为缓冲选通信号。单片系统SP/EN引脚接高电平; D3=0为非缓冲工作方式。 D4(SFNM) D4=1 为特殊全嵌套方式,此时允许同级中断再次进入,一般用于多片级联方式; D4=0 为普通全嵌套方式,禁止同级中断再次进入。,全嵌套方式,普通全嵌套方式又称固定优先权方式,是8259A常用的工作方式,各中断源的优先级是固定的,IR0的优先级最高,IR7的最低,从IR0IR7依次递降。 主程序必须执行开中断指令STI,使IF=1,才有可能响应中断。 每进入一个

10、中断服务程序,要在其中开中断,才能进行中断嵌套。 中断服务程序结束时,需发出EOI中断结束命令,使ISR中的对应位清0,才能返回断点并响应再次到来的中断。 特殊全嵌套方式一般用在8259A级联系统中的主片。 在特殊全嵌套方式下,8259A允许响应同级的中断请求,实现特殊的中断嵌套控制。 在8259A的级联系统中,将主片设为特殊全嵌套方式,从片设为一般全嵌套方式。即在主片上允许同级中断嵌套,才会反映出从片上的中断优先级控制。,操作命令字OCW1,A0=1 表示设置OCW1 Mi=1,屏蔽IRi输入中断请求; Mi=0,中断源IRi允许中断。 例:屏蔽键盘中断,设8259A奇地址端口为21H IN

11、 AL, 21H;从8259A奇地址端口读入OCW1 OR AL, 02H;M1=1,屏蔽IR1中断 OUT 21H, AL;将OCW1写入奇地址端口,操作命令字OCW2,A0=0,且D4D3 = 00,表示对OCW2编程 R 优先权循环状态 R=1优先权自动循环;R=0优先权固定。 SL 设定标志。SL=1由L2、L1、L0指明中断号或最低优先权 EOI 中断结束命令标志,非自动结束方式时清ISn 例:设8259A偶地址端口为20H,则一般EOI指令为: MOV AL, 20H ;EOI=1 OUT 20H, AL ;OCW2写入偶地址端口,R、SL、EOI三位组合控制命令,优先级自动循环,

12、优先级队列变化,一个设备受到中断服务以后,优先级自动降为最低 初始最高优先级IR0 优先级特殊循环方式 初始优先级由编程决定,操作命令字OCW3,A0=0,且D4D3 = 01,表示对OCW3编程 ESMM SMM 1 1 设置特殊屏蔽,无优先级,未屏蔽中断申请 均可进入 1 0 取消特殊屏蔽 P=1 ,设置8259A为查询工作方式,此时8259A不发INT信号,CPU通过查询指令决定服务程序。 查询得到格式如下表所示:,操作命令字OCW3,I=1 表示有中断请求 W2 W1 W0为当前最高优先级的中断请求的中断号 P=0,由RR和RIS设置下一个读取的寄存器 RR RIS 1 0 在下一个A

13、0 = 0端口读IRR 1 1 在下一个A0 = 0端口读ISR 若下一个A0 = 1,则读取IMR寄存器,8259A读操作举例,例:读取ISR到AL中 mov al, 0BH out 20H, al in al, 20H ;读取IRR到AL中 mov al, 0AH out 20H, al in al, 20H,;读取IMR到AL中 mov al, 0AH out 20H, al IN al, 21H,8259A的读/写操作小结,注 :IRR、ISR或中断级别的选择,取决于在读操作前所写入的OCW3内容。 注:由片上的顺序逻辑队列,使这些命令字按适当的顺序写入。,7.3.4 8259A初始化

14、编程举例,8259A初始化编程顺序:,对初始化流程几点说明:,设置初始化命令字时,ICW1必须写入偶地址端口,ICW2ICW4必须写入奇地址端口。 ICW1ICW4的设置次序是固定的,不可颠倒。 对每一片8259A,ICW1和ICW2都是必须设置的,但ICW3和ICW4并非每片8259A都要设置。只有在级联方式下,需要设置ICW3;只有在80868088系统或需要设置特殊全嵌套方式、缓冲模式、中断自动结束方式情况下,才需要设置ICW4。而是否需要设置ICW3、ICW4,在ICW1中已经预先指明。 在级联情况下,不管是主片还是从片,都需要设置ICW3,但是,主片和从片的ICW3是不相同的。,例1

15、:IBM PC/XT机单片8259A初始化,要求: 端口地址为20H和21H 接收8个中断请求信号为边沿触发 选择全嵌套方式,IR0为最高优先级,IR7为最低优先级 设定IR0中断类型码为08H,ROM-BIOS对8259A的初始化程序段: INTA0_0EQU 20H INTA0_1 EQU 21H MOV AL, 13H OUT INTA0_0, AL ;ICW1 MOV AL, 08H OUT INTA0_1, AL ;ICW2 MOV AL, 09H OUT INTA0_1, AL ;ICW4,例2:在AT/286以上机器上,使用两片8259A级联组成15个中断申请输入端。,要求: 端

16、口地址主片为20H和21H,从片为A0H和A1H。 接收上升沿触发中断请求信号。 选择全嵌套方式,优先级排列次序为0级最高,依次为1级,815级,然后是37级。 采用非缓冲方式,主片SP/EN接+5V,从片SP/EN接地 设定主片中断类型码为08H0FH,从片为70H77H 一般中断结束方式。,接口电路,初始化命令字:,IC4,SNGL,0,LTIM,1,0,0,ICW1,11H,0,X,X,X,T3,T4,T7,T6,T5,ICW2,08H,主,从 70H,S6,S5,S3,S2,S1,S0,主,ICW3,04H,0,0,0,0,0,从,0,1,0,02H,AEOI,M/S,BUF,0,0,0,SFNM,u,pm,ICW4,主 11H,从 01H,初始化程序段 INTA00 EQU 20H INTA01 EQU 21H INTB00 EQU 0A0H INTB01 EQU 0A1H MOV AL, 11H OUT INTA00, AL ;主片ICW1 JMP SHORT $+2 ;I/O口要求延时 MOV AL, 08H OUT INTA01, AL ;ICW2 JMP SHORT $+2 MOV AL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论