第8章YA及专题中断系统.ppt

第8章YA及专题中断系统课件

第6章 中断系统 本章重点 中断基本概念 中断过程 8086CPU中断系统 8259A中断控制器的功能及应用 什么是中断? 中断源:引起CPU中断的事件,是发出中断请求的来源。 例如: 外设——请求输入输出数据,报告故障等; 事件——掉电、硬件故障、软件错误、非法操作、定 时时间到等。 ?CPU响应中断后(中断被处理),中断请求信号应及时撤销。 中断判优——要解决的问题 对同时产生的中断: ?首先处理优先级别较高的中断;若优先级别相同,则按先来先服务的原则。 中断响应 (1)对INTR,CPU应处于开中断状态,即IF=1; 中断处理(中断服务) ?保护现场(PUSH) 中断返回 执行IRET指令,使IP、CS和FR从堆栈弹出,保证被中断的程序从断点处能够继续往下执行。 内部中断 外部中断 中断向量表 ?存放各类中断的中断服务程序入口地址; 中断向量表的初始化 CLI ;关中断 MOV AX,0000H MOV DS,AX ;向量表段基址 MOV SI,48H*4 ;n=48H,向量表偏移地址 MOV AX,OFFSET int48h;服务程序int48h入口偏移地址 MOV [SI],AX MOV AX,SEG int48h ;服务程序int48h入口段基址 MOV [SI+2],AX STI ;开中断 8088/8086中断系统的优先级 优先级从高到低的顺序为: 内部中断 NMI中断 INTR中断 单步中断 8259A与8086/8088系统连接如图所示,其工作过程: (3)判优电路确定当前非屏蔽的最高优先级,通过控制逻辑把INT送CPU的INTR端; 8259A应用专题 8259A应用专题 8259A应用专题 8259A内部寄存器的寻址方法 8259A的初始化顺序 8259的初始化流程如图 ?注意次序不可颠倒 8259A控制命令字 8259A开始工作前,系统中的每片8259A都须由2~4个初始化命令字(ICW)来设定其状态和工作方式。 ?芯片控制初始化命令字ICW1,写入偶地址端口 ?设中断类型码初始化命令字ICW2,写入奇地址端口 ?级联命令字ICW3,写入奇地址端口 ?中断结束方式命令字ICW4,写入奇地址端口 (2)操作命令字 8259A初始化后,修改其工作方式需要写入操作命令字OCW。 ?设置中断屏蔽方式。如下图所示; P292:习题6.1、6.2、6.6、6.7、6.9 8259A 初始化编程 8259A 初始化编程 (1)初始化命令字 ?芯片控制ICW1 ?设中断类型码ICW2 ?标志主片/从片ICW3 ?方式控制ICW4 8259A 初始化编程 8086/8088系统不用 MOV AL,13H ;ICW1上升沿触发,单片8259A OUT 20H,AL ;8086/8088 CPU 需要ICW4 8259A 初始化编程 用于规定IR0~IR7所对应的中断类型码的高5位,低3位由8259A自动产生。 MOV AL,08H ;ICW2中断类型号,起始中断号为08H OUT 21H,AL 8259A初始化编程 主片8259A 从片8259A 由D2~D0规定从片输出线INT接主片哪个IRi上,i=0~7。 表示主片输入端IR0~IR7是否接从片 8259A初始化编程 ICW4标志位 MOV AL,01H ;ICW4,普通全嵌套方式,一般EOI方式 OUT 21H,AL 8259A初始化编程 ?中断屏蔽操作命令字OCW1,写入奇地址端口 对应中断屏蔽寄存器IMR相应位,1表示该位中断请求被屏蔽,0表示该位中断请求允许。 如允许IRQ0和IRQ1中断,可写OCW1来设置中断屏蔽寄存器IMR IN AL, 21H ; A0=1,读出的是IMR AND AL, 0FCH ; 只允许IRQ0和IRQ1,其它不变 OUT 21H, AL ; 写入OCW1, 即IMR 8259A 初始化编程 ?优先级循环方式和中断结束方式操作命令字OCW2,写入偶地址端口 ?设置或清除特殊屏蔽方式和读取寄存器状态操作命令字OCW3,写入偶地址端口。有三方面功能: 8259A 初始化编程 0 ESMM 0 SMM 0 1 P RR RIS A0 D7 D6 D5 D4 D3 D2 D1 D0 标志位 不用, 通常为0 1:查询方式 0:非查询(中断)方式 1 1:随后读ISR 1 0:随后读IRR 1 1:设置特殊屏蔽 1 0:清除特殊屏蔽 ?查询中断请求方式; C

文档评论(0)

1亿VIP精品文档

相关文档