收藏 分享(赏)

第7章 中断系统1.ppt

上传人:hskm5268 文档编号:7255946 上传时间:2019-05-11 格式:PPT 页数:27 大小:348KB
下载 相关 举报
第7章  中断系统1.ppt_第1页
第1页 / 共27页
第7章  中断系统1.ppt_第2页
第2页 / 共27页
第7章  中断系统1.ppt_第3页
第3页 / 共27页
第7章  中断系统1.ppt_第4页
第4页 / 共27页
第7章  中断系统1.ppt_第5页
第5页 / 共27页
点击查看更多>>
资源描述

1、8086中断系统,第七章 8086中断系统,8086 中断结构,第7.1节 8086中断结构 一. 硬件中断 1. 可屏蔽中断 输入为INTR引脚,高电平有效,受IF标志控制CPU在每条指令的最后一个T状态检测该引脚,若CPU响应中断请求,则输出/INTA低电平有效,从外设读取中断类型码。中断类型码:用1个字节对8086的256个中断类型进行的编码每个中断类型码对应1种中断类型,也对应4字节的中断服务程序入口地址(段地址:偏移量),中断服务程序入口地址又称中断向量。 2. 非屏蔽中断 输入为NMI引脚,上升沿有效,不受IF控制中断类型码为2,该中断一般用于非常事件。PC/XT机中用于系统板上R

2、AM奇偶错,I/O通道奇偶错和8087异常中断。,8086 中断结构,二. 软件中断 1. 除法溢出中断(INT 0)若除数为0或商超过寄存器所能表达的范围,则产生类型为0的软件中断 2. 单步中断 (INT 1)若TF=1,则CPU每执行完一条指令后便产生类型码为1的软件中断 3. 执行 INT 指令引起的中断 (INT n)执行INT n指令则会引起中断类型码为4的软件中断 4. 执行 INTO 指令引起的中断(INT 4)若OF=1,则指令INTO引起中断类型码为4的软件中断 三. 中断优先级 软件中断(单步中断除外) 优先级最高 NMI中断 INTR中断 单步中断 优先级最低,中断向量

3、表,四. 中断向量表8086在内存0000H03FFH的1KB地址空间建立了一个中断向量表,用于存放256个中断向量,每个向量占4个字节,前两个字节为中断服务程序的偏移地址,后两个字节为段地址。因此:中断向量位置 = 中断类型码 4,类型255指针,除数为0,单步,非屏蔽,断点,溢出,003FCH,00000H,00004H,00008H,0000CH,00010H,CS,IP,段地址,偏移量,例:INT 21H指令调用第21号中断服务程序,其入口地址存放在中断向量表中84H87H的连续4个字节(21H484H),8086/8088中断总结,8086/8088中断总结,PC机中,由8259A管

4、理多个可屏蔽中断请求的优先级,IR0 IR7优先级由高到低,中断类型码为08H0FH,例:IR0对应中断类型码08H,中断控制逻辑,INT 3 指令,INTO 指令,单步 中断,除数为 0中断,INT n 指令,非屏蔽中断,IR0,IR1,IR2,IR3,IR4,IR5,IR6,IR7,8259A,INT,INTR,可屏蔽中断请求1,NMI,软件中断,硬件中断,可屏蔽中断,可屏蔽中断请求2,8259级联,IBM PC/XT机中一般使用两片8259A级连,8259级联后可管理15个外设,只能两级级联 优先级:0 1 ( 8 15 ) 3 7高 低,8259内部结构,第7.2节 可编程中断控制器8

5、259 一. 8259功能及内部结构,INTA,INT,数据总线,缓冲器,读/写,控 制,逻 辑,级 连,缓 冲,比 较,SP/EN,控制电路,控制逻辑,初始化命令,寄存器组,操作命令,寄存器组,中断,请求,寄存,器,(IRR),IR0,IR1,IR2,IR3,IR4,IR5,IR6,IR7,中断服务,寄存器,(ISR),中断,优先,级分,析器,中断屏蔽寄存器,(IMR),D7,D0,RD,WR,CS,A0,CAS1,CAS2,CAS0,功能简介: 具有8级优先权控制,通过级联可扩展至64级每一级中断都可以屏蔽和允许中断申请可以有电平触发,也可有边沿触发,级联逻辑控制8259A的主从工作方式,

6、8259内部结构说明,内部结构说明 IRR 中断请求寄存器,保存 8个输入端IR0IR7的中断申请状态,输入可高电平有效,也可上升沿有效; ISR 中断服务寄存器,保存CPU正在处理的中断请求; IMR 中断屏蔽寄存器,对中断申请进行屏蔽控制; 中断优先级分析器决定中断申请的优先级; 控制逻辑 初始化命令寄存器组:ICW1ICW4 操作命令寄存器组: OCW1OCW3 INT 中断申请输出,高电平有效,可连接8086 INTR引脚 /INTA 中断响应输入,接收8086发出的中断响应信号,有效时8259应输出中断类型码,8259内部结构,8259A引脚图,内部结构说明D7D0 双向三态数据线,

7、传送数据/RD 读信号,低电平有效/WR 写信号,低电平有效/CS 片选信号,低有效, 给8259分配地址A0 用于选择8259内部不同的寄存器。CAS2CAS0 级联信号线,当8259为主片时为输出,从片时为输入SP/EN 在非缓冲工作方式时,用作输入,决定8259A为主片还是从片;在缓冲工作方式时,用作输出,由它打开总线缓冲器,8259与计算机的连接,二. 8259A与计算机的连接 1. 8259A单片工作方式的接口电路,D7,D0,D7,D0,RD,WR,INT,INTA,A0,CS,8259A,SP/EN,IR0,IR1,IR2,IR3,IR4,IR5,IR6,IR7,CAS2,CAS

8、1,CAS0,IRQ0,IRQ1,IRQ2,IRQ3,IRQ4,IRQ5,IRQ6,IRQ7,日时钟,键盘,保留,COM2,COM1,硬盘,软盘,打印机,+5V,IOR,IOW,INTR,/INTA,A1,74LS30,74LS04,A9,+5V,A8,A7,A6,A5,+5V,C,B,A,74LS138,Y1,Y0,G2A,G2B,高位地址线A15A5,通过74LS30(8输入与非门)和74LS138进行部分译码,控制/CS,端口范围为020H03FH,常用20H和22H两个偶端口,8259采用D7D0传送数据,占用偶地址端口,低位地址线A1接8259的A0引脚,用于选择8259内部寄存器,

9、两片8259级联管理15级中断,收到第一个INTA时,主片通过CAS2CAS0通知有中断申请的从片在第二个INTA时送出中断类型码从片8259A的中断申请端INT接主片的IR2,8086系统主从芯片都用偶地址传递信息,主片的SP/EN接+5V,从片的SP/EN接地,主从片的CAS2、CAS1、CAS0对应连接,8259初始化命令字,三. 8259初始化命令字 ICW1 (Initial Command Word)A0=0,D4=1 表示对ICW1编程 D0(IC4) D0=1需要ICW4;D0=0 不需要ICW4 D1(SNGL) D1=1为单片8259工作方式; D1=0 为级联工作方式,此

10、时要用ICW3指明级联端,8259初始化命令字,D2(ADI) 指明8080/8085系统中地址间距,8086系统不用 D3(LTIM) D3=1 中断请求是电平触发方式; D3=0 上升沿触发方式。 D5D7(A5A7) 8080/8085系统中断服务程序页面地址,8086系统不用注:初始化命令字一般在初始化8259时才写入,而且写入有严格的顺序,先写ICW1,最后写ICW4,8259初始化命令字,ICW2A0=1,跟在ICW1后表示对ICW2编程 A15A8 为8080/8085系统中页面地址高8位; T7T3 为8086系统中的中断类型码的高5位,低3位根据申请端自动填充。 例 若ICW

11、2 = 0000 1000B ,则8259A的IR3引脚对应的中断类型码为 0000 1011 即0x0B,8259初始化命令字,ICW3A0=1,且ICW1的D1=0 (SNGL),跟在ICW2之后表示对ICW3编程 主片 Si = 1表示第IRi引脚上连接有从片 从片 ID2ID0对应从片的识别码,即表明从片连接到主片的第几个输入引脚上。响应中断时第一个INTA,主片通过CAS2 CAS0送出识别码通知有中断请求的从片,每个从片将CAS2CAS0上信号与自己内部的识别码相比较,若相同,则在第二个INTA送出中断类型码。,8259初始化命令字,ICW4A0=1,且ICW1的D0=1,跟在其他

12、初始化字后表示对ICW4编程 D0(pm)D0=1为16位处理器体系;D0=0 为80/85处理器体系 D1(AEOI)D1=1自动结束中断方式,在第二个INTA清ISR中的对应位; D1=0 非自动结束中断方式,中断结束时发EOI命令清ISR中的对应位,8259初始化命令字,D2(M/S) 在缓冲方式下(BUF=1),选择主片和从片,M/S=1为主片, M/S=0为从片。 在非缓冲方式下,由SP/EN引脚设定主片和从片。 D3(BUF) D3=1为缓冲工作方式, SP/EN为缓冲选通信号。单片系统都置1; D3=0为非缓冲工作方式。 D4(SFNM) D4=1 为特殊全嵌套方式,此时允许同级

13、中断再次进入,一般用于多片级联方式; D4=0 为普通全嵌套方式,禁止同级中断再次进入。,8259操作命令字,四. 8259操作命令字操作命令字可在任何时候写入8259A ,且无顺序。 OCW1 (Operation Command Word)A0=1 表示设置OCW1 Mi=1 表示屏蔽IRi输入中断请求 例屏蔽键盘 IN AL, 21HOR AL, 02H / AND AL, 0FDH OUT 21H, AL,A0,D7,D6,D5,D4,D3,D2,D1,D0,1,M7,M6,M5,M4,M3,M2,M1,M0,8259操作命令字,OCW2A0=0,且D4D3 = 00,表示对OCW2编

14、程 R 优先权循环状态R=1优先权自动循环;R=0优先权不循环 SL设定标志。SL=1由L2、L1、L0指明中断号或最低优先权 EOI中断结束命令标志,非自动结束方式时清ISn一般EOI指令为 MOV AL, 20HOUT 20H, AL,8259操作命令字,8259操作命令字,OCW3A0=0,且D4D3 = 01,表示对OCW3编程 ESMM SMM1 1 设置特殊屏蔽,无优先级,未屏蔽中断申请均可进入1 0 取消特殊屏蔽 P=1 ,设置8259A为查询工作方式,此时8259A不发INT信号,CPU通过查询指令决定服务程序。查询得到格式如下表所示,8259操作命令字,I=1 表示有中断请求

15、 W2 W1 W0为当前最高优先级的中断请求中断号 P=0,由RR和RIS设置下一个读取的寄存器RR RIS1 0 在下一个A0 = 0端口读IRR1 1 在下一个A0 = 0端口读ISR,例:读取ISR到AL中mov al, 0BHout 20H, alIN al, 20H;读取IMR到AL中IN al, 21H,8259初始化编程举例,五. 8259初始化编程举例 1. IBM PC/XT机对单片8259A初始化 端口地址为20H和22H 接收8个中断请求信号为边沿触发 选择全嵌套方式,IR0为最高优先级,IR7为最低优先级 设定IR0中断类型码为08H 注:8259A的地址线A0是连接到

16、系统地址总线的A1上,8259初始化编程举例,初始化程序段 INTA0_0 EQU 20H INTA0_1 EQU 22HMOV AL, 13H OUT INTA0_0, AL ;ICW1 MOV AL, 08H OUT INTA0_1, AL ;ICW2 MOV AL, 09H OUT INTA0_1, AL ;ICW4,8259初始化编程举例,2. 在AT/286以上机器,使用两片8259A级联组成15个中断申请输入端 要求: 端口地址主片为20H和22H,从片为A0H和A2H。 接收上升沿触发中断请求信号。 选择全嵌套方式,优先级排列次序为0级最高,依次为1级,815级,然后是37级。

17、采用非缓冲方式,主片SP/EN接+5V,从片SP/EN接地 设定主片中断类型码为08H0FH,从片为70H77H,8259初始化编程举例,初始化命令字,8259初始化编程举例,初始化程序段 INTA00 EQU 20H INTA01 EQU 22H INTB00 EQU 0A0H INTB01 EQU 0A2H MOV AL, 11H OUT INTA00, AL ;主片ICW1 JMP SHORT $+2 ;I/O口要求延时 MOV AL, 08H OUT INTA01, AL ;ICW2 JMP SHORT $+2 MOV AL, 04H OUT INTA01, AL ;ICW3 JMP SHORT $+2,MOV AL, 01H OUT INTA01, AL ;ICW4 JMP SHORT $+2 MOV AL, 11H OUT INTB00, AL ;从ICW1 JMP SHORT $+2 MOV AL, 70H OUT INTB01, AL ;ICW2 JMP SHORT $+2 MOV AL, 02H OUT INTB01, AL ;ICW3 JMP SHORT $+2 MOV AL, 01H OUT INTB01, AL ;ICW4,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报