资源预览内容
第1页 / 共63页
第2页 / 共63页
第3页 / 共63页
第4页 / 共63页
第5页 / 共63页
第6页 / 共63页
第7页 / 共63页
第8页 / 共63页
第9页 / 共63页
第10页 / 共63页
亲,该文档总共63页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
8259A的功能,1. 向CPU的引脚INTR发中断申请信号 当有多个外设同时发出中断请求时,能按照一定的优先级顺序,向CPU发出中断申请,使CPU能优先响应优先级最高的外部设备的中断申请。 2. 送中断类型号 在CPU中断响应周期,针对不同外设的中断请求, 向CPU传送不同的中断类型号,使CPU执行相应的中断子程。,中断申请管理接口的主要功能:,在IBM PC机由8259A可编程中断控制器(PIC)来完成。,8259A的功能,8259A可编程中断控制器可用于管理Intel 8080/8085、8086/8088、80286/80386的可屏蔽中断 8259A的基本功能 一片8259A可以管理8级中断,可扩展至64级 每一级中断都可单独被屏蔽或允许 在中断响应周期,可提供相应的中断向量号 8259A设计有多种工作方式,可通过编程选择,8259A的内部结构,8259A的内部结构 1.中断请求寄存器IRR 保存从IR0IR7来的中断请求信号,某位=1表示对应的IRi有中断请求 2.中断服务寄存器ISR 保存所有正在服务的中断源,某位=1表示对应的IRi中断正在被服务 3.中断屏蔽寄存器IMR 存放中断屏蔽字,某位=1表示对应的IRi输入被屏蔽 4.中断优先权判别电路 确定是否向CPU发出中断请求,中断响应时确定ISR的哪位应置位及把相应中断的类型码放到数据总线上,8259A的内部结构 5. 读/写控制电路 用于控制对8259A的读、写操作。 6. 数据总线缓冲器 双向8位3态缓冲器,由它构成8259A与CPU之间的数据接口。 7. 级联缓冲/比较器 多片8259A可级联使用,最多可以组成64级中断优先级控制,此时一片8259A做主片,另外8片做从片,主从片的CAS0CAS2并接在一起,作为级联总线 8. 控制逻辑 向CPU发INT信号,接收CPU发来的INTA信号,控制8259A进入中断服务状态。,定时器,8259A的工作过程,返回,8259A的时序,8259A的工作方式,中断触发方式,优先级控制方式,两类优先级控制方式:固定优先级和循环优先级 固定优先级方式(普通全嵌套方式和特殊全嵌套方式) 所有中断请求IRi的中断优先级固定不变 优先级排列顺序可编程改变 加电后8259A的默认方式,默认优先级顺序从高到低为IR0IR7,IR7,IR6,IR5,IR4,IR3,IR2,IR1,IR0,7,6,5,4,3,2,1,0,3,2,1,0,7,6,5,4,最低级,最高级,最高级,最低级,优先级,IR7,IR6,IR5,IR4,IR3,IR2,IR1,IR0,默认优先级,优先级可编程改变,固定优先级下的中断嵌套 在中断处理过程中允许被更高优先级的事件所中断称为中断嵌套。8259A有两种中断嵌套方式: 普通全嵌套方式(默认方式) 一中断正被处理时,只有更高优先级的事件可以打断当前的中断处理过程而被服务。 特殊全嵌套方式 一中断正被处理时,允许同级或更高优先级的事件可以打断当前的中断处理过程而被服务。 注: 特殊全嵌套仅用于多个8259A级连时的8259A,而不能用于从属8259A或单8259A系统。,D.,主8259A,IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7,一般嵌套方式: 从片的INT被主片封锁,故更高级别的IR0-IR2中断也无法得到响应,特殊嵌套方式: 因主片不封锁从片的INT,故级别高的IR0-IR2中断可以得到响应。(但IR3-IR7仍被本从片封锁),C.,假定IR3发生中断,并获得服务,一般嵌套方式:IR4的中断被服务时,这些中断将被封锁。,B.,特殊嵌套方式:IR4的中断被服务时,只封锁IR5-IR7。,A.,INT,E.,从8259A,INT,IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7,一般全嵌套方式与特殊全嵌套方式的区别,去CPU,循环优先级方式(自动循环方式和特殊循环方式) 中断源轮流处于最高优先级,即自动中断优先级循环 某中断请求IRi被处理后,其优先级别自动降为最低,原来比它低一级的中断上升为最高级 初始优先级顺序可用编程改变(特殊循环方式),IR7,IR6,IR5,IR4,IR3,IR2,IR1,IR0,7,6,5,4,3,2,1,0,2,1,0,7,6,5,4,3,最低级,最高级,最高级,最低级,ISR内容,IR7,IR6,IR5,IR4,IR3,IR2,IR1,IR0,IR4的服务结束以前,0,1,0,1,0,0,0,0,0,1,0,0,0,0,0,0,IR4的服务结束以后,ISRi,结束中断处理方式,当某一IRi中断被服务时,ISR中的相应位ISRi=1。当服务结束后,则必须清零该ISRi位。使ISRi=0是通过向8259A发出中断结束命令(EOI命令)实现的。 三种EOI命令 自动EOI(AEOI)(自动EOI方式) 非指定EOI(NSEOI)(普通EOI方式) 指定EOI(SEOI)(特殊EOI方式),AEOI:在第2个INTA#结束时,由8259A使ISRi自动复位; 因不保留当前正在服务的中断的状态,故AEOI不能用于中断嵌套方式 NSEOI:由CPU发出正常EOI命令,该EOI命令使ISRi=1的位中优先级最高的那一位复位。 用于普通全嵌套方式 SEOI:由CPU发出一条SEOI命令,该EOI命令中指出了所要复位的ISR的位号。 用于非全嵌套方式,中断服务程序,向从PIC发EOI命令,读从PIC的ISR,全0?,向主PIC发EOI命令,Y,IRET,恢复现场,N,特殊全嵌套方式下的EOI处理 只有当从PIC的中断全部处理完后,才能向主PIC发EOI命令,屏蔽中断源的方式,普通屏蔽方式: IMR屏蔽字决定了允许或禁止某位IRi所对应的中断:IMi=1 禁止, IMi=0 允许。 特殊屏蔽方式: 提供了允许较低优先级的中断能够得到响应的特殊手段。 原理:假定当前正在处理IR6,先进入特殊屏蔽方式,然后设置IM6=1。这时,除IR6外的所有中断请求均能得到响应。 特殊屏蔽方式中只能用SEOI命令结束中断。,特殊屏蔽例: ;IR4中断处理程序 CLI MOV AL,68H ;OCW3:0 1 1 0 1 0 0 0 OUT 0C0H,AL ;设置特殊屏蔽方式 IN AL,0C2H OR AL,10H ;屏蔽IR4 OUT 0C2H,AL STI ;IR7请求,响应,返回 CLI ;为设命令字 IN AL,0C2H ;读出屏蔽字 AND AL,0EFH ;清除IMR4 OUT 0C2H,AL MOV AL,48H ;OCW3:0 1 0 0 1 0 0 0 OUT 0C0H,AL ;取消特殊屏蔽 STI ;继续IR4中断服务 MOV AL,20H ;OCW2:0 0 1 0 0 0 0 0 (EOI) OUT 0C0,AL IRET,中断触发方式,边沿触发 IRi出现上升沿表示有中断请求 电平触发 IRi出现高电平表示有中断请求 在第1个INTA#结束前,IRi必须保持高电平,中断的级连,一个系统中,8259A可以级连,有一个主8259A,若干个(最多8个)从8259A 级连时,主8259A的三条级连线CAS0CAS2作为输出线,连至每个从8259A的CAS0CAS2 每个从8259A的中断请求信号INT,连至主8259A的一个中断请求输入端IR 主8259A的INT线连至CPU的中断请求输入端 SP*/EN*在非缓冲方式下,规定该8259A是主片(SP*1)还是从片(SP*0),CAS0 IR0 CAS1 IR1 CAS2 IR2 IR3 INTA IR4 IR5 INT IR6 IR7 SP/EN,CAS0 INTA CAS1 CAS2 INT IR0 IR1 SP/EN IR7,CAS0 IR0 CAS1 IR1 CAS2 IR2 IR3 INTA IR4 IR5 INT IR6 IR7 SP/EN,INTA,INTR,+5V,8259级连工作示意图,返回,CPU,8259A,8259A,8259A,8259级联工作示意图,返回,8259A的编程,8259A的控制命令分为 初始化命令字ICW ICW1ICW4 向8259A写入ICW的过程称为初始化编程 操作命令字OCW OCW1OCW3 向8259A写入OCW的过程称为操作方式编程,8259A的编程,8259A内部寄存器的寻址方法,需要CS#、A0、RD#、WR#和D4、D3的配合 内部寄存器的访问方法如下表:,8259A的初始化顺序,8259的初始化流程如图 注意次序不可颠倒,写ICW1,写ICW2,级连?,写ICW3,需ICW4?,写ICW4,N,N,Y,Y,8259A的控制命令字,初始化8259A必须从ICW1开始 写ICW1意味着重新初始化8259A 写入ICW1后,8259A的状态如下: 清除ISR和IMR(全0); 将中断优先级设成初始状态:IR0最高,IR7最低; 设定为一般屏蔽方式; 采用非自动中断结束方式; 状态读出逻辑预置为读IRR。 准备顺序接收其他ICW,ICW1初始化字,表示可以任意 为1为0都可以(建议为0),1只能为1,作为标志,中断触发方式: LTIM1,电平触发方式 LTIM0,边沿触发方式,规定单片或级连方式: SNGL1,单片方式 SNGL0,级连方式,是否写入ICW4 IC41,要写入ICW4 IC40,不写入ICW4,即ICW4规定的位全为0,A0 = 0,ICW2中断向量码,A0 = 1,设置中断向量号 T7T3为中断向量号的高5位 低3位由8259A自动确定: IR0为000、IR1为001、IR7为111,ICW3级连控制字,级连命令字 主片8259A:Si1对应IRi接有从片;否则IRi没有连接从片 从片8259A:ID0ID2编码说明从片INT引脚接到主片哪个IR引脚,A0 = 1,ICW3级连控制字(续),ICW3必须与主从片的连接关系一致: 例如,主片的IR4与从片的INT线连接,则主片的ICW3=10H,从片的ICW3=04H。 中断响应时,主片通过级连线CAS2-CAS0送出被允许中断的从片标识码,各从片用自己的ICW3与CAS2-CAS0比较,二者一致的从片才可发送中断向量码。,ICW4中断结束方式字,嵌套方式: 特殊全嵌套方式(SFNM1) 普通全嵌套方式(SFNM0),数据线的缓冲方式: 缓冲方式(BUF1) 非缓冲方式(BUF0),主片/从片选择: 主片(M/S=1) 从片(M/S=0),中断结束方式: 自动中断结束(AEOI1) 非自动中断结束(AEOI0),微处理器类型: 16位80x86(PM1) 8位8080/8085(PM0),A0 = 1,例1、试按照如下要求对8259A设置初始化命令字:系统中仅用一片8259A,中断请求信号采用边沿触发方式;中断类型码为08H0FH;用全嵌套、缓冲、非自动结束中断方式。8259A的端口地址为20H和21H。 该片8259A的初始化设置的程序段如下: MOV AL, 13H ;ICW1=00010011 OUT 20H, AL MOV AL, 8 ;ICW2=00001000 OUT 21H, AL MOV AL, 0DH ;ICW4=00001101 OUT 21H, AL,例2、试对一
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号