微机原理与接口技术-第7章 中断系统_18_第1页
微机原理与接口技术-第7章 中断系统_18_第2页
微机原理与接口技术-第7章 中断系统_18_第3页
微机原理与接口技术-第7章 中断系统_18_第4页
微机原理与接口技术-第7章 中断系统_18_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

1、微机原理与接口技术微机原理与接口技术第第7章章 中断系统中断系统6. 8086CPU的中断响应过程的中断响应过程 n内部中断响应过程内部中断响应过程 n无无INTA#周期周期n中断类型码固定或由指令给出中断类型码固定或由指令给出n响应过程主要步骤:响应过程主要步骤: PUSH FLAG IF=0 PUSH CS PUSH IP 取中断向量送入取中断向量送入IP和和CS中断响应过程(续)中断响应过程(续)n外部中断响应过程外部中断响应过程n非屏蔽中断,与内部中断响应过程类似非屏蔽中断,与内部中断响应过程类似 n可屏蔽中断可屏蔽中断 INTA#(1),),PIC进行优先级排队判优处理进行优先级排队

2、判优处理 INTA#(2),),PIC把中断类型码放到把中断类型码放到DB上,上,CPU读入读入 PUSH FLAG IF=0 PUSH CS PUSH IP 取中断向量送入取中断向量送入IP和和CS与内部中断一样与内部中断一样7. 8086系统中各中断的优先级系统中各中断的优先级n优先级从高到低顺序如下:优先级从高到低顺序如下:n内部中断内部中断nNMInINTRn单步中断单步中断8. 中断优先权管理中断优先权管理n中断优先权中断优先权是事先根据中断源的重要性给每是事先根据中断源的重要性给每个中断源确定一个中断优先级别个中断源确定一个中断优先级别优先权。优先权。n中断优先权管理就是判别和确定

3、各个中断源中断优先权管理就是判别和确定各个中断源的中断优先权。的中断优先权。n中断优先权判别方法有软件和硬件两种方法。中断优先权判别方法有软件和硬件两种方法。 中断优先权管理中断优先权管理(1)软件确定中断优先权)软件确定中断优先权 软件法软件法是在是在CPU响应中断后,用软件查响应中断后,用软件查询确定哪个中断源申请中断,先被查询的先询确定哪个中断源申请中断,先被查询的先响应。响应。 查询次序决定了中断优先权次序,最先查询次序决定了中断优先权次序,最先被查询的中断源具有最高的优先权。被查询的中断源具有最高的优先权。中断优先权管理中断优先权管理 如图,如图,8个外设只个外设只要有中断请求,要有

4、中断请求,CPU检测到中断请检测到中断请求信号,响应中断;求信号,响应中断; D7D0 CPU INTRI/O 端口端口地址 80H1外设A B C D E F G H 中断请求 读入端口读入端口80H的内容,逐位判别确定当前申的内容,逐位判别确定当前申请中断的优先权最高的中断源,从而进入相应的请中断的优先权最高的中断源,从而进入相应的中断服务程序。中断服务程序。中断优先权管理中断优先权管理(1)软件确定中断优先权)软件确定中断优先权保护现场外设A中断服务程序外设B中断服务程序外设C中断服务程序A申请服务?B申请服务?C申请服务?恢复现场YYYNNN软件查询流程图软件查询流程图软件查询程序:软

5、件查询程序:IN AL,80H ;端口读入状态端口读入状态TEST AL,80H;JNZ SERVE_ATEST AL,40HJNZ SERVE_B TEST AL,01HJNZ SERVE_HHLT* 软件查询次序就是优先权高低的次序;软件查询次序就是优先权高低的次序;* 软件确定中断优先权不需复杂的硬件电路,简单易实现软件确定中断优先权不需复杂的硬件电路,简单易实现;* 中断源较多时,查询时间较长,中断响应较慢。中断源较多时,查询时间较长,中断响应较慢。中断优先权管理中断优先权管理(2)硬件确定中断优先权)硬件确定中断优先权 由由硬件硬件实现中断优先权的判别。实现中断优先权的判别。 * 常

6、用的硬件电路有:中断优先权编码电常用的硬件电路有:中断优先权编码电路,链式优先权排队电路及专用硬件电路等。路,链式优先权排队电路及专用硬件电路等。 * 利用利用中断控制器中断控制器8259A,它具有它具有8个优个优先权控制,可以通过级联,扩展至先权控制,可以通过级联,扩展至64级优级优先权控制,且每级中断都可设置为允许或屏先权控制,且每级中断都可设置为允许或屏蔽蔽 。图图6-4 6-4 8 8个以下的中断结构个以下的中断结构 图图6-5 6-5 8 8个以上的中断结构个以上的中断结构IRQ0IRQ0IRQ1IRQ1IRQ2IRQ2: IRQ7IRQ782598259 到到CPU三总线三总线 到

7、到CPU三总线三总线IRQ0IRQ0IRQ1IRQ1IRQ2IRQ2: IRQ7IRQ782598259 IRQ0IRQ0IRQ1IRQ1IRQ2IRQ2: IRQ7IRQ7INTINTINTINTIRQ1IRQ1 IRQ2IRQ2 IRQ3IRQ3 : IRQ7IRQ7IRQ0IRQ08259825982598259(主)(主)(从(从1 1)(从(从2 2)多于多于8个中断源的中断的硬件电路结构个中断源的中断的硬件电路结构8086/8088的中断系统的中断系统n 8086/8088CPU具有一个管理高效且简便具有一个管理高效且简便灵活的中断系统,可以处理多达灵活的中断系统,可以处理多达25

8、6种中断种中断源。源。n采用采用向量中断方法向量中断方法,对,对256种中断只需一次种中断只需一次间接访问,就可获得任一中断源的中断服务间接访问,就可获得任一中断源的中断服务程序的入口地址,中断响应快速。程序的入口地址,中断响应快速。12主要内容主要内容7.1 中断系统概述中断系统概述7.2 8086CPU的中断系统的中断系统7.3 可编程中断控制器可编程中断控制器8259A7.4 小结小结7.3 Intel 8259A可编程中断控制器可编程中断控制器问题的提出问题的提出: : 8086 8086只有一个可屏蔽中断输入线只有一个可屏蔽中断输入线, ,如何实如何实现处理多个外部中断请求现处理多个

9、外部中断请求? ? 解决的办法是用专用的中断控制器接口电解决的办法是用专用的中断控制器接口电路路82598259可编程中断控制器可编程中断控制器1 1功能及工作特点功能及工作特点1)1)管理和控制管理和控制80868086的外部可屏蔽中断请求的外部可屏蔽中断请求2)2)实现中断判优:实现中断判优:每一片每一片8259A可以管理可以管理8个中断请个中断请求,并把当前优先级最高的中断请求送到求,并把当前优先级最高的中断请求送到CPU的的INTR端。端。3)3)提供中断类型码,迅速地转至中断服务程序。提供中断类型码,迅速地转至中断服务程序。4)4)可屏蔽中断输入,每一个中断请求都可以屏蔽或允可屏蔽中

10、断输入,每一个中断请求都可以屏蔽或允许。单片许。单片8259A8259A可以管理可以管理8 8级中断,采用级联方式,最级中断,采用级联方式,最多可管理多可管理6464级中断。级中断。5)5) 通过编程使通过编程使8259A8259A工作在多种不同的方式。工作在多种不同的方式。7.3.1 8259A的功能、框图和引脚的功能、框图和引脚2、8259A的引脚的引脚图6-14 8259A的引脚8259ACSWRRDD7D6D5D4D3D2D1D0CAS0CAS1GNDINTAIR7INTCAS2A0VCCIR6IR5IR4IR3IR2IR1IR0EN/SP28272625242322212019171

11、8151612345678910121114131)CS:片选信号,输:片选信号,输入,低电平有效,来自入,低电平有效,来自地址译码器的输出。地址译码器的输出。2)WR:写信号,输:写信号,输入,低电平有效。入,低电平有效。3)RD:读信号,输入,:读信号,输入,低电平有效。低电平有效。 8259ACSWRRDD7D6D5D4D3D2D1D0CAS0CAS1GNDINTAIR7INTCAS2A0VCCIR6IR5IR4IR3IR2IR1IR0EN/SP282726252423222120191718151612345678910121114134)D7 D0:双向、三态:双向、三态数据线,接系

12、统数据总线数据线,接系统数据总线的的D7 D0。5)IR7 IR0:中断请求:中断请求信号,输入。信号,输入。6)INT:8259A向向CPU发出的中断请求信号发出的中断请求信号,高电平有效。高电平有效。7)INTA:中断响应信:中断响应信号,输入,号,输入,接收接收CPU发发来的中断响应脉冲以通来的中断响应脉冲以通知知8259A中断请求已被中断请求已被响应,使其将中断类型响应,使其将中断类型号送到数据总线上。号送到数据总线上。 8 8)CAS0CAS0 CAS2CAS2:级联总线,输入或输出,用于区分特:级联总线,输入或输出,用于区分特定的从控制器。定的从控制器。9 9)SP/ENSP/EN

13、:主从片信号,输入。:主从片信号,输入。 SP/ENSP/EN1 1,8259A8259A为为主控制器;主控制器; SP/ENSP/EN0 0,为从控制器。,为从控制器。1010)A0:A0:地址线,输入。用来指出当前地址线,输入。用来指出当前8259A的哪个的哪个端口被访问,选择内部寄存器的端口地址。端口被访问,选择内部寄存器的端口地址。n在标准在标准AT机中,使用两片机中,使用两片8259A构成主从式中断系构成主从式中断系统:统:n主主8259A的端口地址:的端口地址:20H,21Hn从从8259A的端口地址:的端口地址:A0H,A1H 3. Intel 8259A的内部结构的内部结构图6

14、-14 8259A内部组成结构图 D7-D0SP/ENCAS0CAS1CAS2数据总线缓冲器 读/写 控制逻辑 读/写 控制逻辑 读/写 控制逻辑 读写控制逻辑 RDWRA0CS控制逻辑 中断屏蔽寄存器IMRINTA INT 内部总线 IR0IR1IR2IR3IR4IR5IR6IR7 级连缓冲比较器中断服务寄存器ISR优先权判断电路PR中断请求寄存器IRR19(1)中断请求寄存器)中断请求寄存器IRRn具有锁存功能的具有锁存功能的8位寄存器,通过输入信号位寄存器,通过输入信号IR0IR7接收外部中断请求,每一位对应着一个接收外部中断请求,每一位对应着一个外部设备。外部设备。外部外部中断中断请求

15、请求(2)当前服务寄存器)当前服务寄存器ISRn用于存放当前正在进行处理的中断用于存放当前正在进行处理的中断,ISRi与与IRi中断源一一中断源一一对应,用来记录对应,用来记录CPU当前正在对哪些中断源服务。当前正在对哪些中断源服务。n在在CPU响应响应IRi时,在第一个中断应答周期时,在第一个中断应答周期INTA将对应的将对应的ISRi置置“1”。n当当ISR全为全为0时,表示时,表示CPU正在执行主程序,无任何中断服正在执行主程序,无任何中断服务。务。nISR的置的置“1”位一直保持到该中断源的中断处理结束为止,位一直保持到该中断源的中断处理结束为止,在收到针对在收到针对8259A的结束命

16、令后,该位才会被清的结束命令后,该位才会被清0。(3)中断屏蔽寄存器)中断屏蔽寄存器IMRn用来保存程序员写入的中断屏蔽字的用来保存程序员写入的中断屏蔽字的8位寄存器位寄存器nIMRi为为“1”时,可以屏蔽对应的时,可以屏蔽对应的IRi输入的中断请求,使之输入的中断请求,使之不能送达不能送达8259A的优先权判别电路。的优先权判别电路。 IMRi为为“0”时,开放时,开放相应位相应位IRi的中断请求。的中断请求。(4)优先权判别器)优先权判别器PRn检查中断源的优先级检查中断源的优先级,并与,并与ISR比较,确定是否将比较,确定是否将此中断请求送给此中断请求送给CPU。n当多个中断请求同时产生

17、时,由当多个中断请求同时产生时,由PR判定哪个中断判定哪个中断请求的优先权最高请求的优先权最高n当当CPU正在响应某个中断请求时,若出现新的中断正在响应某个中断请求时,若出现新的中断请求,请求,PR将判定新的中断请求与将判定新的中断请求与ISR中正在服务的中正在服务的中断请求哪个优先级更高,以决定是否需要马上响中断请求哪个优先级更高,以决定是否需要马上响应新的中断请求应新的中断请求(5)数据总线缓冲器)数据总线缓冲器n8位双向三态缓冲器,是位双向三态缓冲器,是8259A与与CPU之间的数据接口。之间的数据接口。n8259A初始化所需的一系列初始化命令字(初始化所需的一系列初始化命令字(ICW)

18、和操作)和操作命令字(命令字(OCW),都是通过数据总线缓冲器写入的),都是通过数据总线缓冲器写入的n当当CPU对对8259A执行读操作时,可以通过数据总线缓冲器执行读操作时,可以通过数据总线缓冲器传输传输8259A的内部状态信息、中断类型码的内部状态信息、中断类型码(6)读写逻辑)读写逻辑n根据根据CPU送来的读送来的读/写信号和地址信息,通过数据总线缓冲写信号和地址信息,通过数据总线缓冲器完成器完成CPU对对8259A的读写操作的读写操作n与读与读/写逻辑有关的信号包括:写逻辑有关的信号包括:n片选信号CSn写控制信号WRn读控制信号RDn端口选择信号A0(7)控制逻辑)控制逻辑n8259

19、A的功能核心,通过编程设置方式来管的功能核心,通过编程设置方式来管理理8259A的工作方式的工作方式(8)级联缓冲器)级联缓冲器 / 比较器比较器n一片一片8259A最多可以管理最多可以管理8级中断源级中断源n多片多片8259A级联,可以管理更多的中断源级联,可以管理更多的中断源n级联时,一片级联时,一片8259A作为主片,另外作为主片,另外18片作为从片,主片作为从片,主从片的引脚从片的引脚CAS0CAS2相互连接成为级联总线相互连接成为级联总线n当从片上的中断源提出中断请求时,从片通过自己的当从片上的中断源提出中断请求时,从片通过自己的INT信信号线向主片的某个号线向主片的某个IRi发出请

20、求,再由主片代替从片向发出请求,再由主片代替从片向CPU发出真正的请求信号发出真正的请求信号n当中断请求被响应后,主片将请求被响应从片的编码通过当中断请求被响应后,主片将请求被响应从片的编码通过CAS0 CAS2送往从片,所有从片都会收到这个编码,但送往从片,所有从片都会收到这个编码,但只有匹配的从片才会响应,在第二个中断响应周期中,该从只有匹配的从片才会响应,在第二个中断响应周期中,该从片将请求的中断源类型号送到数据总线,片将请求的中断源类型号送到数据总线,CPU读取后就转读取后就转入相应的中断服务程序进行处理入相应的中断服务程序进行处理两片两片8259A的级联(简化示意)的级联(简化示意)

21、n 主片中断源主片中断源从片中断源从片中断源CAS0CAS2287.3.2 8259A的中断管理的中断管理n对中断源进行优先级排队管理对中断源进行优先级排队管理n接受和扩充外部设备的中断请求接受和扩充外部设备的中断请求n提供中断类型号提供中断类型号n进行中断请求的屏蔽和开放进行中断请求的屏蔽和开放298259A中断请求处理过程中断请求处理过程nIRR寄存来自寄存来自IR0IR7的中断源的中断请求;的中断源的中断请求;n经过经过IMR的筛选后,未被屏蔽的请求送至的筛选后,未被屏蔽的请求送至PR进行进行判优;判优;nPR选中优先级最高的中断源,通过引脚选中优先级最高的中断源,通过引脚INT向向CP

22、U发出中断请求信号;发出中断请求信号;n在满足响应条件时,在满足响应条件时,CPU通过通过INTA#引脚向引脚向8259A发出两个负脉冲,即中断响应信号;发出两个负脉冲,即中断响应信号;n8259A收到第一个收到第一个INTA#信号后,信号后, ISR相应位置相应位置“1”,IRR相应位清相应位清“0”;n8259A收到第二个收到第二个INTA#信号后,信号后,8259A把被选把被选中的中断源的中断类型码中的中断源的中断类型码 n 通过数据线送往通过数据线送往CPU;nCPU根据根据 n 从中断向量表读取中断向量并送往从中断向量表读取中断向量并送往CS:IP,开始执行中断服务程序。,开始执行中

23、断服务程序。7.3.3 8259A的工作方式的工作方式n8259A的工作方式有如下几类:的工作方式有如下几类:n中断触发方式中断触发方式n屏蔽中断源的方式屏蔽中断源的方式n中断优先方式与中断嵌套中断优先方式与中断嵌套n中断结束处理方式中断结束处理方式 n级联工作方式级联工作方式中断触发方式中断触发方式n边沿触发边沿触发 以上跳沿向以上跳沿向8259A请求中断,上跳沿后可一直请求中断,上跳沿后可一直维持高电平,不会再产生中断。维持高电平,不会再产生中断。n电平触发电平触发 以高电平请求中断,但在响应中断后必须及时清以高电平请求中断,但在响应中断后必须及时清除高电平,以免引起第二次中断。除高电平,

24、以免引起第二次中断。n在第在第1个个INTA#结束前,结束前,IRi必须保持高电平必须保持高电平 32屏蔽中断源的方式屏蔽中断源的方式n通常屏蔽方式通常屏蔽方式(掌握掌握) IMR屏蔽字决定了屏蔽字决定了允许或禁止允许或禁止某位某位IRi所对应的所对应的中断中断:IMi=1 禁止,禁止, IMi=0 允许。利用操作命令允许。利用操作命令字字OCW1来设定来设定IMR。n特殊屏蔽方式特殊屏蔽方式(不要求不要求) 在某些场合,在执行某一个中断服务程序时,在某些场合,在执行某一个中断服务程序时,要求允许另一个优先级比它低的中断请求被响应。要求允许另一个优先级比它低的中断请求被响应。可通过可通过OCW

25、3的的D6D5=11来设定来设定中断优先方式与中断嵌套中断优先方式与中断嵌套n中断优先方式中断优先方式 两类优先级控制方式:两类优先级控制方式:固定优先级固定优先级和和循环优先级循环优先级n固定优先级方式固定优先级方式(掌握掌握)n所有中断请求所有中断请求IRi的中断优先级固定不变的中断优先级固定不变n优先级排列顺序可编程改变优先级排列顺序可编程改变n加电后加电后8259A的默认方式,默认优先级顺序从高到的默认方式,默认优先级顺序从高到低为低为IR0IR7IR7IR6IR5IR4IR3IR2IR1IR07654321032107654最低级最高级最高级最低级优先级优先级IR7IR6IR5IR4

26、IR3IR2IR1IR0默认优先级默认优先级优先级可编程改变优先级可编程改变34n固定优先级方式固定优先级方式(掌握掌握)n全嵌套方式全嵌套方式 中断优先级按中断优先级按07顺序进行排队,只允许中断级顺序进行排队,只允许中断级别高的中断源打断级别低的中断服务程序。别高的中断源打断级别低的中断服务程序。n特殊全嵌套方式特殊全嵌套方式 同全嵌套方式基本相同,不同在于,允许响应同级同全嵌套方式基本相同,不同在于,允许响应同级的中断请求。用于多片级联。的中断请求。用于多片级联。n循环优先级方式循环优先级方式(不要求不要求) 优先级顺序不是固定不变的,一个设备受到中断服务后,其优先级自动降为最低。初始优

27、先级顺序规定为IR0IR7。中断优先方式与中断嵌套中断优先方式与中断嵌套中断优先方式与中断嵌套(续)中断优先方式与中断嵌套(续)n中断嵌套中断嵌套方式方式n8259A有两种中断嵌套方式:有两种中断嵌套方式:n普通全嵌套方式(默认方式)普通全嵌套方式(默认方式) 一中断正被处理时,只有一中断正被处理时,只有更高优先级更高优先级的事件可以打的事件可以打断当前的中断处理过程而被服务断当前的中断处理过程而被服务(单片或者从单片或者从8259A使用使用)。n特殊全嵌套方式特殊全嵌套方式 (级联时主级联时主8259A使用使用)一中断正被处理时,允许一中断正被处理时,允许同级或更高优先级同级或更高优先级的事

28、件的事件可以打断当前的中断处理过程而被服务。可以打断当前的中断处理过程而被服务。D.主主8259AIR0IR1IR2IR3IR4IR5IR6IR7一般嵌套方式:一般嵌套方式:从片的从片的INT被主片封被主片封锁,故更锁,故更高高级别的级别的IR0-IR2中断也无法中断也无法得到响应得到响应特殊嵌套方式:特殊嵌套方式:因主片不封锁从片的因主片不封锁从片的INT,故级别高的,故级别高的IR0-IR2中断可以得到响应。中断可以得到响应。( (但但IR3-IR7仍被本从仍被本从片封锁片封锁) )C.假定假定IR3发生中发生中断断,并获得服务并获得服务一般嵌套方式:一般嵌套方式:IR4的中断被服务的中断

29、被服务时,这些中断将时,这些中断将被封锁。被封锁。B.特殊嵌套方式:特殊嵌套方式:IR4的中断被服的中断被服务 时 , 只 封 锁务 时 , 只 封 锁IR5-IR7。A.INTE.从从8259AINTIR0IR1IR2IR3IR4IR5IR6IR7n一般全嵌套方式与特殊全嵌套方式的区别一般全嵌套方式与特殊全嵌套方式的区别 去去CPU中断结束处理方式中断结束处理方式n当某一当某一IRi中断被服务时,中断被服务时,ISR中的相应位中的相应位ISRi=1。当服务结束后,则必须清零该当服务结束后,则必须清零该ISRi位。使位。使ISRi=0是通过向是通过向8259A发出中断结束命令(发出中断结束命令

30、(EOI命令)命令)实现的。实现的。n三种三种EOI命令命令n自动自动EOI(AEOI)(自动(自动EOI方式)方式)n非指定非指定EOI(NSEOI)(正常(正常EOI方式)方式)n指定指定EOI(SEOI)(特殊(特殊EOI方式方式) nAEOI:在第在第2个个INTA#结束时,由结束时,由8259A使使ISRi自动复位;自动复位;n因不保留当前正在服务的中断的状态,故因不保留当前正在服务的中断的状态,故AEOI用在用在多个中断不会嵌套的系统中。多个中断不会嵌套的系统中。nNSEOI:由由CPU发出正常发出正常EOI命令,该命令,该EOI命令命令使使ISRi=1的位中优先级最高的那一位复位

31、。的位中优先级最高的那一位复位。n用于嵌套方式用于嵌套方式nSEOI:由:由CPU发出一条发出一条SEOI命令,该命令,该EOI命令命令中指出了所要复位的中指出了所要复位的ISR的位号。的位号。 n用于特殊屏蔽方式用于特殊屏蔽方式向从PIC发EOI命令读从PIC的ISR全0?向主PIC发EOI命令YIRET恢复现场Nn特殊全嵌套方式下的特殊全嵌套方式下的EOI处理处理n只有当从只有当从8259A的中断全部处理完后,才能向的中断全部处理完后,才能向主主8259A发发EOI命令命令主主8259AIR0IR1IR2IR3IR4IR5IR6IR7INT从从8259AINTIR0IR1IR2IR3IR4

32、IR5IR6IR7去去CPU级联工作方式级联工作方式n单片单片8259A可支持可支持8个中断源;个中断源;n采用多片采用多片8259A级连,可最多支持级连,可最多支持64个中断个中断源。源。n级连时只能有一片级连时只能有一片8259A为主片,其余的均为主片,其余的均为从属片;为从属片;级连电路连接方法级连电路连接方法42 7.3.4 8259A 编程编程 8259A是可编程中断控制器,在它工作之前必须通过软是可编程中断控制器,在它工作之前必须通过软件向其写入命令,使其在人们所希望的状态下工作。件向其写入命令,使其在人们所希望的状态下工作。n命令有两种:命令有两种:n设置工作方式:初始化命令字(

33、设置工作方式:初始化命令字(ICW1ICW4)n控制操作:操作命令字(控制操作:操作命令字( OCW1 OCW3 ) ICW往往是在系统启动时由初始化程序设置的,初始往往是在系统启动时由初始化程序设置的,初始化命令字一旦设定,在系统工作中就一般不再改变。在初始化命令字一旦设定,在系统工作中就一般不再改变。在初始化后,化后,CPU可以用操作命令字来控制可以用操作命令字来控制8259A执行不同的操执行不同的操作。作。 OCW 可以在初始化后任何时刻写入可以在初始化后任何时刻写入8259A,并可多,并可多次设置。次设置。8259A的编程使用的编程使用n8259A的控制命令分为的控制命令分为n初始化命

34、令字初始化命令字ICWnICW1ICW4n向向8259A写入写入ICW的过程称为的过程称为初始化编程初始化编程n操作命令字操作命令字OCW nOCW1OCW3n向向8259A写入写入OCW的过程称为的过程称为操作方式编程操作方式编程1. 8259A内部寄存器的寻址方法内部寄存器的寻址方法CS# RD# WR#A0D4D3读写操作读写操作010000写写OCW2001写写OCW301x写写ICW11xx写写ICW2,ICW3,ICW4,OCW1(顺序写顺序写入入)0010 xx读出读出IRR、ISR1xx读出读出IMRn需要需要CS#、A0、RD#、WR#和和D4、D3的配合的配合n内部寄存器的

35、访问方法如下表:内部寄存器的访问方法如下表: n在在PC/XT系统中,占用系统中,占用20H、21Hn在在PC/AT系统中,占用系统中,占用20H、21H、A0H、A1H2. 8259A的初始化顺序的初始化顺序 n8259的初始化流的初始化流程如图程如图n注意次序不可颠倒注意次序不可颠倒 写写ICW1写写ICW2级连?级连?写写ICW3需需ICW4?写写ICW4(8086必须写必须写)NNYY3. 初始化命令字初始化命令字ICWn初始化初始化8259A必须从必须从ICW1开始开始n写写ICW1意味着重新初始化意味着重新初始化8259An写入写入ICW1后,后,8259A的状态如下:的状态如下:

36、n清除清除ISR和和IMR(全全0);n将中断优先级设成初始状态:将中断优先级设成初始状态:IR0最高,最高,IR7最低;最低;n设定为一般设定为一般(通常通常)屏蔽方式;屏蔽方式;n采用非自动中断结束方式;采用非自动中断结束方式;n状态读出逻辑预置为读状态读出逻辑预置为读IRR。ICW1初始化字初始化字nLTIM: 触发方式触发方式n=1 高电平触发高电平触发n=0 上升沿触发上升沿触发nSNGL: 级连控制级连控制n=1 单片单片n=0 级连级连nICW4: ICW4控制控制(8086必须写必须写ICW4)n=1 要写要写ICW4n=0 不写不写ICW4(默认(默认ICW4为全为全0)A0

37、 D7D6 D5 D4 D3 D2 D1 D0 0 0 0 0 1 LTIM 0 SNGL IC4nICW1规定规定8259的连接方式的连接方式(单片或级联单片或级联)与中断源请求信号的与中断源请求信号的有效形式。利用有效形式。利用A0=0、D4=1寻址。寻址。分析下面指令的含义分析下面指令的含义 MOV AL, 00011011B OUT 20H,AL ICW2中断向量码中断向量码nT7T3: 中断向量码的高中断向量码的高5位位nD2D0: 最低最低3位为中断源的序号位为中断源的序号IRnn000111分别对应分别对应IR0IR7n由由8259A根据中断源的序号自动填入根据中断源的序号自动填

38、入 例如:例如:若若ICW2命令字为命令字为48H,则,则IR0的中断向量码为的中断向量码为48H,IR1的中断向量码为的中断向量码为49H, IR2中断向量码为中断向量码为4AH,等等。,等等。 A0 D7D6 D5 D4 D3 D2 D1 D0 1 T7 T6 T5 T4 T3 x x x例例 P206(错错)n在在PC-AT系列微机系统中,采用系列微机系统中,采用2片片8259A级联,提供级联,提供15个个IR输入。其中主片的中断类输入。其中主片的中断类型码型码08H0FH,从片的中断类型码,从片的中断类型码70H77H(硬盘中断请求硬盘中断请求IR14,中断类型码,中断类型码76H)M

39、OV AL, 08H OUT 21H, AL ;写入主片写入主片ICW2 MOV AL,70HOUT A1H,AL ;写入从片写入从片ICW2 ICW3级连控制字级连控制字 n主片的级联控制字主片的级联控制字 nSi=1 对应对应IRi线上连接了从片线上连接了从片 A0 D7D6 D5 D4 D3 D2 D1 D0 1 S7 S6 S5 S4 S3 S2 S1 S0n从片的级联控制字从片的级联控制字 nID2ID0 标识码,说明本从片连接到主片的哪标识码,说明本从片连接到主片的哪个个IR引脚上。引脚上。 000111分别对应分别对应IR0IR7。 A0 D7D6 D5 D4 D3 D2 D1

40、D0 1 0 0 0 0 0 ID2 ID1 ID0ICW3级连控制字(续)级连控制字(续)nICW3必须与主从片的必须与主从片的连接关系一致:连接关系一致:PCAT中,主片的中,主片的IR2与与从片的从片的INT线连接,则线连接,则主片的主片的ICW3=04H,从,从片的片的ICW3=02H。n中断响应时,主片通过中断响应时,主片通过级连线级连线CAS2-CAS0送出送出被允许中断的从片标识被允许中断的从片标识码,各从片用自己的码,各从片用自己的ICW3与与CAS2-CAS0比比较,二者一致的从片才较,二者一致的从片才可发送中断向量码。可发送中断向量码。例例 P207n主片的主片的IR3和和

41、IR6两个输入端分别连接了从片两个输入端分别连接了从片A与与B的的INT,n主片地址为主片地址为20H,从片,从片A地址为地址为0A0H,从片,从片B地址为地址为0B0H,普通级联普通级联从片从片A从片从片B主片的主片的ICW3n8259A主片的主片的IR3和和IR6分别接了从片分别接了从片D7D6D5D4D3D2D1D001001000从片从片B从片从片A从片的从片的ICW3D7D6D5D4D3D2D1D000000110D7D6D5D4D3D2D1D000000011我是从片我是从片A我是从片我是从片B例例n主片的主片的ICW3=01001000B=48Hn从片从片A的的ICW3=0000

42、0011B=03Hn从片从片B的的ICW3=00000110B=06HMOV AL,48H ;ICW3(主主)OUT 21H,AL ;ICW3(主主)端口端口(A0=1)MOV AL,03H ;ICW3(从片从片A)OUT 0A1H,AL ;ICW3(从片从片A)端口端口(A0=1)MOV AL,06H ;ICW3(从片从片B)OUT 0B1H,AL ;ICW3(从片从片B)端口端口(A0=1)ICW4中断结束方式字中断结束方式字 nSFNM: 特殊全嵌套特殊全嵌套1 特殊全嵌套方式特殊全嵌套方式0 一般全嵌套方式一般全嵌套方式nAEOI: 自动自动EOI1 自动自动EOI方式方式0 非自动非

43、自动EOI方式方式A0 D7D6 D5 D4 D3 D2 D1 D0 1 0 0 0 SFNM BUF M/S AEOI 1nBUF: 缓冲方式缓冲方式 M/S: 主主/从缓冲选择从缓冲选择BUF M/S 1 1 缓冲方式缓冲方式/主主PIC 1 0 缓冲方式缓冲方式/从从PIC 0 x 非缓冲方式非缓冲方式/正常正常nD0:1: 8086/8088, 0: 8080/808557例例 P208nPC/AT机中采用普通中断结束方式,使用两片机中采用普通中断结束方式,使用两片8259A,非缓冲方式,为使从片也能提出中断请求,非缓冲方式,为使从片也能提出中断请求,主片采用特殊完全嵌套方式。如何初始

44、化主、从片主片采用特殊完全嵌套方式。如何初始化主、从片的的ICW4? MOV AL,11H ;ICW4(特殊嵌套、非自动特殊嵌套、非自动EOI) OUT 21H,AL ;ICW4的端口的端口(A0=1)MOV AL,01H ; ICW4(普通嵌套、非自动普通嵌套、非自动EOI) OUT A1H,AL ;ICW4的端口的端口(A0=1)A0 D7D6 D5 D4 D3 D2 D1 D0 1 0 0 0 SFNMBUF M/S AEOI 14. 操作命令字操作命令字OCW n在对在对8259A用初始化命令字进行初始化后,就用初始化命令字进行初始化后,就进入工作状态,准备好接收进入工作状态,准备好接

45、收IR输入的中断请求输入的中断请求信号。在信号。在8259A工作期间,工作期间, 可通过操作命令字可通过操作命令字来使它按不同的方式进行操作。来使它按不同的方式进行操作。n操作命令字共有三个,可以独立使用。操作命令字共有三个,可以独立使用。OCW1中断屏蔽字中断屏蔽字 nMi=1 中断请求线中断请求线IRi被屏蔽被屏蔽(不允许中断不允许中断) =0 允许该允许该IRi中断中断 nOCW1将写入将写入IMR寄存器。寄存器。nA0=1时可读出用时可读出用OCW1设置的设置的IMR内容。内容。 A0 D7D6 D5 D4 D3 D2 D1 D0 1 M7 M6 M5 M4 M3 M2 M1 M0例:

46、要使中断源例:要使中断源IR4开放,其余均被屏蔽,开放,其余均被屏蔽,OCW1=11101111B。MOV AL,0EFH ;OCW1内容内容OUT 21H,AL ;OCW1端口端口(A0=1)OCW2中断结束中断结束和优先级循环和优先级循环 nL2L0: 优先级编码优先级编码nR: 优先级自动循环优先级自动循环nSL: 指定优先级指定优先级nEOI: 结束中断命令结束中断命令A0 D7D6 D5 D4 D3 D2 D1 D0 0 R SL EOI 0 0 L2 L1 L0最常用的命令是最常用的命令是20HCS#RD#WR#A0D4D3读写操作读写操作010000写写OCW2001写写OCW3

47、01x写写ICW11xx写写ICW2,ICW3,ICW4,OCW1(顺序写入顺序写入)0010 xx读出读出IRR、ISR1xx读出读出IMROCW3屏蔽方式和屏蔽方式和读出控制字读出控制字 nESMM: 允许使能特殊屏蔽方式允许使能特殊屏蔽方式nSMM: 特殊屏蔽方式特殊屏蔽方式ESMM SMM1 1 特殊屏蔽方式置位特殊屏蔽方式置位1 0 特殊屏蔽方式复位特殊屏蔽方式复位0 x 非特殊屏蔽方式非特殊屏蔽方式P(Polling): =1 查询方式查询方式 =0 中断方式中断方式A0 D7D6 D5 D4 D3 D2 D1 D0 0 0 ESMM SMM 0 1 P RR RISnRR: 读寄

48、存器读寄存器nRIS: ISR/IRR选择选择RR RIS1 1 读读ISR1 0 读读IRR0 x 无效无效n读读IRR/ISR:写入此:写入此命令后,随后再对同命令后,随后再对同一地址读,即可得到一地址读,即可得到IRR或或ISR的内容。的内容。62读状态读状态n8259A内部有内部有3个寄存器个寄存器(IRR、ISR、IMR),CPU可以读出它们的当前内容。可以读出它们的当前内容。n对于对于IRR和和ISR,CPU在发读命令之前,先要指定在发读命令之前,先要指定读哪个寄存器,然后再发读指令,才能读取读哪个寄存器,然后再发读指令,才能读取ISR和和IRR中的状态信息。若读状态寄存器不变,就

49、不必中的状态信息。若读状态寄存器不变,就不必每次都指定所要读的寄存器。当每次都指定所要读的寄存器。当8259A初始化后,初始化后,自动指向读自动指向读IRR。n对于对于IMR寄存器的读出,不需要事先发指定命令,寄存器的读出,不需要事先发指定命令,只要读奇数地址端口就行。只要读奇数地址端口就行。CS# RD# WR#A0D4D3读操作读操作00101xx读出读出IRR、ISR读出读出IMR63例例 通过通过OCW3命令读取命令读取8259A的状态的状态n通过通过OCW3命令指定被读寄存器命令指定被读寄存器nOCW3为为00001010B时,表示下一个脉冲要读时,表示下一个脉冲要读IRR寄存器的内

50、容;寄存器的内容;nOCW3为为00001011B时,表示下一个脉冲要读时,表示下一个脉冲要读ISR寄存器的内容。寄存器的内容。n用输入指令才可读出用输入指令才可读出IRR或或ISR的内容。的内容。BIOS中读取中读取ISR寄存器的程序段:寄存器的程序段:MOV AL,0BH ;OCW3表示要读表示要读ISROUT A0H,AL ;20H为为OCW3口地址口地址NOP ;稍微留一点等待时间;稍微留一点等待时间IN AL,A0H ;读;读ISR寄存器内容寄存器内容MOV AH,AL ;保存;保存ISRAHOR AL,AL ;是否全为;是否全为0?JNZ AW-INT ;否,不向主;否,不向主82

51、59A发发EOI64 8259A的编程命令的编程命令n 初始化命令初始化命令 计算机系统初始化时,必须按规定的顺序向计算机系统初始化时,必须按规定的顺序向8259A写入一系列初始化命令字。写入一系列初始化命令字。 对于对于16位微机,位微机,ICW1、ICW2和和ICW4是必须有的。是必须有的。如果系统中使用了多片如果系统中使用了多片8259A,则必须向主片与从片分,则必须向主片与从片分别写入别写入ICW3。 286以上以上PC微机的中断系统有微机的中断系统有15级中断,使用两级中断,使用两片片8259A,故,故4个初始化命令个初始化命令ICW1ICW4全部要写。全部要写。n操作命令操作命令

52、OCW不需要按顺序发送,一般也不要求安排在程序不需要按顺序发送,一般也不要求安排在程序开头,而是根据需要在程序中任意安排。开头,而是根据需要在程序中任意安排。65单片单片8259A系统的初始化编程系统的初始化编程nCAS2CAS0不用,不用, / 接接+5Vn端口地址端口地址020H和和021H两个端口两个端口n8个中断请求输入信号个中断请求输入信号IR0IR7均为边沿触发,采用完全均为边沿触发,采用完全嵌套方式嵌套方式n0级为最高优先级,级为最高优先级,7级为最低优先级级为最低优先级n中断类型号中断类型号08H0FHSPENIBM PC 中断系统中断系统82598259应用设计应用设计图6-18 8259在系统中的连接方式D0RDWRINTRINTAA0A15A1M/IO译码器A0INTAINTRWRRDD7D0CSIR0IR1中断源中断请求IR78259+5VSP/EN红线框中的地址可以是9位,用A1A9做译码线D7 中断源中断源67 8259A的编程举例的编程举例 系统上电期间,对系统上电期间,对8259A执行的初始化程序段执行的初始化程序段如下:如下:.MOV AL, 13H ;ICW1:边沿触发、单片、要:边沿触发、单片、要ICW4OUT 20H, ALMOV AL, 8 ;ICW2:中断类型号的高:中断类型

温馨提示

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

评论

0/150

提交评论