课件:微机原理与接口技术(1)

上传人:优*** 文档编号:85010483 上传时间:2019-03-06 格式:PPT 页数:67 大小:3.46MB
返回 下载 相关 举报
课件:微机原理与接口技术(1)_第1页
第1页 / 共67页
课件:微机原理与接口技术(1)_第2页
第2页 / 共67页
课件:微机原理与接口技术(1)_第3页
第3页 / 共67页
课件:微机原理与接口技术(1)_第4页
第4页 / 共67页
课件:微机原理与接口技术(1)_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《课件:微机原理与接口技术(1)》由会员分享,可在线阅读,更多相关《课件:微机原理与接口技术(1)(67页珍藏版)》请在金锄头文库上搜索。

1、2019年3月6日星期三,微型计算机原理与接口技术,第七章 微型计算机中断系统,朱亚萍 杭州电子科技大学自动化学院,14:12,2,7-4 可编程中断控制器 8259A,一、功能和引脚,具有8级优先级控制,通过级联可以扩展到64级优先级控制。 每一级中断可由程序单独屏蔽或允许。 可提供中断类型号传送给CPU。 可以通过编程选择多种不同工作方式。,1.主要功能,14:12,3,2. 引脚,D7D0:双向数据线,三态,它直接或通过总线驱动器与系统的 数据总线相连。 IR7IR0:外设的中断请求信号输入端,输入,中断请求信号可以是电平触发或边沿触发。中断级联时,连接8259A从片INT端。,14:1

2、2:23,4,RD:读命令信号,输入,低电平有效,用来控制数据由8259A读到CPU。 WR: 写命令信号,输入,低电平有效,原来控制数据由CPU写到8259A。 CS:片选信号,输入,通过译码电路与高位地址总线相连。 A0:选择8259A的两个端口,输入,连低位地址线。 INT:向CPU发出的中断请求信号,输出,与CPU的INTR端相连。 CAS2CAS0:双向级联信号线。8259A作主片时,为输出线,作从片时,为输入线。与SP/EN配合实现8259A级联。,14:12:23,5,SP/EN: 编程/双向使能缓冲。,作为输入使用时,用来决定本片8259A是主片还是从片:若SP/EN=1,则为

3、主片;若SP/EN=0,则为从片。 作为输出使用时,启动8259A到CPU之间的数据总线驱动器。 SP/EN作为输入还是输出,决定于8259A是否采用缓冲方式工作,若采用缓冲方式工作,则SP/EN作为输出,若采用非缓冲方式,SP/EN作为输入。,INTA: CPU给8259A的中断响应信号,输入。8259A要求两个负脉冲的中断响应信号,第一个是CPU响应中断的信号,第二个INTA结束后,CPU读取8259A送去的中断类型号。,14:12,6,二、内部结构,图711b 8259A内部结构,14:12,7,数据总线缓冲器是8位双向三态缓冲器,是8259A与系统数据总线接口,通常连接低8位数据总线D

4、7D0。 CPU编程控制字写入8259A、8259A的状态信息读出、及中断响应时8259A送出的中断类型号,都经过它传送。,1. 数据总线缓冲器,2. 读写控制电路,读写控制电路接收CPU送来的读/写命令RD、WR,片选信号CS及端口选择信号A0 。,14:12,8,高位地址译码后送CS作片选信号。 A0连地址总线A0或A1,用来选择8259A的两个I/O端口,一个为奇地址,另一个偶地址。 读写操作由这4个信号控制来实现的,使8259A接收CPU送来的初始化命令字和操作命令字,或将内部状态信息送给CPU。,14:12,9,实际设计时,8259A的D7D0与CPU数据总线低8位相连。为了保证CP

5、U与8259A用低8位传输数据,CPU的A1连8259A的A0。这样对CPU来说A00,A1可以为1或为0,CPU读写始终是用偶地址。对8259A来说A1可以为1或为0,给8259A的端口分配了两个地址,一个奇地址,一个偶地址,符合了8259A的编程要求。,注意:8086系统中数据总线为16位,CPU传送数据时,低8位数据总线传送到偶地址端口,高8位数据总线传送到奇地址端口。当8位I/O接口芯片与8086CPU16位数据总线相连接时,既可以连到低8位数据总线,也可以连到高8位数据总线。,14:12,10,3. 级联缓冲/比较器,缓冲方式:在多片8259A级联的系统中,8259A通过总线驱动器和

6、数据总线相连,这就是缓冲方式。,在缓冲方式下,8259A的SP/EN端与总线驱动器允许端相连,控制总线驱动器启动,SP/EN作为输出端。 当EN0时,8259A控制数据从8259A送到CPU; 当EN1时,控制数据从CPU送到8259A。,14:12,11,非缓冲方式:单片8259A或少量8259A级联时,可以将8259A直接与数据总线相连,称为非缓冲方式。,非缓冲方式下,8259A的SP/EN端作输入端,控制8259A作为主片还是从片。 SP1,表示此8259A为主片。 SP0,表示此8259A为从片。 单片8259A时,SP/EN接高电平。 由初始化命令字ICW4来设置缓冲方式或非缓冲方式

7、。,14:12,12,4.中断请求寄存器,中断请求寄存器是一个8位寄存器,存放外部输入的中断请求信号IR7IR0。,当某个IR端有中断请求时,IRR相应的某位置“1”。 可以允许8个中断请求信号同时进入,此时IRR寄存器被置成全“1”。 当中断请求被响应时,IRR的相应位复位。,14:12,13,5.中断屏蔽寄存器IMR,中断屏蔽寄存器是一个8位寄存器,用来存放对各级中断请求的屏蔽信息。 当用软件编程使IMR寄存器中某一位置“0”时,允许IRR寄存器中相应位的中断请求进入中断优先级判别器。 若IMR中某位为“1”,则此位中断请求被屏蔽。 各个中断屏蔽位是独立的,屏蔽了优先级高的中断,不影响其它

8、较低优先级的中断允许。,14:12,14,6.优先级判别器PR,优先级判别器对保存在IRR寄存器中的中断请求进行优先级识别,送出最高优先级的中断请求到中断服务寄存器ISR中去。 当出现多重中断时,PR判定是否允许所出现的中断去打断正在处理的中断,让优先级更高的中断优先处理。,7.中断服务寄存器ISR,中断服务寄存器是一个8位寄存器,保存正在处理中的中断请求信号。 某个IR端的中断请求被CPU响应后,当CPU发出第一个INTA信号时,ISR寄存器中的相应位置“1”,一直保持到该级中断处理结束为止。 允许多重中断时,ISR多位同时被置成“1”。,14:12,15,8.控制电路,根据中断请求寄存器I

9、RR的置位情况和中断屏蔽寄存器IMR的设置的情况,通过优先级判别器PR判定优先级,向8259A内部及其它部件发出控制信号。 向CPU发出中断请求信号INT和接收CPU的中断响应信号INTA,使中断服务寄存器ISR的相应位置“1”,并使中断请求寄存器IRR的相应位置“0”。 当CPU第二个INTA信号到来,控制8259A送出中断类型号,使CPU转入中断服务子程序。 如果方式控制字ICW4的中断自动结束位为“1”,则在第二个INTA脉冲结束时,将8259A中断服务寄存器ISR的相应位清“0”。,14:12,16,1.8259A的编程结构,三、8259A的中断管理方式,图712 8259A的编程结构

10、,14:12,17,1.8259A的编程结构,中断管理方式是通过8259A初始化时写入初始化命令字和操作命令字来设置的。 初始化命令字写入寄存器ICW1ICW4,它是由初始化程序设置的初始化命令字一经设定,在系统工作过程中就不再改变。 操作命令字写入寄存器OCW1OCW3,它是由应用程序设定的,用来对中断处理过程进行控制,在系统运行过程中,操作命令字可以重新设置。,三、8259A的中断管理方式,14:12,18,2.优先级设置方式,若8259A初始化后没有设置其它优先级的方式,就自动进入完全嵌套方式。 在这种方式下,中断优先级分配固定级别07级,IR0具有最高优先级,IR7优先级最低。 可用初

11、始化命令宇ICW4中SFNM0,将8259A置成完全嵌套优先级方式。 在完全嵌套工作方式下,当一个中断请求被响应后,中断服务寄存器ISR中的对应位置“1”,中断类型号被放到数据总线上,CPU转入中断服务程序。,完全嵌套方式,14:12,19,一般情况下(除自动中断结束方式外),在CPU发出中断结束命令EOI前,ISR寄存器中此对应位一直保持“1”。 当新的中断请求进入时,中断优先级裁决器将新的中断请求和当前ISR寄存器中置“1”位比较,判断哪一个优先级更高。允许打断正在处理的中断,优先处理更高级的中断,实现中断嵌套,但禁止同级与低级中断请求进入。 中断嵌套时,ISR寄存器中内容发生变化,又有一

12、个对应位置“1”,当实现8级中断嵌套时,ISR寄存器内容为0FFH。,14:12,20,特殊全嵌套方式与全嵌套工作方式基本相同,区别在于当处理某级中断时,有同级中断请求进入,8259A也会响应,从而实现了对同级中断请求的特殊嵌套。 在级联方式中,当从片上有中断请求进入并正在处理时,同一从片上又进入更高优先级的中断请求,从片能响应更高优先级中断请求,并向主片申请中断,但对主片来说是同级中断请求。当主片处于特殊全嵌套工作方式时,主片就能允许对相同级别的中断请求开放。,特殊全嵌套方式,14:12,21,优先级自动循环方式,在优先级自动循环方式中,优先级别可以改变。 初始优先级次序规定为IR0、IR1

13、、IR7,当任何一级中断被处理完后,它的优先级别变为最低,将最高优先级赋给原来比它低一级的中断请求,其它依次类推。 优先级自动循环方式适合用在多个中断源优先级相等的场合。,14:12,22,优先级特殊循环方式和优先级自动循环方式相比,不同之处在于优先级特殊循环方式中,初始时最低优先级由程序规定,最高优先级也就确定了。,优先级特殊循环方式,例:若初始时指定IR1为最低优先级,则IR2为最高优先级,其它依次类推。而优先级自动循环方式初始时最高优先级一定是IR0。,14:12,23,3.中断结束方式,中断结束处理实际上就是对中断服务寄存器ISR中对应位的处理。 当一个中断得到响应时,8259A使IS

14、R寄存器中对应位置“1”,表明此对应外设正在服务,并为中断优先判别器提供判别依据。 中断结束时,必须使ISR寄存器中对应位置“0”,否则中断优先权判别会不正常。 什么时刻使ISR中对应位置“0”,就产生不同的中断结束方式。,14:12,24,在完全嵌套工作方式下,任何一级中断处理结束返回上一级程序前,CPU向8259A传送EOI结束命令字,8259A收到EOI结束命令后,自动将ISR寄存器中级别最高的置“1”位清“0”(此位对应当前正在处理的中断)。 EOI结束命令字必须放在返回指令IRET前,没有EOI结束命令,ISR寄存器中对应位仍为“1”,继续屏蔽同级或低级的中断请求。 若EOI结束命令

15、字放在中断服务程序中其它位置,会引起同级或低级中断在本级未处理完前进入,容易产生错误。,普通EOI结束方式,14:12,25,在非全嵌套工作方式下,中断服务寄存器无法确定哪一级中断为最后响应和处理的,这时要采用特殊SEOI结束方式。 CPU向8259A发特殊EOI结束命令字,命令字中将当前要清除的中断级别也传给8259A。此时,8259将ISR寄存器中指定级别的对应位清“0”,它在任何情况下均可使用。,特殊EOI结束方式,14:12,26,自动EOI结束方式,在自动AEOI方式中,任何一级中断被响应后,ISR寄存器对应位置“1”,但在CPU进入中断响应周期,发第二个INTA脉冲后,8259A自

16、动将ISR寄存器中对应位清“0”。 此时,尽管对某个外设正在进行中断服务,但对8259A来说,ISR寄存器中没有指示,好象已结束了中断处理一样。 这种方式虽然简单,但因为ISR寄存器中没有标志,低级中断申请时,可以打断高级中断,产生重复嵌套,嵌套深度也无法控制,容易产生错误,使用时要特别小心。,14:12,27,4.循环优先级的循环方法,在主程序或中断服务程序中设置操作命令字,当任何一级中断被处理完后,使CPU给8259A回送普通EOI循环命令,8259A收到EOI循环命令后,将ISR寄存器中最高优先级的IRi置“1”位清“0”,并赋给它最低优先级,将最高优先级赋给它的下一级IRi+1,其它依次类推。,普通EOI循环方式,循环优先级方式中,与中断结束方式有关,有三种循环方式。,14:12:23,28,例: 某中断系统IR0为最高优先级,IR7为最低优先级。有IR2、IR5两个中断请求。设置为普通EOI循环方式,要求给出IR2及I

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号