第3章中断汇总.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.读8259A状态 读8259A的状态是指读8259A内部的IRR、ISR和IMR的内容。 (1)读IRR。先发出OCW3命令(使RR=1、RIS=0,地址A0=0),在下一个 脉冲时可读出IRR,其中包含尚未被响应的中断源情况。 (2)读ISR。先发出OCW3命令(使RR=1、RIS=1,地址A0=0),在下一个 脉冲时可读出ISR,其中包含正在服务的中断源情况,也可看中断嵌套情况。 (3)读IMR。不必先发OCW3,只要读奇地址端口(A0=l),则可读出IMR,其中包含设置的中断屏蔽情况。 7.中断请求触发方式 8259A的中断请求寄存器IRR中有8个中断请求触发器,分别对应8个中断请求信号的输入端IR0-IR7,这些触发器的触发方式有两种,即边沿触发和电平触发。 (1)边沿触发 当输入端有从低电平到高电平的正跳变时,则产生中断请求(IRR中相应位的触发器被触发置“1”,而不是直接向CPU申请中断)。此后,即使输入端仍然保持高电平也不会再产生中断。也就是说,只有正跳沿才能产生中断。 边沿触发方式由ICW1的LTIM=0确定。 (2)电平触发 当输入端产生高电平时产生中断请求。只要高电平就可以,不需要脉冲跳变。但需要注意的是,在电平触发方式下,在发出EOI命令以前,必须去掉中断请求信号(使其变为低电平),否则将产生第二次中断。 8.缓冲器方式 所谓缓冲器方式就是在8259A和数据总线之间挂接总线驱动器的方式,在缓冲器方式下, 引脚将使用功能,并使之输出一个有效低电平,开启缓冲器工作。该方式多用于级联的大系统。 缓冲器方式由ICW4的BUF=1确定。 9.特殊的全嵌套方式 该方式适用于多片级连,且必须将优先级保存在各从片8259A中的大系统。该方式与普通的全嵌套方式工作情况基本相同,区别在于两点: (1)当某从片的一个中断请求被CPU响应后,该从片的中断仍未被禁止(即没有被屏蔽),即该从片中的高级中断仍可提出申请(全嵌套方式中这样的中断是被屏蔽的,因为这种中断对从片而言后者是高级中断,可以嵌套,但对主片而言,由于它们来自于同一个从片,故中断优先级相同,而在全嵌套方式中,同级和低级中断是被禁止的)。 (2)在某个中断源退出中断服务程序之前,CPU要用软件检查它是否是这个从片中的唯一中断。检查办法是:送一个非特殊中断结束命令(EOI)给这个从片,然后读它的ISR,检查是否为0,若为0则唯一,即只有这一个中断在被服务,没有嵌套。若不为0则不唯一,说明还有其他的中断在被服务,该中断是嵌套在其他中断里的。只有唯一时,才能把另一个非特殊EOI命令送至主片,结束此从片的中断。否则,如果过早地结束主片的工作记载而从片尚有未处理完的嵌套中断的话,整个系统的中断嵌套环境就会混乱。 10.多片级联方式 在级联系统中,每个从片的中断请求输出线INT直接连到主片的某个中断请求输入线上,主片的CAS0-CAS2是输出线,输出被响应的从片代码,从片的CAS0-CAS2是输入线,接收主片发出的从片代码,以便与自身代码相比较。级联方式的要点如下: (1)一个8259A主片至多带8个从片,可扩展至64级。 (2)缓冲方式下,主片和从片的设定由ICW4的M/S位确定,M/S=1是主片,M/S=0是从片。M/S的状态在BUF=l时有意义。 (3)在非缓冲方式下,主片和从片由 引脚的功能确定,=1是主片,=0是从片。 (4)在级联系统中,主片的三条级联线相当于从片的片选信号,从片的INT是主片的中断请求输入信号。 (5)主片和从片需要分别进行初始化操作,可设定为不同的工作方式。 3.3.3 8259A的编程 8259A是一个可编程器件,为了使8259A实现预定的中断管理功能,按预定的方式工作,就必须对它进行初始化编程。所谓初始化编程是指系统在上电或复位后对可编程器件进行控制字设定的一段程序。8259A的命令控制字包括两个部分,即初始化命令字和操作命令字。初始化命令字一般在系统复位后的初始化编程中设置,用于确定8259A的基本工作方式,设置以后一般保持不变。操作命令是在初始化以后的正常工作中写入的,它实现对8259A的状态、中断方式和过程的动态控制,在工作中可随时写入操作命令字以修改某些控制方式。 8259A内部有7个寄存器,分为两组:初始化命令寄存器组和操作命令寄存器组。初始化命令寄存器组包括4个寄存器:ICW1-ICW4对应的寄存器。操作命令寄存器组包括3个寄存器:OCW1-OCW3对应的寄存器。 1.初始化命令字 初始化命令字有4个:ICW1、ICW2、ICW3、ICW4。8259A在进入正常工作之前,必须将系统中的每一个8259

文档评论(0)

502992 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档