微机原理16.7.48259Appt课件

上传人:鲁** 文档编号:568586618 上传时间:2024-07-25 格式:PPT 页数:32 大小:892KB
返回 下载 相关 举报
微机原理16.7.48259Appt课件_第1页
第1页 / 共32页
微机原理16.7.48259Appt课件_第2页
第2页 / 共32页
微机原理16.7.48259Appt课件_第3页
第3页 / 共32页
微机原理16.7.48259Appt课件_第4页
第4页 / 共32页
微机原理16.7.48259Appt课件_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《微机原理16.7.48259Appt课件》由会员分享,可在线阅读,更多相关《微机原理16.7.48259Appt课件(32页珍藏版)》请在金锄头文库上搜索。

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

2、编程序中断控制器8259A8259A一、一、8259A8259A内部结构内部结构2各部分功能如下:中断请求寄存器中断请求寄存器IRR用来存放由外设输入的中断请求信号,其用来存放由外设输入的中断请求信号,其8位对应位对应8级中断请求级中断请求IR7IR0,有请求时相应位置,有请求时相应位置1。中断服务寄存器中断服务寄存器ISR用来存放正在处理的中断请求,当任何一级中断被响应,用来存放正在处理的中断请求,当任何一级中断被响应,CPU正正在执行其中断服务程序时,在执行其中断服务程序时,ISR的相应位置的相应位置1,直到其中断处理过程结束为止。,直到其中断处理过程结束为止。中断屏蔽寄存器中断屏蔽寄存器

3、IMR用来存放对各级中断请求的屏蔽信息,该寄存器某位置用来存放对各级中断请求的屏蔽信息,该寄存器某位置1时,表时,表示禁止这一级中断请求进入系统。示禁止这一级中断请求进入系统。一、一、8259A8259A内部结构内部结构7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A3优先权判别器优先权判别器PR是是8259A中断控制器的核心。对来自中断控制器的核心。对来自IRR且未被屏蔽的中断请且未被屏蔽的中断请求排队,选出优先权最高者与求排队,选出优先权最高者与ISR内容比较,判断是否发内容比较,判断是否发INT。数据总线缓冲器是双向三态数据总线缓冲器是双向三态8位缓冲器,用于连接

4、系统数据总线和位缓冲器,用于连接系统数据总线和8259A内部内部总线,传递总线,传递CPU发送的控制信息,返回发送的控制信息,返回8259A的状态信息。的状态信息。一、一、8259A8259A内部结构内部结构读读/写控制电路用来接收写控制电路用来接收CPU发出的读发出的读/写命令,实现对写命令,实现对8259A的读的读/写操作。写操作。7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A4级联缓冲级联缓冲/比较器用于实现多片比较器用于实现多片8259A片与片之间的级联,扩充管理的中断源的片与片之间的级联,扩充管理的中断源的范围。范围。一、一、8259A8259A内部结构内部

5、结构控制逻辑对控制逻辑对8259A芯片内部的工作进行控制,使其按编程的规定工作。芯片内部的工作进行控制,使其按编程的规定工作。7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A52. 8259A引脚信号引脚信号8259A是一个使用是一个使用+5V电源的电源的28脚双列直插芯片。脚双列直插芯片。IR0IR7中断请求输入信号,一般中断请求输入信号,一般IR0优先级最高,优先级最高,IRQ7最低,但优先级可由编程改变。最低,但优先级可由编程改变。INT中断请求输出信号,接中断请求输出信号,接CPU的的INTR引脚。引脚。INTA中断响应,由此脚接收来自中断响应,由此脚接收来自C

6、PU的中断响应信号。的中断响应信号。CS片选,当片选,当CS有效时,该芯片工作。有效时,该芯片工作。一、一、8259A8259A内部结构内部结构WR写信号,有效时写信号,有效时CPU将命令字写入将命令字写入8259A。7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A6RD读信号,有效时读出读信号,有效时读出8259A的内部寄存器。的内部寄存器。A0用来指出访问用来指出访问8259A的哪个端口。的哪个端口。SP/EN此引脚具有双向功能。作为输入时,用来决定本片是主片还是从片,为此引脚具有双向功能。作为输入时,用来决定本片是主片还是从片,为1则为则为主片,否则为从片;作为输

7、出时,主片,否则为从片;作为输出时,SP/EN接数据总线驱动器的选通端,启动数据总线接数据总线驱动器的选通端,启动数据总线驱动器。驱动器。一、一、8259A8259A内部结构内部结构CAS2 CAS0级联信号线。当级联信号线。当8259A作主片时为输出线,作从片时为输入线。作主片时为输出线,作从片时为输入线。7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A7二、二、8259A的工作过程的工作过程1. 接收接收IR0IR7的请求,的请求,IRR对应位置对应位置1;根据根据IMR的对应位决定是否让此请求通过。的对应位决定是否让此请求通过。IMR的值可通过编程设置,能否向的值

8、可通过编程设置,能否向CPU发发INT还要看还要看ISR;2.PR将此请求与将此请求与ISR的内容比较决定是否发的内容比较决定是否发INT;3.7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A8二、二、8259A8259A工作过程工作过程 ISR相应位置1; IRR相应位清相应位清0。 中断类型码送中断类型码送CPU; 如果工作在自动结束方式,清如果工作在自动结束方式,清ISR对应位。对应位。IRR锁存失效,不接收请求,第二个锁存失效,不接收请求,第二个INTA来时恢复;来时恢复;CPU收到收到INT,当,当IF=1,指令末尾发来第一个,指令末尾发来第一个INTA:4.

9、5. 第二个第二个INTA到来:到来:7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A9三、三、8259A的工作方式的工作方式1. 设置优先级的方式设置优先级的方式 全嵌套方式全嵌套方式固定优先级,固定优先级,0级最高,级最高,7级最低,其余类推,可响应更高级别的中断。级最低,其余类推,可响应更高级别的中断。 特殊全嵌套方式特殊全嵌套方式和全嵌套方式基本相同,只有一点不一样,就是在特殊全嵌套方式下,当处理和全嵌套方式基本相同,只有一点不一样,就是在特殊全嵌套方式下,当处理某一中断时,如果有同级的中断请求,也会给予响应。一般用于级联的主片。某一中断时,如果有同级的中断请求

10、,也会给予响应。一般用于级联的主片。7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A10 优先级自动循环方式优先级自动循环方式一般用在系统中多个中断源优先级相等的场合。在此方式下,优先级队列是变化的,一般用在系统中多个中断源优先级相等的场合。在此方式下,优先级队列是变化的,一个设备执行中断后,其优先级自动降为最低。一个设备执行中断后,其优先级自动降为最低。三、三、8259A8259A工作方式工作方式 优先级特殊循环方式优先级特殊循环方式和优先级自动循环方式比,只有一点不同,即在此方式下,开始的最低优先级由编和优先级自动循环方式比,只有一点不同,即在此方式下,开始的最低优

11、先级由编程决定。程决定。7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A112. 屏蔽中断源的方式屏蔽中断源的方式 普通屏蔽方式普通屏蔽方式通过设置使中断屏蔽寄存器某一位置通过设置使中断屏蔽寄存器某一位置1,就屏蔽了某一级中断。,就屏蔽了某一级中断。 特殊屏蔽方式特殊屏蔽方式通过设置使通过设置使IMR某一位置某一位置1,同时清零,同时清零ISR的对应位,以便屏蔽本级,开放较低的对应位,以便屏蔽本级,开放较低级。级。三、三、8259A8259A工作方式工作方式6.4 6.4 可编程序中断控制器可编程序中断控制器8259A8259A123. 结束中断的方式结束中断的方式 自

12、动结束方式自动结束方式三、三、8259A8259A工作方式工作方式此方式下,当此方式下,当8259A收到第二个收到第二个INTA后,自动清除当前后,自动清除当前ISR中的对应位。它只能中的对应位。它只能用于单片用于单片8259A系统,且多个中断不嵌套的情况。系统,且多个中断不嵌套的情况。 非自动结束方式非自动结束方式 一般中断结束方式一般中断结束方式用于全嵌套方式,通过写用于全嵌套方式,通过写OCW2,使其,使其EOI=1,SL=0,R=0实现。这时实现。这时ISR中优中优先权最高的位清先权最高的位清0,结束当前正在处理的中断。,结束当前正在处理的中断。7.4 7.4 可编程序中断控制器可编程

13、序中断控制器8259A8259A13 特殊中断结束方式特殊中断结束方式用于非全嵌套方式,发特殊中断结束命令。写用于非全嵌套方式,发特殊中断结束命令。写OCW2使其使其EOI=1,SL=1,R=0即可,即可,此时由此时由L2、 L1 、L0三位指出三位指出Isi。三、三、8259A8259A工作方式工作方式v级连方式下,一般不用中断自动结束方式,而用非自动结束方式。不管用那一种非自级连方式下,一般不用中断自动结束方式,而用非自动结束方式。不管用那一种非自动结束方式,都必须连发两次中断结束命令,一次对主片,一次对从片。动结束方式,都必须连发两次中断结束命令,一次对主片,一次对从片。7.4 7.4

14、可编程序中断控制器可编程序中断控制器8259A8259A144. 连接系统总线的方式连接系统总线的方式 缓冲方式缓冲方式在多片在多片8259A级联的大系统中,级联的大系统中,8259A通过总线驱动器和系统总线相连,此即通过总线驱动器和系统总线相连,此即缓冲方式。缓冲方式。三、三、8259A8259A工作方式工作方式 非缓冲方式非缓冲方式单片单片8259A或一些不太大的系统中,或一些不太大的系统中,8259A与系统总线直接相连,此即非缓冲方与系统总线直接相连,此即非缓冲方式。式。7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A155. 中断触发方式中断触发方式 边沿触发方

15、式边沿触发方式中断请求输入端的上升沿作为中断请求信号。中断请求输入端的上升沿作为中断请求信号。 电平触发方式电平触发方式中断请求输入端的高电平作为中断请求信号。中断请求输入端的高电平作为中断请求信号。三、三、8259A8259A工作方式工作方式 中断查询方式中断查询方式利用软件查询中断源。利用软件查询中断源。7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A16四、四、8259A编程编程8259A有两个端口地址,一个偶地址有两个端口地址,一个偶地址(A0=0),一个奇地址,一个奇地址(A0=1) ,并假定偶地址,并假定偶地址较低,奇地址较高。较低,奇地址较高。8259A工

16、作时先初始化,给工作时先初始化,给8259A设置初始化命令字设置初始化命令字(ICWi),然后,然后8259A自动开自动开始工作;工作过程中,可通过操作命令字始工作;工作过程中,可通过操作命令字(OCWi) 动态改变动态改变8259A的操作和控制的操作和控制方式。方式。7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A171. 初始化命令字初始化命令字四、四、8259A8259A编程编程8259A的初始化命令字共的初始化命令字共4个个(ICW1ICW4),其中,其中ICW1和和ICW2必须设置,必须设置, ICW3级联时才需要,级联时才需要, ICW4只在只在8086/8

17、088系统中需要设置,其设置流程如右图所示。系统中需要设置,其设置流程如右图所示。v初始化命令字必须初始化命令字必须按顺序写入按顺序写入。通常它在系统启动过。通常它在系统启动过程中即已完成,而且在系统整个工作期间程中即已完成,而且在系统整个工作期间保持不变保持不变。7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A18四、四、8259A8259A编程编程 ICW1芯片控制初始化命令字,写入偶地址端口芯片控制初始化命令字,写入偶地址端口(A0=0),其格式如下:,其格式如下:7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A19设置中断类型码,写入奇地

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

19、控制器8259A8259A21四、四、8259A8259A编程编程 ICW4方式控制命令字,方式控制命令字,8086/8088必须设置,写入奇地址端口必须设置,写入奇地址端口(A0=1),其格式如,其格式如下:下:7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A22四、四、8259A8259A编程编程某系统中某系统中8259A单级使用,端口地址为单级使用,端口地址为80H,81H,初始化命令如下:,初始化命令如下:例:例:MOVAL, 13HOUT80H, ALMOVAL, 18HOUT81H, ALMOVAL, 0DHOUT81H, AL;00010011:;0001

20、0011:边沿触发边沿触发, ,单片单片, ,需需ICWICW4 4;ICW;ICW1 1; ;类型码为类型码为18H18H1FH1FH;ICW;ICW2 2;00001101:8086;00001101:8086系统系统, ,非自动非自动EOIEOI,主片,主片, ,缓冲方式缓冲方式, ,普通普通全嵌套全嵌套;ICW;ICW4 47.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A23四、四、8259A8259A编程编程2. 操作命令字操作命令字8259A有有3个操作命令字个操作命令字(OCW1OCW3),在应用程序内部设置,可多次写入。设,在应用程序内部设置,可多次写入

21、。设置时次序上没有严格要求,但端口有严格规定,置时次序上没有严格要求,但端口有严格规定,OCW1为奇地址,为奇地址,OCW2和和OCW3为偶地址。为偶地址。 OCW1中断屏蔽命令字,写入奇地址端口中断屏蔽命令字,写入奇地址端口(A0=1),其格式如下:,其格式如下:若某位为若某位为1,则该位中断请求被屏蔽。,则该位中断请求被屏蔽。7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A24四、四、8259A8259A编程编程 OCW2优先级循环方式及中断结束方式命令字,写入偶地址端口优先级循环方式及中断结束方式命令字,写入偶地址端口(A0=0),其格式,其格式如下:如下:1:优

22、先级循环方式优先级循环方式R0:非循环方式非循环方式EOI:中断结束方式位,为中断结束方式位,为1则清则清ISR的对应位的对应位ISiSL:决定决定L2、L1、L0是否有效,为是否有效,为1则有效,否则无效则有效,否则无效7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A25四、四、8259A8259A编程编程 OCW3写入偶地址端口写入偶地址端口(A0=0),其格式如下:,其格式如下:功能功能设置和撤销特殊屏蔽设置和撤销特殊屏蔽设置中断查询方式设置中断查询方式设置对设置对8259A内部寄存器的读命令内部寄存器的读命令7.4 7.4 可编程序中断控制器可编程序中断控制器8

23、259A8259A26四、四、8259A8259A编程编程中断状态字的格式如下:中断状态字的格式如下:读读IRR及及ISR时,从偶地址端口读取。时,从偶地址端口读取。若要读若要读IMR,可通过输入指令,直接从奇地址端口读取,而与,可通过输入指令,直接从奇地址端口读取,而与OCW3无关。无关。7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A27四、四、8259A8259A编程编程两个端口如何对应两个端口如何对应7条命令?条命令?偶地址:偶地址:ICW1,OCW2,OCW3D4=1:ICW1D4=0D3=0:OCW2D3=1:OCW3奇地址:奇地址:ICW2,ICW3,IC

24、W4,OCW1按顺序,一定先有按顺序,一定先有ICW1,然后决定:,然后决定:ICW2,ICW3,ICW4顺序顺序 级联级联 D0没有执行过没有执行过ICW1的奇地址则为的奇地址则为OCW17.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A28五、五、8259A应用举例应用举例某系统中设置两片8259A实现中断控制,它们之间采用级联方式连接,如下图所示:7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A29IR0,IR5上引入外部中断请求,类型码分别为40H,45H,入口地址分别为1000H:1050H, 1000H:2060HIR2,IR3上引入外

25、部中断请求,类型码分别为32H,33H,入口地址分别为2000H:5440H, 2000H:3620H从8259A的INT连接主8259A的IR3主片:从片:从片:级联:级联:假设主片的端口地址为假设主片的端口地址为FFE8H,FFE9H,从片的端口地址为,从片的端口地址为FFFAH,FFFBH。先填写中断矢量表,然后分别对主、从片进行初始化操作。先填写中断矢量表,然后分别对主、从片进行初始化操作。思路:思路:五、五、8259A8259A应用举例应用举例7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A30主主8259A初始化程序段如下:初始化程序段如下:MOVAL, 1

26、1HMOVDX, 0FFE8HOUTDX, ALMOVAL, 40HINCDXOUTDX, ALMOVAL, 08HOUTDX, ALMOVAL, 11HOUTDX, ALMOVAL, 0D6HOUTDX, ALMOVAL, 20HDECDXOUTDX, AL;ICW1;ICW2;ICW3;ICW4;OCW1;OCW2五、五、8259A8259A应用举例应用举例7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A31从从8259A初始化程序段如下:初始化程序段如下:MOVAL, 11HMOVDX, 0FFFAHOUTDX, ALMOVAL, 30HINCDXOUTDX, ALMOVAL, 03HOUTDX, ALMOVAL, 11HOUTDX, ALMOVAL, 0F3HOUTDX, ALMOVAL, 20HDECDXOUTDX, AL;ICW1;ICW2;ICW3;ICW4;OCW1;OCW2作业:4、5、7题8为思考题五、五、8259A8259A应用举例应用举例7.4 7.4 可编程序中断控制器可编程序中断控制器8259A8259A32

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

最新文档


当前位置:首页 > 办公文档 > 工作计划

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