微机原理16.§7.4 8259Appt课件_第1页
微机原理16.§7.4 8259Appt课件_第2页
微机原理16.§7.4 8259Appt课件_第3页
微机原理16.§7.4 8259Appt课件_第4页
微机原理16.§7.4 8259Appt课件_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、17.4 可编程序中断控制器可编程序中断控制器8259A第七章 中断一、8259A内部结构8259A可编程中断控制器(PIC)可管理8级硬件中断,使用9片8259A构成主从级联形式,可管理64级中断。1. 8259A内部结构内部结构8259A的结构如图所示,由中断请求寄存器的结构如图所示,由中断请求寄存器(IRR)、中断服务寄存器、中断服务寄存器(ISR)、中断屏蔽寄存器、中断屏蔽寄存器(IMR)、优先权判别器、优先权判别器(PR)、数据总线缓冲器、数据总线缓冲器、读写电路以及级联缓冲读写电路以及级联缓冲/比较器等组成。比较器等组成。(分为分为8部分部分)27.4 7.4 可编程序中断控制器可

2、编程序中断控制器8259A8259A一、一、8259A8259A内部结构内部结构中断服务寄存器(ISR)中断请求寄存器(IRR)优先权判别器(PR)中断屏蔽寄存器(IMR)控制逻辑数据总线缓冲器读/写控制电路级 联缓冲/比较器D7D0CSCAS0CAS1CAS2RDWRA0SP/ENIR0IR1IR2IR6IR7.INTINTA内部总线3各部分功能如下:中断请求寄存器中断请求寄存器IRR用来存放由外设输入的中断请求信号,其用来存放由外设输入的中断请求信号,其8位对应位对应8级级中断请求中断请求IR7IR0,有请求时相应位置,有请求时相应位置1。中断服务寄存器中断服务寄存器ISR用来存放正在处理

3、的中断请求,当任何一级中断被响应,用来存放正在处理的中断请求,当任何一级中断被响应,CPU正在执行其中断服务程序时,正在执行其中断服务程序时,ISR的相应位置的相应位置1,直到其中断处理过程,直到其中断处理过程结束为止。结束为止。中断屏蔽寄存器中断屏蔽寄存器IMR用来存放对各级中断请求的屏蔽信息,该寄存器某位置用来存放对各级中断请求的屏蔽信息,该寄存器某位置1时,表示禁止这一级中断请求进入系统。时,表示禁止这一级中断请求进入系统。一、一、8259A8259A内部结构内部结构7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A4优先权判别器优先权判别器PR是是8259A中断控

4、制器的核心。对来自中断控制器的核心。对来自IRR且未被屏蔽且未被屏蔽的中断请求排队,选出优先权最高者与的中断请求排队,选出优先权最高者与ISR内容比较,判断是否发内容比较,判断是否发INT。数据总线缓冲器是双向三态数据总线缓冲器是双向三态8位缓冲器,用于连接系统数据总线和位缓冲器,用于连接系统数据总线和8259A内部总线,传递内部总线,传递CPU发送的控制信息,返回发送的控制信息,返回8259A的状态信息。的状态信息。一、一、8259A8259A内部结构内部结构读读/写控制电路用来接收写控制电路用来接收CPU发出的读发出的读/写命令,实现对写命令,实现对8259A的读的读/写写操作。操作。7.

5、4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A5级联缓冲级联缓冲/比较器用于实现多片比较器用于实现多片8259A片与片之间的级联,扩充管理的片与片之间的级联,扩充管理的中断源的范围。中断源的范围。一、一、8259A8259A内部结构内部结构控制逻辑对控制逻辑对8259A芯片内部的工作进行控制,使其按编程的规定工作。芯片内部的工作进行控制,使其按编程的规定工作。7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A62. 8259A引脚信号引脚信号8259A是一个使用是一个使用+5V电源的电源的28脚双列直插芯片。脚双列直插芯片。IR0IR7中断请求输入信

6、号,一般中断请求输入信号,一般IR0优先级最高,优先级最高,IRQ7最低,但优先级可最低,但优先级可由编程改变。由编程改变。INT中断请求输出信号,接中断请求输出信号,接CPU的的INTR引脚。引脚。INTA中断响应,由此脚接收来自中断响应,由此脚接收来自CPU的中断响应信号。的中断响应信号。CS片选,当片选,当CS有效时,该芯片工作。有效时,该芯片工作。一、一、8259A8259A内部结构内部结构WR写信号,有效时写信号,有效时CPU将命令字写入将命令字写入8259A。7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A7RD读信号,有效时读出读信号,有效时读出8259A

7、的内部寄存器。的内部寄存器。A0用来指出访问用来指出访问8259A的哪个端口。的哪个端口。SP/EN此引脚具有双向功能。作为输入时,用来决定本片是主片还是从片,此引脚具有双向功能。作为输入时,用来决定本片是主片还是从片,为为1则为主片,否则为从片;作为输出时,则为主片,否则为从片;作为输出时,SP/EN接数据总线驱动器的选通接数据总线驱动器的选通端,启动数据总线驱动器。端,启动数据总线驱动器。一、一、8259A8259A内部结构内部结构CAS2 CAS0级联信号线。当级联信号线。当8259A作主片时为输出线,作从片时为输入作主片时为输出线,作从片时为输入线。线。7.4 7.4 可编程序中断控制

8、器可编程序中断控制器8259A8259A8二、二、8259A的工作过程的工作过程1. 接收接收IR0IR7的请求,的请求,IRR对应位置对应位置1;根据根据IMR的对应位决定是否让此请求通过。的对应位决定是否让此请求通过。IMR的值可通过编程设置,的值可通过编程设置,能否向能否向CPU发发INT还要看还要看ISR;2.PR将此请求与将此请求与ISR的内容比较决定是否发的内容比较决定是否发INT;3.7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A9二、二、8259A8259A工作过程工作过程 ISR相应位置1; IRR相应位清相应位清0。 中断类型码送中断类型码送CPU

9、; 如果工作在自动结束方式,清如果工作在自动结束方式,清ISR对应位。对应位。IRR锁存失效,不接收请求,第二个锁存失效,不接收请求,第二个INTA来时恢复;来时恢复;CPU收到收到INT,当,当IF=1,指令末尾发来第一个,指令末尾发来第一个INTA:4.5. 第二个第二个INTA到来:到来:7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A10三、三、8259A的工作方式的工作方式1. 设置优先级的方式设置优先级的方式 全嵌套方式全嵌套方式固定优先级,固定优先级,0级最高,级最高,7级最低,其余类推,可响应更高级别的中断。级最低,其余类推,可响应更高级别的中断。 特殊

10、全嵌套方式特殊全嵌套方式和全嵌套方式基本相同,只有一点不一样,就是在特殊全嵌套方式下,和全嵌套方式基本相同,只有一点不一样,就是在特殊全嵌套方式下,当处理某一中断时,如果有同级的中断请求,也会给予响应。一般用当处理某一中断时,如果有同级的中断请求,也会给予响应。一般用于级联的主片。于级联的主片。7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A11 优先级自动循环方式优先级自动循环方式一般用在系统中多个中断源优先级相等的场合。在此方式下,优先级队列一般用在系统中多个中断源优先级相等的场合。在此方式下,优先级队列是变化的,一个设备执行中断后,其优先级自动降为最低。是变化的,

11、一个设备执行中断后,其优先级自动降为最低。三、三、8259A8259A工作方式工作方式 优先级特殊循环方式优先级特殊循环方式和优先级自动循环方式比,只有一点不同,即在此方式下,开始的最低优和优先级自动循环方式比,只有一点不同,即在此方式下,开始的最低优先级由编程决定。先级由编程决定。7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A122. 屏蔽中断源的方式屏蔽中断源的方式 普通屏蔽方式普通屏蔽方式通过设置使中断屏蔽寄存器某一位置通过设置使中断屏蔽寄存器某一位置1,就屏蔽了某一级中断。,就屏蔽了某一级中断。 特殊屏蔽方式特殊屏蔽方式通过设置使通过设置使IMR某一位置某一位

12、置1,同时清零,同时清零ISR的对应位,以便屏蔽本级,的对应位,以便屏蔽本级,开放较低级。开放较低级。三、三、8259A8259A工作方式工作方式6.4 6.4 可编程序中断控制器可编程序中断控制器8259A8259A133. 结束中断的方式结束中断的方式 自动结束方式自动结束方式三、三、8259A8259A工作方式工作方式此方式下,当此方式下,当8259A收到第二个收到第二个INTA后,自动清除当前后,自动清除当前ISR中的对应位。中的对应位。它只能用于单片它只能用于单片8259A系统,且多个中断不嵌套的情况。系统,且多个中断不嵌套的情况。 非自动结束方式非自动结束方式 一般中断结束方式一般

13、中断结束方式用于全嵌套方式,通过写用于全嵌套方式,通过写OCW2,使其,使其EOI=1,SL=0,R=0实现。这时实现。这时ISR中优先权最高的位清中优先权最高的位清0,结束当前正在处理的中断。,结束当前正在处理的中断。7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A14 特殊中断结束方式特殊中断结束方式用于非全嵌套方式,发特殊中断结束命令。写用于非全嵌套方式,发特殊中断结束命令。写OCW2使其使其EOI=1,SL=1,R=0即可,此时由即可,此时由L2、 L1 、L0三位指出三位指出Isi。三、三、8259A8259A工作方式工作方式v级连方式下,一般不用中断自动结束

14、方式,而用非自动结束方式。不管用级连方式下,一般不用中断自动结束方式,而用非自动结束方式。不管用那一种非自动结束方式,都必须连发两次中断结束命令,一次对主片,一那一种非自动结束方式,都必须连发两次中断结束命令,一次对主片,一次对从片。次对从片。7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A154. 连接系统总线的方式连接系统总线的方式 缓冲方式缓冲方式在多片在多片8259A级联的大系统中,级联的大系统中,8259A通过总线驱动器和系统总线相通过总线驱动器和系统总线相连,此即缓冲方式。连,此即缓冲方式。三、三、8259A8259A工作方式工作方式 非缓冲方式非缓冲方式单

15、片单片8259A或一些不太大的系统中,或一些不太大的系统中,8259A与系统总线直接相连,此即与系统总线直接相连,此即非缓冲方式。非缓冲方式。7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A165. 中断触发方式中断触发方式 边沿触发方式边沿触发方式中断请求输入端的上升沿作为中断请求信号。中断请求输入端的上升沿作为中断请求信号。 电平触发方式电平触发方式中断请求输入端的高电平作为中断请求信号。中断请求输入端的高电平作为中断请求信号。三、三、8259A8259A工作方式工作方式 中断查询方式中断查询方式利用软件查询中断源。利用软件查询中断源。7.4 7.4 可编程序中断控

16、制器可编程序中断控制器8259A8259A17四、四、8259A编程编程8259A有两个端口地址,一个偶地址有两个端口地址,一个偶地址(A0=0),一个奇地址,一个奇地址(A0=1) ,并假,并假定偶地址较低,奇地址较高。定偶地址较低,奇地址较高。8259A工作时先初始化,给工作时先初始化,给8259A设置初始化命令字设置初始化命令字(ICWi),然后,然后8259A自动开始工作;工作过程中,可通过操作命令字自动开始工作;工作过程中,可通过操作命令字(OCWi) 动态改动态改变变8259A的操作和控制方式。的操作和控制方式。7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259

17、A181. 初始化命令字初始化命令字四、四、8259A8259A编程编程SNGL=1?IC4=0?ICW1ICW2ICW3ICW4可中断NYYN8259A的初始化命令字共的初始化命令字共4个个(ICW1ICW4),其,其中中ICW1和和ICW2必须设置,必须设置, ICW3级联时才需要,级联时才需要, ICW4只在只在8086/8088系统中需要设置,其设置流系统中需要设置,其设置流程如右图所示。程如右图所示。v初始化命令字必须按顺序写入。通常它在系统初始化命令字必须按顺序写入。通常它在系统启动过程中即已完成,而且在系统整个工作期启动过程中即已完成,而且在系统整个工作期间保持不变。间保持不变。

18、7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A19四、四、8259A8259A编程编程 ICW1芯片控制初始化命令字,写入偶地址端口芯片控制初始化命令字,写入偶地址端口(A0=0),其格式如下:,其格式如下:1 LTIMSNGLADIIC40A07 6 5 432101:需要设置ICW40:不需要设置ICW41:单级使用0:级联使用1:调用地址间隔为40:调用地址间隔为8(8086不用)1:电平触发0:边沿触发8086不用 标志位7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A20设置中断类型码,写入奇地址端口设置中断类型码,写入奇地址端口(A

19、0=1),其格式如下:,其格式如下:四、四、8259A8259A编程编程 ICW2T7T6T51A07 6 5 4 32 1 0T4T3中断类型码的高5位最低最低3位为位为IR的编码。的编码。7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A21四、四、8259A8259A编程编程 ICW3主主/从片初始化命令字,只对级联方式有效,写入奇地址端口从片初始化命令字,只对级联方式有效,写入奇地址端口(A0=1),其格式如下:,其格式如下: 对主片,说明对主片,说明IRi的连接情况。的连接情况。 对从片,说明该片连到主片的哪个端。对从片,说明该片连到主片的哪个端。S7S6S51

20、A07 6 5 4 32 1 0S4S3S2S1S00:表示IRi端上未接从8259A1:表示IRi端上接有从8259ASi1A07 6 5 4 3210ID2ID1ID07.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A22四、四、8259A8259A编程编程 ICW4方式控制命令字,方式控制命令字,8086/8088必须设置,写入奇地址端口必须设置,写入奇地址端口(A0=1),其格式如下:其格式如下:0 0 0 SFNMBUFAEOIM/SPM1A07 6 5432101:8086/8088配置0:8080/8085配置1:自动EOI方式0:非自动EOI方式1:特殊全

21、嵌套方式0:非特殊全嵌套方式非缓冲方式主8259A缓冲方式从8259AX0011 17.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A23四、四、8259A8259A编程编程某系统中某系统中8259A单级使用,端口地址为单级使用,端口地址为80H,81H,初始化命令,初始化命令如下:如下:例:例:MOVAL, 13HOUT80H, ALMOVAL, 18HOUT81H, ALMOVAL, 0DHOUT81H, AL;00010011:;00010011:边沿触发边沿触发, ,单片单片, ,需需ICWICW4 4;ICW;ICW1 1; ;类型码为类型码为18H18H1FH

22、1FH;ICW;ICW2 2;00001101:8086;00001101:8086系统系统, ,非自动非自动EOIEOI,主片,主片, ,缓冲缓冲方式方式, ,普通全嵌套普通全嵌套;ICW;ICW4 47.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A24四、四、8259A8259A编程编程2. 操作命令字操作命令字8259A有有3个操作命令字个操作命令字(OCW1OCW3),在应用程序内部设置,可多次,在应用程序内部设置,可多次写入。设置时次序上没有严格要求,但端口有严格规定,写入。设置时次序上没有严格要求,但端口有严格规定,OCW1为奇地为奇地址,址,OCW2和和O

23、CW3为偶地址。为偶地址。 OCW1中断屏蔽命令字,写入奇地址端口中断屏蔽命令字,写入奇地址端口(A0=1),其格式如下:,其格式如下:若某位为若某位为1,则该位中断请求被屏蔽。,则该位中断请求被屏蔽。M7M6M51A07 6 5 4 32 1 0M4M3M2M1M01:屏蔽由IRi引入的中断请求0:允许IRi端中断请求进入Mi7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A25四、四、8259A8259A编程编程 OCW2优先级循环方式及中断结束方式命令字,写入偶地址端口优先级循环方式及中断结束方式命令字,写入偶地址端口(A0=0),其格式如下:其格式如下:RSLEO

24、I 0 0L1L2L00A07654 3210000:IR0001:IR1010:IR2011:IR3100:IR4101:IR5110:IR6111:IR7001:普通EOI方式011:特殊EOI方式101:普通EOI循环方式111:特殊EOI循环方式000:自动EOI循环(复位)100:自动EOI循环(置位)110:置位优先权命令010:无效标志位1:优先级循环方式优先级循环方式R0:非循环方式非循环方式EOI:中断结束方式位,为中断结束方式位,为1则则清清ISR的对应位的对应位ISiSL:决定决定L2、L1、L0是否有效,是否有效,为为1则有效,否则无效则有效,否则无效7.4 7.4 可

25、编程序中断控制器可编程序中断控制器8259A8259A26四、四、8259A8259A编程编程 OCW3写入偶地址端口写入偶地址端口(A0=0),其格式如下:,其格式如下:功能功能设置和撤销特殊屏蔽设置和撤销特殊屏蔽设置中断查询方式设置中断查询方式设置对设置对8259A内部寄存器的读命令内部寄存器的读命令CSMM SMM 0 1RRPRIS0A07654 32100X:无效10:下次RD有效,读IRR11:下次RD有效,读ISR1:查询8259A状态0:不查询0X:无效10:特殊屏蔽方式复位11:特殊屏蔽方式置位标志位7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A27

26、四、四、8259A8259A编程编程中断状态字的格式如下:中断状态字的格式如下:IRL1L2L00A076543210给出当前处理的最高优先级IRi0:无中断请求1:有中断请求读读IRR及及ISR时,从偶地址端口读取。时,从偶地址端口读取。若要读若要读IMR,可通过输入指令,直接从奇地址端口读取,而与,可通过输入指令,直接从奇地址端口读取,而与OCW3无关。无关。7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A28四、四、8259A8259A编程编程两个端口如何对应两个端口如何对应7条命令?条命令?偶地址:偶地址:ICW1,OCW2,OCW3D4=1:ICW1D4=0D

27、3=0:OCW2D3=1:OCW3奇地址:奇地址:ICW2,ICW3,ICW4,OCW1按顺序,一定先有按顺序,一定先有ICW1,然后决定:,然后决定:ICW2,ICW3,ICW4顺序顺序 级联级联 D0没有执行过没有执行过ICW1的奇地址则为的奇地址则为OCW17.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A29五、五、8259A应用举例应用举例IR6IR5IR4IR3IR2IR1IR0IR7D7D0RDWRINTACS A0CAS2CAS1CAS0SP/ENINTSP/ENIR6IR5IR4IR3IR2IR1IR0IR7CAS2CAS1CAS0D7D0RDWRINTACS A0INT+5V从主外部中断请求外部中断请求某系统中设置两片8259A实现中断控制,它们之间采用级联方

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论