微机原理与接口技术_07可编程中断控制器8259A

上传人:我** 文档编号:116004375 上传时间:2019-11-15 格式:PPT 页数:30 大小:759KB
返回 下载 相关 举报
微机原理与接口技术_07可编程中断控制器8259A_第1页
第1页 / 共30页
微机原理与接口技术_07可编程中断控制器8259A_第2页
第2页 / 共30页
微机原理与接口技术_07可编程中断控制器8259A_第3页
第3页 / 共30页
微机原理与接口技术_07可编程中断控制器8259A_第4页
第4页 / 共30页
微机原理与接口技术_07可编程中断控制器8259A_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《微机原理与接口技术_07可编程中断控制器8259A》由会员分享,可在线阅读,更多相关《微机原理与接口技术_07可编程中断控制器8259A(30页珍藏版)》请在金锄头文库上搜索。

1、第7章 可编程中断控制器 8259A Date 1 本章主要内容 7.1 8259A的基本结构 7.2 8259A芯片的工作过程 7.3 8259A的工作方式 7.4 8259A的编程 7.5 8259A的应用 Date2 7.1 8259A的基本结构 Date3 7.1.1 内部结构 8259A的内部结构主要由8个功能模块组成。 1中断请求寄存器IRR(interrupt register) 2中断服务寄存器ISR(interrupt service ) 3中断屏蔽寄存器IMR(interrupt mask register) 4优先级判别器PR(priority register) 5数据

2、总线缓冲器 6读/写逻辑 7控制逻辑 8级联缓冲比较器 Date4 7.1.2 外部结构 8259A用NMOS工艺制造,使用单一5V电源,采用28引 脚的双列直插芯片。其引脚如下图所示。 Date5 7.2 8259A芯片的工作过程 Date6 当系统通电后,首先对8259A初始化。所谓初始化就是 由CPU执行一段程序,向可编程芯片写入若干命令字, 规定其工作状态,使其处于准备就绪状态。当完成初始 化后,8259A就处于就绪状态,随时可接收外设来的中 断请求信号。 Date7 8259A对外部中断请求的处理过程如下。 (1)当有一条或若干条中断请求输入(IR0IR7)有效时,则 使中断请求寄存

3、器的IRR的相应位置位。 (2)若CPU处于开中断状态,则在当前指令执行完之后,响应 中断,并且从发应答信号(两个连续的负脉冲)。 (3)第一个负脉冲到达时,IRR的锁存功能失效,对于IR0 IR7上发来的中断请求信号不予理睬。 (4)使服务寄存器ISR的相应位置1,以便为中断优先级比较器 的工作做好准备。 Date8 (5)使IRR的相应位复位,即清除中断请求。 (6)第二个负脉冲到达时,8259A向数据总线输送一个8位的指 针(向量号或中断类型号)。CPU以此作为相应中断的类型码, 并根据该中断类型号从中断服务程序入口地址表中,取出中断服 务程序的入口地址,从而执行中断。 (7)若初始化命

4、令字ICW4中的中断结束位为1,那么,第二个 负脉冲结束时,8259A将ISR寄存器的相应位清零。否则,直至 中断服务程序执行完毕,才能通过输出操作命令字EOI,使该位 复位。 Date9 7.3 8259A的工作方式 Date10 7.3.1 中断优先级管理方式 1固定优先级方式(完全嵌套排序方式) 固定优先级方式是8259A最常用的一种工作方式。优先 级的次序固定:IR0IR1 IR7。 2自动循环优先级方式(等优先级方式) 在自动循环优先级方式下,任何一级中断处理完后, CPU都会向8259A发送EOI命令,使ISR中最高优先级位 复位,并且使它变为最低优先级,比它低一级的中断请 求设为

5、最高级,就这样依次循环下去。 Date11 3特殊全嵌套优先级方式 基本上与固定优先级方式相同,不同的是CPU处理某一 优先级的中断请求时,不仅允许优先级比它高的中断请 求进入,而且允许同级的中断请求进入。 4特殊循环优先级方式 通过命令可以指定优先级,使用比较灵活。例如指定 IR2优先级最低,则优先级次序为IR3IR4IR7 IR0IR1IR2。 5中断屏蔽方式 用中断屏蔽方式管理优先级有一般屏蔽和特殊屏蔽两种 方法。 Date12 7.3.2 中断结束方式EOI 8259A中断结束的管理分三种情况。 1一般完全嵌套方式 8259A在完全嵌套方式下,可采用三种中断结束方式。 1)一般EOI形

6、式 2)特殊EOI方式 3)自动EOI方式 Date13 2自动循环情况 在这种情况下,也可采用三种中断结束方式,和前面一 般完全嵌套的情况相同,分一般EOI方式、特殊EOI方式 和自动EOI方式。 3特殊完全嵌套情况 这种情况是因为8259A有级联,因而CPU应发出两个 EOI命令,一个送给主8259A,用来将其主8259A的ISR 寄存器相应位清“0”;另一个送给从8259A,用来将从 8259A中的ISR寄存器相应位清“0”。 Date14 7.3.3 中断触发方式 8259A有三种中断触发方式,分别是电平触发方式、边 沿触发方式和中断查询方式。 1电平触发方式 用高电平请求中断,响应中

7、断后应及时清除高电平,以免产生 多次中断。 2边沿触发方式 用上升沿请求中断,上升后保持高电平,就不会再产生中断。 3中断查询方式 当系统中的中断源很多,超过64个时,则可以使8259A工作在 查询方式下。 Date15 7.4 8259A的编程 Date16 7.4.1 初始化编程 8259A是可编程的中断控制器,8259A是按照事先设置好 的命令字进行工作的。8259A的命令字分为两部分,一部 分是初始化命令字(Initialization Command Word, ICW )ICW1ICW4,另一部分是操作命令字(Operation Command Word, OCW)OCW1OCW3

8、。8259A有2 个内部端口地址,一个偶地址(A00),另一个是奇地 址(A0),用来选择不同的寄存器。 Date17 1初始化命令字ICW1 ICW1应写入偶地址端口,A00,ICW1主要用于设置 IRi端口输入是高电平触发还是上升沿触发,是单片 8259A还是多片8259A,以及是否需要ICW4。 2初始化命令字ICW2 ICW2应写入奇地址端口,A01,主要用于设置8259A 管理的中断源的中断类型码。 Date18 3初始化命令字ICW3 ICW3应写入奇地址端口,A01,主要用于级联设 置。 4初始化命令字ICW4 ICW4应写入奇地址端口,A01,主要用于进一步 设置8259A的工

9、作方式。 Date19 5初始化命令字的设置过程 在初始化过程的开始阶段,首先写入命令字ICW1和 ICW2。当写入ICW1中的SNGL1,才需写入ICW3 。同样当写入ICW1中的IC41,才需写入ICW4。在 单片8259A与8086系统配置时,需写入的初始化命令 字为ICW1、ICW2、ICW4。如果是级联方式,需写 入的初始化命令字为ICW1、ICW2、ICW3和ICW4。 Date20 7.4.2 中断操作编程 在8259A工作期间,可以通过改变操作命令字来控制 8259A的工作状态。8259A一共有3个操作命令字,即 OCW1OCW3。它们和ICW不一样,不需要按照规定的 顺序设定

10、,使用时可以灵活选择不同的操作命令字,实现 不同的功能。但是有一点也需要注意,写入操作命令字时 要分清奇、偶地址。 Date21 1操作命令字OCW1 OCW1写入奇地址端口,A01。OCW1的功能就是用 来设置中断源的屏蔽状态,换句话说就是对8259A的IMR 中的各位进行动态复位或清零。 2操作命令字OCW2 OCW2写入偶地址端口,A00。OCW2的主要功能是 设置中断结束方式和优先级循环方式。 3操作命令字OCW3 OCW3写入偶地址端口,A00。OCW3的主要功能是 设置特殊屏蔽方式和查询方式,并用来控制8259A内部 的状态字IRR、ISR的读出。 Date22 7.5 8259A

11、的应用 Date23 7.5.1 中断系统的应用方法 中断系统是中断控制机构,利用中断系统可以实现数据 的实时传输,也可以用它实现某些危险情况的提示。无 论用于数据的传输控制,还是用于其他操作,应用中断 系统时要完成以下几项任务。 (1)分配合适的中断级。 (2)设计中断请求逻辑。 (3)对8259A初始化。 (4)编写中断服务子程序。 (5)中断向量表初始化。 Date24 7.5.2 8259A寄存器的访问 CPU要对8259A初始化,就必须写入初始化命令字, 对8259A进行操作时需要写入操作命令字,以及有时 要知道IRR、ISR、IMR的内容,就要读8259A的状态 寄存器。这些操作都

12、需要各自的地址,那么8259A地 址是如何进行分配。 Date25 7.5.3 8259A与系统总线的连接与寻址 8259A和CPU系统总线的连接可以按照外设接口与总 线的统一连接方式,将数据线、地址线、控制线分类 进行连接,典型连接如下图所示。 Date26 7.5.4 初始化及操作控制 8259A和CPU相连后,就可以通过命令字对8259A初 始化,以及通过操作命令字对其工作进行操作控制。 8259A的初始化程序如下。 SET8259A:MOV DX,0FF00H MOV AL,00010011B OUT DX,AL MOV DX,0FF02H MOV AL,00011000B OUT D

13、X,AL MOV AL,00000011B OUT DX,AL Date27 7.5.5 8259A的级联 所谓级联,就是在微型计算机系统中,以1片8259A的 INT引脚与CPU的INTR引脚相连,称为主片;再将最 多8片8259A的INT引脚,分别与主8259A的IR0IR7 相连,称为从片。显然,在主-从式8259级联的微机系 统中,系统能够管理的中断源可由8级扩展至64级。 Date28 主-从式8259级联系统的连接,需要注意如下几点: (1)主片的INT引脚接CPU的INTR引脚,从片的INT引脚分别主片的 IRi引脚,使得由从片输入的中断请求,能够通过主片向CPU发出; (2)主

14、片的3条级联线与各从片的同名级联线引脚对接,主片为输出 ,从片为输入。主片用以向各从片发出优先级别最高的中断请求的从 片代码,各从片用该代码与本片的代码进行比较,符合则将本片ICW2 中预先设定中断类型码,送数据总线。 (3)主片的/接5V,从片的/接地。 (4)级连系统中的所有8259A都必须进行各自独立的编程,作为主片 的8259A必须设置为特殊的全嵌套方式,可以避免相同从片中,优先 级较高的中断请求被屏蔽的情况发生。 Date29 与一般的全嵌套方式相比,有两点需要注意: (1)当来自某个从设备的中断请求被响应之后,主片的优先权逻辑不 封锁这个从片,从而可以使来自从设备的较高优先级的中断请求能被 主片正常接受,并向CPU发出。 (2)中断服务结束时,必须用软件来检查被服务的中断是否为该从片 中,唯一的中断请求。为此,需先向从片发一个一般的中断结束命令 ,清除已完成服务的ISR中的相应位,然后,再读出ISR的内容,检查 是否全0,若为全0,则向主片发一个中断结束命令,清除与从设备相 应的ISR中的位;反之,则不向主片发中断结束命令,因为同一从片中 还有其他中断请求正在处理。 Date30

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

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