中断和计数器

上传人:bin****86 文档编号:54642737 上传时间:2018-09-16 格式:PPT 页数:98 大小:595.50KB
返回 下载 相关 举报
中断和计数器_第1页
第1页 / 共98页
中断和计数器_第2页
第2页 / 共98页
中断和计数器_第3页
第3页 / 共98页
中断和计数器_第4页
第4页 / 共98页
中断和计数器_第5页
第5页 / 共98页
点击查看更多>>
资源描述

《中断和计数器》由会员分享,可在线阅读,更多相关《中断和计数器(98页珍藏版)》请在金锄头文库上搜索。

1、1,第7章 中断控制器和计数器/定时器,7.1 中断控制器8259A 7.2 计数器/定时器8253,2,1. 8259A的结构及工作过程 2. 8259A的工作方式 3. 8259A的初始化命令字和操作命令字 4. 8259A的使用举例 5. 多片8259A组成的主从式中断系统,7.1 中断控制器8259A,3,1.8259A的结构及工作过程,1)8259A的引脚信号,4,A0:用于选择8259A的两个端口 偶地址端口(A0=0) 奇地址端口(A0=1) IR0IR7:中断请求信号,由外设传给8259A。 CAS0CAS2:级联信号。 SP/EN:从方式/使能缓冲信号。 输入:识别是主片还是

2、从片,若为高电平则为主片,若低电平则为从片。 输出:允许数据总线缓冲器接收或发送数据或者控制总线缓冲器的传送方向。,5,2)8259A的内部结构,6,(1)中断请求寄存器IRR (8位) 当IRi为1时,寄存器的第i位置1。 (2)中断服务寄存器ISR (8位) 当任何一级中断被响应时,CPU在第一个INTA使ISR相应位置1,一般情况下一直保持到该级中断处理过程结束才被清除。 ISR中可以有多位被同时置1。 (3)中断屏蔽寄存器IMR (8位) 存放中断屏蔽字,CPU根据用户编程写入。 当IMR中第i位置1时,就屏蔽来自IRi的中断请求。,7,(4)优先权判别器PR 判别IRR中所有未被屏蔽

3、的中断请求的优先级别。 多级中断时,PR比较来自ISR和经IMR允许的IRR两者的优先级高低,以决定是否向CPU发出中断请求INT。 (5)控制电路 按用户设置的工作方式产生内部控制信号。 向CPU发出中断请求信号INT,接收来自CPU的中断响应信号INTA 。,8,(6)读/写控制电路 控制命令字的写入。 控制内部寄存器内容的读取。 (7)数据总线缓冲器 8259A与CPU之间的数据接口。 CPU写入8259A的命令字。 CPU读取8259A的状态字。 CPU读取中断类型号。,9,(8)级联缓冲器/比较器 存放和比较从设备标志ID(000111)。 ID由编程设定并保存在级联缓冲器中。 当C

4、PU响应来自从片的中断请求时,主片将相应的ID输出到级联线CAS0CAS2上,从片收到后与自己的级联缓冲器保存的ID相比较,若相等,本片被选中,故在后继的INTA有效期间,被选中的从8259A就把中断类型号送上数据总线。,10,3)8259A的中断工作过程,(1)中断源通过IR0IR7向8259A发中断请求,使得8259A的IRR中相应位置1。 (2)IRR中经IMR允许后请求进入优先权判别器PR,PR将其中最高优先权的中断请求从INT输出,送至CPU的INTR端。 (3)若CPU处于开中断状态,则在当前指令执行结束后,启动中断响应总线操作,发出两个负脉冲INTA作为响应信号。,11,8259

5、A接收到第一个负脉冲 使IRR锁存功能失效。 使ISR相应位置1,表示CPU已为该中断请求服务。 使IRR的相位清0。 8259A接收到第二个负脉冲 恢复IRR锁存功能。 将中断类型号送上数据总线。 (CPU读取中断类型号,经响应过程后,进入中断服务程序,直到服务结束返回)。 若8259A工作在自动结束中断方式AEOI,8259A则清除ISR的相应位,否则直至中断服务结束,发出EOI命令,才能使ISR中的相应位清0。,12,28259A的工作方式,引入中断请求的方式 1)边沿触发方式 2)电平触发方式 3)中断查询方式 与系统总线的连接方式 1)非缓冲方式 2)缓冲方式,13,设置优先级的方式

6、,1)全嵌套方式 2)特殊全嵌套方式 3)优先级自动循环方式 4)优先级特殊循环方式,14,1)全嵌套方式,由IRi端引入的中断请求具有固定的中断优先级别,由高至低为IR0IR1IR7。 CPU响应IRi中断请求,在收到第一个负脉冲时,将对应的ISRi置1。除AEOI外,ISRi为1一直保持到CPU发出中断结束命令时,ISRi才被清除。 当ISRi为1,且CPU开中断时,允许CPU响应更高级别的中断请求,禁止响应同级或较低级的中断请求。 完全嵌套最多可达8级中断嵌套,各服务程序应按从高级到低级的次序结束。,15,特殊全嵌套方式用于8259A级连的系统中 所谓级联,就是在微机系统中以一片8259

7、A与CPU相连,这个8259A又与下级最多8片8259A相连。 与CPU相连的8259A称为主片,与主片相连的8259A称为从片。,2)特殊全嵌套方式,16,17,主片工作在特殊全嵌套方式使得主片能识别从片的内部优先级,即对接有从片的同级中断开放。 在非AEOI方式,CPU每处理完从片的一个中断请求,向从片发出中断结束命令EOI,处理完一个从片内所有等待处理的中断请求后,才向主片发中断结束命令。这要求在从片的中断服务程序结束时,除向从片发EOI命令外,还需检测其ISR各位是否为全0,若为全0时,才向主片发EOI命令。,18,3)优先级自动循环方式,改变了固有优先权排队顺序,它是在全嵌套的基础上

8、,从IR0到IR7引入的中断,将轮流具有最高优先权。 当任何一级中断结束,它的优先级就变为最低,最高优先级被分配给下级中断,其它依次轮转,例如:IR3结束,IR3便具有最低优先级,而IR4具有最高优先级,IR5具有次高优先级,依次推下。,19,4)优先级特殊循环方式,改变了固有优先权排队顺序。 置位优先权命令 该命令指定某一中断源优先权最低,则最高优先级被分配给下级中断源,其它依次轮转。,20,屏蔽中断源的方式,1)普通屏蔽方式 CPU向8259A写入中断屏蔽字(写IMR)。相应置1位的中断被屏蔽。 2)特殊屏蔽方式 开放高级或低级,屏蔽本级。 CPU向8259A写入命令实现。,21,结束中断

9、处理的方式 (用不同的方法清0 ISRi),1)中断自动结束方式(自动EOI方式) CPU在进入中断响应总线周期的第二个INTA结束时,自动将ISR寄存器相应位清0。 2)一般的中断结束方式(一般EOI方式) CPU在中断服务程序的结束处向8259A发一个一般EOI命令,使得8259A的ISR中当前优先级最高的那一位清除。 3)特殊的中断结束方式(特殊EOI方式) CPU在中断服务程序的结束处向8259A发一个特殊EOI命令,则8259A将ISR寄存器中指定级别的相应位清除。,22,3.8259A的初始化命令字和操作命令字,对8259A的编程,采用两类控制命令字:ICW、OCW。 初始化命令字

10、 设定8259A的基本工作条件。 必须在8259A开始工作之前写入,写入以后系统才可以接收中断请求信号。 一旦写入,一般在系统运行过程中不再改变。,23,操作命令字 对中断处理过程作动态控制。 必须在初始化命令写入后,才能写入。 在系统运行过程中,可以多次设置。,24,1)初始化命令字 (ICW1ICW4) (1)ICW1 芯片控制初始化命令字,对偶地址端口写入一个D4=1的数据,表示初始化编程开始。 D3:LTIM 中断信号的触发方式 0:边沿 1:高电平 D1:SNGL 是否单片方式 0:多片级联 1:单片 D0:IC4 是否有ICW4 0:无 1:有,注:在8086/8088系统中D7D

11、5和D2不用,通常置0; D0必须为1。,0 0 0 1 0 0 0 1,25,(2)ICW2 设置中断类型号的初始化命令字,在写ICW1之后,对A0=1的端口第一次写入的数据是ICW2 。 只需设置D7D3 D2D0无效(由8259A根据IR0IR7自动填充为000111)。,26,中断线:类型号 中断线:类型号IR0:08H 时钟中断 IR4:0CH COM1IR1:09H 键盘中断 IR5:0DH 硬盘 IR2:0AH 保留 IR6:0EH 软盘IR3:0BH COM2 IR7:0FH LPT1,例如:在PC/XT中ICW2为00001000B,27,(3)ICW3 标志主片/从片的初始

12、化命令字 (只用于8259A的级联方式),系统中有级联(ICW1.SNGL=0),在ICW2之后写ICW3。 对于主片:置1的位表示对应的引脚有从片级联。对于从片:用D2D0表示和主片的对应引脚级联。,28,(4)ICW4 方式控制初始化命令字,ICW1.IC4=1时,有ICW4。 D4:SFNM 中断的嵌套方式 0:全嵌套 1:特殊全嵌套,29,D3:BUF 缓冲 0:无缓冲,SP/EN引脚输入,用作主片、从片选择端。 1:8259A通过总线收发器和总线相连,SP/EN引脚输出,控制总线收发器的数据传送方向,当数据从8259A流向CPU时其值为0。 D2:M/S 主片/从片选择(BUF=1时

13、,有效) 0:从片 1:主片 D1:是否工作于自动EOI方式 0:非自动EOI方式 1:自动EOI方式 D0:PM 微处理器类型 0:8080/8085/Z80 1:8086/8088,30,8259A芯片的初始化流程,对8259A初始化编程一定要严格按照ICW1到ICW4的顺序完成。 ICW1写入偶地址端口。 ICW2ICW4皆是写入奇地址端口。,31,写ICW1 A0=0,D4=1,写ICW2 A0=1,SNGL=1,IC4=1,写ICW3 A0=1,写ICW4 A0=1,是,否,是,否,32,例:PC/XT机中8259A的端口地址是20H、21H。初始化序列如下:MOV AL,13HOU

14、T 20H,ALMOV AL,8OUT 21H,AL MOV AL,9 OUT 21H,AL,ICW1:单片、上升沿触发、使用ICW4,ICW2:中断类型码是08H0FH,ICW4:有缓冲、非AEOI方式,33,例:PC/AT机中8259A主片的端口地址是20H、21H, 从片的端口地址是A0H、A1H。,初始化主片MOV AL, 11HOUT 20H, ALMOV AL, 08HOUT 21H, ALMOV AL, 04HOUT 21H, ALMOV AL, 01HOUT 21H, AL,初始化从片MOV AL, 11HOUT 0A0H, ALMOV AL, 70HOUT 0A1H, ALM

15、OV AL, 02HOUT 0A1H, ALMOV AL, 01HOUT 0A1H, AL,34,2)操作命令字(OCW1OCW3),在初始化结束,8259A便进入工作状态,若不再写入任何操作命令字,8259A便处于全嵌套工作方式(级联时,主片可设为特殊全嵌套方式),具有固定优先级别。 若要改变初始化设置的对中断优先权管理方式,必须向8259A写入操作命令字OCW,进行操作方式的编程。,35,(1)OCW1,Mi=1表示屏蔽中断源IRi,设置中断屏蔽字(写IMR ),IN AL, 21H OR AL, M 或 AND AL, M OUT 21H, AL,36,(2)OCW2,对偶地址端口写入D4D3=00,表示是OCW2 R:表示是否循环; SL:表示L2L1是否有效。 当OCW2给出特殊的中断结束命令时,L2L0指出了要清除当前ISR中哪一位; 当OCW2给出置位优先权命令时,L2L0指出了哪个中断的优先级最低。,用来设置优先级循环方式和中断结束方式,37,EOI:中断结束命令位。 在PC机中常用的EOI命令:MOV AL, 20HOUT 20H, AL,38,

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

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

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