可编程中断控制器intel 8259a

上传人:wt****50 文档编号:49281650 上传时间:2018-07-26 格式:PPT 页数:39 大小:847KB
返回 下载 相关 举报
可编程中断控制器intel 8259a_第1页
第1页 / 共39页
可编程中断控制器intel 8259a_第2页
第2页 / 共39页
可编程中断控制器intel 8259a_第3页
第3页 / 共39页
可编程中断控制器intel 8259a_第4页
第4页 / 共39页
可编程中断控制器intel 8259a_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《可编程中断控制器intel 8259a》由会员分享,可在线阅读,更多相关《可编程中断控制器intel 8259a(39页珍藏版)》请在金锄头文库上搜索。

1、第7章 输入/输出与中断 7.5 可编程中断控制器Intel 8259A 芯片的特点:-可编写程序控制芯片的多项功能-可提供多中断源的中断类型码-中断源有多种触发方式-可屏蔽/允许输入端的中断源-采用NMOS工艺制造,只需要一组5V电源使用形式:-单片方式可提供8个中断源-级联方式最多提供64个中断源(9片) 第7章 输入/输出与中断 8259A引脚及功能示意图28个DIP封装8个中断源输入8个数据线1位片内地址线3条控制线4条级联线2条中断响应请求线2条电源线 图7.22 8259A引脚第7章 输入/输出与中断 8259A引脚及功能结构与中断源有关(14个)IR7IR0:外部中断源输入引脚I

2、NT:中断请求输出引脚,接8086CPU的INTR:中端响应输入引脚,接8086CPU的CAS0 CAS2:级联选择线SP/EN:级联控制线第7章 输入/输出与中断 8259A引脚及功能结构与CPU有关(12个)D7D0:8位数据传送线INT:中断请求输出引脚,RD、WR:读/写控制线CS:片选控制线A0:片内地址线第7章 输入/输出与中断 7.5.2 8259A的内部结构及外部引脚18259A的内部结构 图7.21 8259A内部结构框图 第7章 输入/输出与中断 中断请求寄存器IRR(Interrupt Request Register),8位,接受并锁存来自IR0IR7的中断请求信号,当

3、IR0IR7上出现某一中断请求信号时,IRR对应位被置1;中断屏蔽寄存器IMR(Interrupt Mask Register),8位,若IRR中记录的各级中断中有任何一级需要屏蔽,只要将IMR的相应位置1即可,未被屏蔽的中断请求进入优先权判别器;中断服务寄存器ISR(In-Service Register),8位,保存当前正在处理的中断请求,例如,如果ISR的D2=1,表示CPU正在为来自IR2的中断请求服务;优先权判别器PR(Priority Resolver)能够将各中断请求中优先级最高者选中,并将ISR中相应位置1。若某中断请求正在被处理,8259A外部又有新的中断请求,则由优先权判别

4、器将新进入的中断请求和当前正在处理的中断进行比较,以决定哪一个优先级更高。若新的中断请求比正在处理的中断级别高,则正在处理的中断自动被禁止,先处理级别高的中断,由PR通过控制逻辑向CPU发出中断申请INT。 第7章 输入/输出与中断 数据总线缓冲器是8259A与系统之间传送信息的数据通道。读/写控制逻辑包含了初始化命令字寄存器和操作命令字寄存器。其功能是确定数据总线缓冲器中数据的传输方向,选择内部的各命令字寄存器。当CPU发读信号时将8259A的状态信息放到数据总线上;当CPU发写信号时,将CPU发来的命令字信息送入指定的命令字寄存器中。级联缓冲/比较器用来存放和比较在系统中用到的所有8259

5、A的级联地址。主控8259A通过CAS0、CAS1和CAS2发送级联地址,选中从控8259A。 第7章 输入/输出与中断 28259A的外部引脚8259A采用28脚双列直插封装形式,如图7.22所示。CS:片选信号,输入,低电平有效,来自地址译码器的输出。只有该信号有效时,CPU才能对8259A进行读/写操作。WR:写信号,输入,低电平有效,通知8259A接收CPU从数据总线上送来的命令字。RD:读信号,输入,低电平有效,用于读取8259A中某些寄存器的内容(如IMR、ISR或IRR)。 第7章 输入/输出与中断 D7D0:双向、三态数据线,接系统数据总线的D7D0,用来传送控制字、状态字和中

6、断类型号等。IR7IR0:中断请求信号,输入,从I/O接口或其他8259A(从控制器)上接收中断请求信号。在边沿触发方式中,IR输入应由低到高,此后保持为高,直到被响应。在电平触发方式中,IR输入应保持高电平。INT:8259A向CPU发出的中断请求信号,高电平有效,该引脚接CPU的INTR引脚。INTA:中断响应信号,输入,接收CPU发来的中断响应脉冲以通知8259A中断请求已被响应,使其将中断类型号送到数据总线上。 第7章 输入/输出与中断 CAS0CAS2:级联总线,输入或输出,用于区分特定的从控制器件。8259A作为主控制器时,该总线为输出,作为从控制器时,为输入。SP/EN:从片/允

7、许缓冲信号,输入或输出,该引脚为双功能引脚。在缓冲方式中(即8259A通过一个数据总线收发器与系统总线相连),该引脚被用做输出线,控制收发器的接收或发送;在非缓冲方式中,该引脚作为输入线,确定该8259A是主控制器(SP/EN1)还是从控制器(SP/EN0)。8259A的级联方式如图7.23所示。 A0为地址输入信号,用于对8259A内部寄存器端口的寻址。第7章 输入/输出与中断 7.5.3 8259A的工作过程初始化工作过程8259初始化是由CPU发送2-4个初始化命令字ICW来实现的。接受外设中断请求初始化后8259进入正常工作状态。当外部中断源通过IRn引脚向 8259发出有效中断请求时

8、,8259会自动将其内部中断请求寄存器 IRR的相应位置1以记录并保持外设的中断请求。中断屏蔽判断中断请求寄存器IRR中的被置位与中断屏蔽寄存器IMR的相应位 比较,如果没有被屏蔽,信号被送入优先级分析器。第7章 输入/输出与中断 中断判断中断请求进入优先权分析器PR后,PR将其中的最高优先权与服 务状态寄存器ISR中正在处理的中断优先权比较以确定是否通过 INT脚向CPU送出中断请求信号。中断响应CPU接受到8259的中断请求后,如果CPU内的中断允许标志IF=1 ,则在当前指令执行完后进入中断相应周期。第7章 输入/输出与中断 注意: CPU收到中断请求后,若IF=1,则CPU完成当前指令

9、后,响应中断,即执行两个中断响应总线周期,在 引脚上发出两个负脉冲。8259A收到第一个负脉冲后,使IRR锁存功能失效,不接受IR0IR7上的中断请求信号;直到第二个负脉冲结束后,才又使IRR锁存功能有效,并清除IRR的相应位,使ISR的对应位置1,以便为优先级裁决器以后的裁决提供依据。收到第二个负脉冲后,8259A把当前中断的中断类型号送到D7D0,CPU根据此类型号进入相应的中断服务程序。第7章 输入/输出与中断 中断结束如果8259初始化为中断自动结束方式,即ICW4 的AEOI=1,在第 二个负脉冲结束时,ISR中的被第一个负脉冲置位的位即被复位 。如果8259初始化为非自动结束中断方

10、式,即ICW4 的AEOI=0,则 等到中断结束命令送到OCW2后,才清除ISR中的相应位,表明 中断服务程序结束。第7章 输入/输出与中断 7.5.4 8259A的编程8259A是可编程的中断控制器,它的工作状态和操作方式是由 CPU通过命令字进行控制的。8259A有两类命令字初始化命令 字ICW(Initialization Command Words)和操作命令字OCW(Operation Command Words)。相应地,在8259A的控制部分有7个CPU可访问 的寄存器,这些寄存器分成两组:一组用做存ICW,另一组存OCW 。当计算机刚启动时,用初始化程序设定ICW,即由CPU按

11、次序发 送24个不同格式的ICW,用来建立起8259A操作的初始状态,此后 的整个工作过程中该状态保持不变。相反,操作命令字(OCW)用于 动态控制中断处理,是在需要改变或控制8259A操作时随时发送的 。每片8259A有2个片内地址A0=0和A0=1,所有的命令字都是通过 这两个端口来发送的。注意,当发出ICW或OCW时,CPU中断申请 引脚INTR应关闭(使用CLI指令)。第7章 输入/输出与中断 1初始化命令字1) ICW1ICW1主要用于设置芯片控制方式,其格式及各位的定义如图7.24所示。 图7.24 ICW1的作用 第7章 输入/输出与中断 对A0=0的端口写入一个D4=1的数据,

12、表示初始化编程开始。D4:特征位,必须为1;D3:LTIM位,设置中断请求信号的触发方式,0为边沿触发,1为高电平触发。D1:SGNL位,是否工作在单片方式,0为多片级联,1为单片。D0:IC4 位,是否有ICW4,0表示后面不需设置命令字ICW4,1表示后面还需要设置ICW4。D2和D7D5这4位在仅对8080/8085系统有意义,8086/8088系统中这4位不用,通常置为0。 第7章 输入/输出与中断 2) ICW2ICW2用于设置中断类型号,写入A0=1的端口,其格式如图7.25所示。 图7.25 ICW2的作用 第7章 输入/输出与中断 在8086/8088系统中,只设置D7D3,即

13、只需设置中断类型号的高5位,编程时D2D0的值可任意设定(通常设为0),D2D0的实际内容由8259A根据中断请求来自IR0IR7的哪一个输入端,自动填充为000111中的某一组编码,与高5位一同构成8位的中断类型号。例如,在PC/XT中ICW2为00001000B,则对于从IR0、IR1、IR2、IR3、IR4、IR5、IR6和IR7上引入的各中断请求,其相应的中断类型号为08H、09H、0AH、0BH、0CH、0DH、0EH和0FH。 第7章 输入/输出与中断 3) ICW3ICW3用于设置级联,写入A0=1的端口,格式如图7.26所示。 图7.26 ICW3的作用 第7章 输入/输出与中

14、断 只有当系统中有级联(ICW1的SNGL位为0)时,才写入ICW3。对于主片,ICW3的S0S7指明了IR0IR7各引脚连接从片的情况,置1的位表示对应的引脚有从片级联。例如,若主片ICW3的内容为07H(00000111B)时,说明主片的IR0、IR1、IR2上连有从片。对于从片,ICW3的D7D3不用,置0即可;用D2D0表示与主片的对应引脚级联,例如,若某从片ICW3的内容为07H,说明该从片的INT引脚与主片的IR7相连。 第7章 输入/输出与中断 4) ICW4ICW4用于设置8259A的工作方式,写入A0=1的端口,格式如图7.27所示。ICW1的IC4位为1时,才写入ICW4。

15、 图7.27 ICW4的作用 第7章 输入/输出与中断 D4:SFNM位,设置中断的嵌套方式,0为一般嵌套方式,1为特殊的全嵌套方式。D3:BUF位,若该位为1,则8259A工作于缓冲方式,8259A通过数据总线收发器和总线相连,SP/EN引脚为输出;该位为0,8259A工作于非缓冲方式,SP/EN引脚为输入,用做主片、从片选择端。D2:M/S位,当D3即BUF位为1时,该位才有效,用于主片/从片选择,0表示本片8259A为从片,1表示本片8259A为主片;当BUF位为0时,该位无效,可设为任意值。 第7章 输入/输出与中断 D1:AEOI位,设置结束中断方式。0表示中断正常结束,靠中断结束指

16、令清除ISR相应位;1表示自动结束中断,即CPU响应中断后,立即自动清除ISR相应位。D0:PM位,设置微处理器类型。0表示系统采用8080/8085微处理器;1表示系统采用8086/8088微处理器。 第7章 输入/输出与中断 2初始化编程8259A初始化流程图如图7.28所示。任何一种8259A的初始化都必须发送ICWl和ICW2,只有在ICWl中指明需要ICW3和ICW4以后,才发送ICW3和ICW4。一旦初始化以后,若要改变某一个ICW,则必须重新再进行初始化编程,不能只是写入单独的一个ICW。例如,PC/AT机中8259A的主片定义为:上升沿触发、在IR2级联从片、有ICW4、非AEOI方式、中断类型号08H0FH、一般的中断嵌套方式、端口地址是20H、21H;从片定义为:上升沿触发、级联到主片的IR2、有ICW4、非AEOI方式、中断类型号为70H78H、一般的中

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

最新文档


当前位置:首页 > 机械/制造/汽车 > 机械理论及资料

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