




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2022-6-16第 1页2022-6-16第 2页第七章 微型计算机中断系统概述概述中断处理过程中断处理过程中断优先级和中断嵌套中断优先级和中断嵌套可编程中断控制器可编程中断控制器8259A内容提要内容提要2022-6-16第 3页CPU正常运行程序时,微处理器内部事件或外设请求,引起正常运行程序时,微处理器内部事件或外设请求,引起CPU中中断正在运行的程序,转去执行请求中断的外设断正在运行的程序,转去执行请求中断的外设(或内部事件或内部事件)的服务的服务子程序,执行完毕,再返回被中止的程序,这一过程称为子程序,执行完毕,再返回被中止的程序,这一过程称为中断。 1. 中断源中断源 引起中断的
2、事件。包括外部中断和内部中断。引起中断的事件。包括外部中断和内部中断。2022-6-16第 4页3中断向量表中断向量表 CPU响应中断后,必须由中断源提供地址信息,引导程响应中断后,必须由中断源提供地址信息,引导程序进入中断服务子程序,这些序进入中断服务子程序,这些中断服务程序的入口地址存放中断服务程序的入口地址存放在中断向量表中在中断向量表中。内存中专门开辟一个区域,存放中断向量。内存中专门开辟一个区域,存放中断向量表表(也称中断矢量表也称中断矢量表)。 2022-6-16第 5页 5中断屏蔽中断屏蔽 当中断源申请中断时,当中断源申请中断时,CPU可以由软件设置,使之不能可以由软件设置,使之
3、不能响应,称为响应,称为中断屏蔽中断屏蔽。 对于各种计算机系统,中断系统的构成差别很大,但都对于各种计算机系统,中断系统的构成差别很大,但都具有基本功能:具有基本功能: 能实现中断响应、中断服务、中断返回、中断屏蔽;能实现中断响应、中断服务、中断返回、中断屏蔽; 能实现中断优先级排队;能实现中断优先级排队; 能实现中断嵌套。能实现中断嵌套。2022-6-16第 6页 2022-6-16第 7页 可屏蔽中断请求2022-6-16第 8页 由由CPU的引脚的引脚NMI引入,采用边沿触发,上升沿之后维持引入,采用边沿触发,上升沿之后维持两个两个时钟周期高电平时钟周期高电平有效。有效。不能用软件屏蔽,
4、一旦有不可屏蔽中断请求,如电源掉电等紧不能用软件屏蔽,一旦有不可屏蔽中断请求,如电源掉电等紧急情况,急情况,CPU必须予以响应。必须予以响应。 不可屏蔽中断请求的不可屏蔽中断请求的中断类型号为中断类型号为2,中断处理程序的入口地,中断处理程序的入口地址在址在0段的段的0008H000BH的的4个单元中。个单元中。2022-6-16第 9页由由CPU的引脚的引脚INTR引入,采用引入,采用,高电平有效,高电平有效,INTR信号的高电平必须维持到信号的高电平必须维持到CPU响应中断才结束。响应中断才结束。可用软件设置来屏蔽,即使外部设备有可屏蔽中断请求,可用软件设置来屏蔽,即使外部设备有可屏蔽中断
5、请求,CPU可以不予响应。可以不予响应。由外部设备引起的可屏蔽中断请求要得到响应有两个条由外部设备引起的可屏蔽中断请求要得到响应有两个条件:一个是外设中断请求件:一个是外设中断请求,一个是,一个是CPU中断。中断。2022-6-16第 10页 内部中断又称为软件中断。内部中断又称为软件中断。CPU执行一条执行一条INT n指令后会立即产生中断,并且调用系统中相应指令后会立即产生中断,并且调用系统中相应的中断处理程序去完成中断功能,指令中的中断处理程序去完成中断功能,指令中n指出了中断类型号。指出了中断类型号。类型类型0中断。中断。在除法运算中,若除数为在除法运算中,若除数为0或商超过寄存器所能
6、表达的范围,则产或商超过寄存器所能表达的范围,则产生类型生类型0中断,转入类型中断,转入类型0中断处理。中断处理。类型类型4中断,专用指令为中断,专用指令为INTO。在运算中,若溢出标志位在运算中,若溢出标志位OF置置1,下面紧跟溢出中断指令,下面紧跟溢出中断指令INTO,则产生类型则产生类型4中断;若中断;若OF为为0,INTO指令不起作用。指令不起作用。因此在加、减法运算指令后应安排一条因此在加、减法运算指令后应安排一条INTO指令,否则运算产生指令,否则运算产生溢出后无法向溢出后无法向CPU发出溢出中断请求。发出溢出中断请求。2022-6-16第 11页 类型类型1中断。中断。标志位标志
7、位TF1时,每条指令执行后,时,每条指令执行后,CPU自动产生类型自动产生类型1中断。中断。产生单步中断时,产生单步中断时,CPU同样自动地将同样自动地将PSW、CS和和IP内容入栈,内容入栈,然后清除然后清除TF、IF,进入单步中断处理程序,单步处理程序结束,进入单步中断处理程序,单步处理程序结束时,原来的时,原来的PSW从堆栈中取出,从堆栈中取出,CPU重新置成单步方式。重新置成单步方式。类型类型3中断。中断。 当当CPU,同时显示当前各寄存器和有关,同时显示当前各寄存器和有关存储器的内容及下条要执行的指令,供用户检查。存储器的内容及下条要执行的指令,供用户检查。设置断点即把一条断点指令设
8、置断点即把一条断点指令INT 3插入到断点设置处,插入到断点设置处,CPU执行执行到到INT 3指令便产生中断。指令便产生中断。2022-6-16第 12页 2022-6-16第 13页2022-6-16第 14页 2022-6-16第 15页 2022-6-16第 16页 2022-6-16第 17页 2022-6-16第 18页类型类型255中断入口中断入口 类型类型32中断入口中断入口类型类型31中断入口中断入口 类型类型5中断入口中断入口类型类型4中断入口(溢出中断)中断入口(溢出中断)类型类型3中断入口(断点中断)中断入口(断点中断)类型类型2中断入口(中断入口(NMI)类型类型1中
9、断入口(单步中断)中断入口(单步中断)类型类型0中断入口(除法出错)中断入口(除法出错)2022-6-16第 19页 2022-6-16第 20页2022-6-16第 21页2022-6-16第 22页 2022-6-16第 23页 2022-6-16第 24页 2022-6-16第 25页2022-6-16第 26页2022-6-16第 27页2022-6-16第 28页2022-6-16第 29页说明:说明:2022-6-16第 30页push ax;1、保护现场、保护现场push bxsti;2、开中断、开中断;3、中断处理、中断处理cli;4、关中断、关中断pop bx;5、恢复现场、
10、恢复现场pop axsti;6、开中断和、开中断和中断返回中断返回 iret2022-6-16第 31页2022-6-16第 32页2022-6-16第 33页2022-6-16第 34页2022-6-16第 35页2022-6-16第 36页2022-6-16第 37页2022-6-16第 38页2022-6-16第 39页2022-6-16第 40页2022-6-16第 41页2022-6-16第 42页2022-6-16第 43页 2022-6-16第 44页2022-6-16第 45页 2022-6-16第 46页2022-6-16第 47页 2022-6-16第 48页2022-6-
11、16第 49页 2022-6-16第 50页 2022-6-16第 51页 2022-6-16第 52页 从上图中可以看到:从上图中可以看到: 主程序必须有开中断指令主程序必须有开中断指令,使,使IF1,才能响应中断。,才能响应中断。进入中断处理程序时,系统自动关中断,在中断服务程进入中断处理程序时,系统自动关中断,在中断服务程序中必须有序中必须有STI开中断指令,这样才可以允许其它中断开中断指令,这样才可以允许其它中断进入实现中断嵌套。进入实现中断嵌套。 中断结束返回前要有中断结束返回前要有EOI中断结束命令中断结束命令,用来清除中断,用来清除中断服务寄存器中的对应位,允许低级中断进入。最后
12、有中服务寄存器中的对应位,允许低级中断进入。最后有中断返回指令断返回指令IRET,使程序返回到被中断的程序的断点处。,使程序返回到被中断的程序的断点处。1. 中断处理程序中中断处理程序中如果没有如果没有EOI指令指令,中断处理中不会受,中断处理中不会受其它中断影响,在其它中断影响,在执行执行IRET指令后指令后,因为自动返回中断,因为自动返回中断断点及中断标志寄存器断点及中断标志寄存器PSW的内容,当的内容,当IF的值为的值为1,系,系统便统便能开放中断能开放中断。 2022-6-16第 53页 一个一个正在执行的中断处理程序,中断服务寄存器相应位正在执行的中断处理程序,中断服务寄存器相应位置
13、置“1”,在开中断,在开中断(IF1)的情况下,能够被优先级高于的情况下,能够被优先级高于它的中断源中断。但如果中断处理中它的中断源中断。但如果中断处理中提前发出了提前发出了EOI命令命令,则清除了正在执行的中断服务,中断服务寄存器置则清除了正在执行的中断服务,中断服务寄存器置“1”位被清位被清0,允许响应同级或低级的中断申请。从上图中可,允许响应同级或低级的中断申请。从上图中可以看到在以看到在IR 2处理程序中,由于发出了处理程序中,由于发出了EOI命令,清除了命令,清除了IR2的中断服务寄存器,所以较低优先级的的中断服务寄存器,所以较低优先级的IR4请求到达后,请求到达后,转去处理转去处理
14、IR4中断请求。但这种情况要尽量避免,防止重中断请求。但这种情况要尽量避免,防止重复嵌套,使优先级高的中断不能及时服务,因此复嵌套,使优先级高的中断不能及时服务,因此一般一般EOI结束命令放在中断返回指令结束命令放在中断返回指令IRET前面前面 。2022-6-16第 54页一、一、8259A8259A的功能的功能具有具有8 8级优先权控制级优先权控制,通过级联可,通过级联可扩展到扩展到6464级优先权控制(主从式中级优先权控制(主从式中断系统)断系统)每一级中断都可以单独屏蔽或允每一级中断都可以单独屏蔽或允许许可提供中断类型号传送给可提供中断类型号传送给CPUCPU,从,从而能迅速地转至中断
15、服务程序而能迅速地转至中断服务程序可通过编程选择多种不同的工作可通过编程选择多种不同的工作方式方式2022-6-16第 55页内部总线缓冲器读/写逻 辑D7D0RDWRA0CS级联缓冲器/比较器CAS0SP/ENCAS1CAS2内部总线控制逻辑INTAINT中断服务寄存器(ISR)优先权裁决器(PR)中断请求寄存器(IRR)中断屏蔽寄存器(IMR)IR0IR7a) 内部结构图CSWRRDD7D0CAS0CAS1GNDVCCA0INTAIR7IR0INTSP/ENCAS21141528b) 引脚图二、二、8259A的内部结构及引脚的内部结构及引脚2022-6-16第 56页8259A的级联缓冲的
16、级联缓冲/比较器比较器缓冲方式缓冲方式8259A通过总线驱动器和数据总线相连通过总线驱动器和数据总线相连SP/EN作输出端作输出端(连总线驱动器允许端连总线驱动器允许端)EN0,数据:,数据:8259ACPU EN1,数据:,数据:CPU8259A非缓冲方式非缓冲方式8259A直接与数据总线相连直接与数据总线相连SP/EN作输入端作输入端SP1,主片,主片 SP0,从片,从片2022-6-16第 57页1、8259A的编程结构的编程结构SP/ENCA0CA1CA2IORIOW总线总线D0D7数数 据据 线线D0D7INTAINTRA0片片选选译译码码A5A9CSA0RD INTAWRINT 1
17、 I3 I4ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片连接关主从片连接关系系 ICW4 方式控制方式控制0111A01 0 0 1 0 1 0 0O C W 1 中 断 屏 蔽 寄 存 器中 断 屏 蔽 寄 存 器 IMR 0 0 OCW2 优先级设置、发优先级设置、发EOI 0 1 OCW3特殊屏蔽特殊屏蔽,查询方式设置查询方式设置处理部分处理部分控制部分控制部分000 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器PR优先级优先级裁决器裁决器VCCGND1 10 00 0A0IR0IR1IR2IR3IR4IR5IR6IR7IRR中断中断申请
18、申请寄存器寄存器000 0 0 0 0 0 三、三、8259A的中断管理方式的中断管理方式2022-6-16第 58页4个初始化命令寄存器个初始化命令寄存器 ICW1、ICW2 ICW3、ICW4 3个操作命令寄存器个操作命令寄存器 OCW1(IMR) OCW2、OCW3当前中断服务寄存器当前中断服务寄存器 ISR中断申请寄存器中断申请寄存器 IRR 8259A内部有内部有9个个 可读写的寄存器可读写的寄存器8259A的编程结构的编程结构 1 I3 I4ICW1 芯片控制芯片控制 ICW2 中断类型号中断类型号 ICW3 主从片关系主从片关系 ICW4 方式控制方式控制处理部分处理部分控制部分
19、控制部分000 0 0 0 0 0 ISR当前当前中断中断服务服务寄存器寄存器PR优先级优先级裁决器裁决器IRR中断申请中断申请寄存器寄存器000 0 0 0 0 0 中断屏蔽寄存器中断屏蔽寄存器 IMROCW2 1 0 0 1 0 1 0 0 0 0 0 1 OCW3OCW18259A中断控制器中断控制器2022-6-16第 59页(1) 初始化命令字初始化命令字(ICW1- - ICW4) 决定决定8259A的工作方式的工作方式 通常是在计算机系统启动时在初始程序设置,通常是在计算机系统启动时在初始程序设置, 一旦设定,一般在系统工作过程不再改变。一旦设定,一般在系统工作过程不再改变。例例
20、 开机后,开机后,BIOS将将8259A初始化为:初始化为: IR0IR7中断申请信号为上升沿触发方式;中断申请信号为上升沿触发方式; IR0IR7对应的中断类型号分别为对应的中断类型号分别为08H0FH; 优先级优先级IR0最高最高, IR7最低;最低;2022-6-16第 60页(2) 操作命令字操作命令字(OCW1,OCW2,OCW3) 在应用程序中设定,动态地控制在应用程序中设定,动态地控制CPU处理中处理中断的过程断的过程(3) ISR和和IRR存放当前存放当前8259A的状态的状态 通过读取通过读取 ISR 和和 IRR 的内容,可了解当前的内容,可了解当前8259A工作情况工作情
21、况2022-6-16第 61页(1 1)全嵌套方式)全嵌套方式 8259A8259A的中断请求输入端引入的中断具有固定的优先的中断请求输入端引入的中断具有固定的优先权排队顺序,权排队顺序,IRIR0 0为最高优先级,为最高优先级,IRIR1 1为次高优先级,为次高优先级,依次类推,依次类推,IRIR7 7为最低优先级。为最低优先级。 2、优先级设置方式、优先级设置方式2022-6-16第 62页(2 2)特殊全嵌套方式)特殊全嵌套方式 特殊全嵌套方式和全嵌套方式基本相同,只有一点特殊全嵌套方式和全嵌套方式基本相同,只有一点不同,就是在特殊全嵌套方式下,当处理某一级中不同,就是在特殊全嵌套方式下
22、,当处理某一级中断时,如果有同级的中断请求,那么,也会给予响断时,如果有同级的中断请求,那么,也会给予响应,从而实现一种对同级中断请求的特殊嵌套。应,从而实现一种对同级中断请求的特殊嵌套。注注: : 特殊全嵌套仅用于多个特殊全嵌套仅用于多个8259A8259A级连时的主级连时的主8259A8259A,而不能用于从属,而不能用于从属8259A8259A或单或单8259A8259A系统。系统。 2022-6-16第 63页(3 3)优先级自动循环方式。)优先级自动循环方式。初始时,优先次序为初始时,优先次序为IR0IR7IR0IR7,IR0IR0最高,最高,IR7IR7最低。当最低。当某级中断响应
23、后,则优先级降为最低。而其后的与之相某级中断响应后,则优先级降为最低。而其后的与之相邻的优先级升为最高。如,邻的优先级升为最高。如,IR3IR3响应后的优先级次序变响应后的优先级次序变为为IR4IR4,IR5IR5,IR6IR6,IR7IR7,IR0IR0,IR1IR1,IR2IR2,IR3IR3。(4 4)优先权特殊循环方式。)优先权特殊循环方式。优先权特殊循环方式与优先权循环方式相比仅有一点不优先权特殊循环方式与优先权循环方式相比仅有一点不同,就是在优先权特殊循环方式下,一开始的最低优先同,就是在优先权特殊循环方式下,一开始的最低优先权是由编程确定的。权是由编程确定的。 2022-6-16
24、第 64页3、中断结束的管理方式(固定优先级的中断结束)、中断结束的管理方式(固定优先级的中断结束) 中断结束的管理就是用不同的方式使中断结束的管理就是用不同的方式使ISR中相应位中相应位清零。清零。普通结束方式普通结束方式EOI 8259A每得到一次每得到一次EOI命令,就将命令,就将ISR中已置位的中已置位的各位中优先级最高的位复位。各位中优先级最高的位复位。特殊结束方式特殊结束方式SEOI 该方式的特殊性在于,除了普通该方式的特殊性在于,除了普通EOI方式的功能方式的功能外,将明确指明本次复位的外,将明确指明本次复位的ISR位。位。自动结束方式自动结束方式AEOI 自动自动EOI方式是利
25、用响应中断时最后一个响应脉方式是利用响应中断时最后一个响应脉冲的后沿执行一次普通冲的后沿执行一次普通EOI,而不需要,而不需要CPU发送发送EOI指令,这时指令,这时CPU为中断服务而为中断服务而ISR没有指示。没有指示。2022-6-16第 65页4、循环优先级的循环方法、循环优先级的循环方法 在循环优先级方式中,与中断结束方式联合,在循环优先级方式中,与中断结束方式联合,有三种循环结束,结束时并确定下面的优先权排队。有三种循环结束,结束时并确定下面的优先权排队。(1)普通)普通EOI循环方式循环方式当任地级中断结束处理完后,使当任地级中断结束处理完后,使CPU给给8259A回送回送普通普通
26、EOI循环命令,循环命令,8259A收到收到EOI循环命令后将循环命令后将ISR寄存器中最高优先级的寄存器中最高优先级的IRi置置“1”位清位清“0”并赋并赋给它最低优先级,将最高优先级赋给它的下一级给它最低优先级,将最高优先级赋给它的下一级IRi+1。2022-6-16第 66页(2)特殊)特殊EOI循环方式循环方式特殊特殊EOI循环方式即指定最低级循环方式,最低优先级循环方式即指定最低级循环方式,最低优先级由编程决定,最高优先级也相应而定,这样在当前中断由编程决定,最高优先级也相应而定,这样在当前中断服务结束前,使服务结束前,使CPU给给8259A回送特殊回送特殊EOI结束命令,结束命令,
27、8259A收到此命令字后,指定最低优先级,并重新排列收到此命令字后,指定最低优先级,并重新排列优先级别。优先级别。(3)自动)自动EOI循环方式循环方式自动自动EOI方式是利用响应中断时最后一个响应脉冲的后方式是利用响应中断时最后一个响应脉冲的后沿执行一次普通沿执行一次普通EOI,自动将,自动将ISR寄存器中相应位清寄存器中相应位清0,并立即改变各级中断的优先级别,改变方式与普通并立即改变各级中断的优先级别,改变方式与普通EOI循环循环方式相同。这时循环循环方式相同。这时CPU为中断服务而为中断服务而ISR没有指没有指示,使用这种方式要小心,防止重复嵌套产生。示,使用这种方式要小心,防止重复嵌
28、套产生。2022-6-16第 67页IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 ISR 内容内容 0 0 1 0 0 1 0 0 原始原始状状 态态 优先级优先级 7 6 5 4 3 2 1 0 ISR 内容内容 0 0 1 0 0 0 0 0 处理完处理完IR2 优先级优先级 4 3 2 1 0 7 6 5 ISR 内容内容 0 0 0 0 0 0 0 0 处理完处理完IR5 优先级优先级 1 0 7 6 5 4 3 2 IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 ISR 内容内容 0 1 0 0 0 1 0 0 原始原始状状 态态 优先级优先级 7
29、6 5 4 3 2 1 0 ISR 内容内容 0 1 0 0 0 1 0 0 执行置位执行置位 优先权优先权 优先级优先级 3 2 1 0 7 6 5 4 ISR内容内容 0 1 0 0 0 0 0 0 处理完处理完IR2 优先级优先级 4 3 2 1 0 7 6 5 普通普通EOIEOI循环方式循环方式特殊特殊EOIEOI循环方式(正在处理循环方式(正在处理IR2IR2)2022-6-16第 68页5 5、中断屏蔽方式、中断屏蔽方式 (1 1)普通屏蔽方式。)普通屏蔽方式。这种屏蔽方式是通过编程将中断屏蔽字写入这种屏蔽方式是通过编程将中断屏蔽字写入IMRIMR而实现的。若写而实现的。若写入某
30、位为入某位为1 1,则对应的中断请求被屏蔽;为,则对应的中断请求被屏蔽;为0 0,则对应的中断请求,则对应的中断请求被开放。被开放。 (2 2)特殊屏蔽方式。)特殊屏蔽方式。在执行较高级的中断服务时,希望开放较低级的中断请求。在执行较高级的中断服务时,希望开放较低级的中断请求。采用采用普通屏蔽普通屏蔽方式是不能实现这一要求的,因为用普通方式时,即使方式是不能实现这一要求的,因为用普通方式时,即使把较低级的中断请求开放,但由于把较低级的中断请求开放,但由于ISRISR中当前正在服务的较高中中当前正在服务的较高中断级的对应位仍为断级的对应位仍为“1”1”,它会禁止所有优先级比它低的中断请,它会禁止
31、所有优先级比它低的中断请求。采用特殊屏蔽方式,可在中断服务程序中用中断屏蔽命令字求。采用特殊屏蔽方式,可在中断服务程序中用中断屏蔽命令字来屏蔽当前正在服务的中断级别(即设置来屏蔽当前正在服务的中断级别(即设置IMRIMR的相应位为的相应位为“1”1”),同时使,同时使ISRISR中对应位清中对应位清“0”0”,这样就不但屏蔽了当前正在服务,这样就不但屏蔽了当前正在服务的中断级,同时真正开放了其它优先级较低的中断请求。的中断级,同时真正开放了其它优先级较低的中断请求。 2022-6-16第 69页6 6、中断请求引入方式、中断请求引入方式2022-6-16第 70页四四 8259A8259A的编
32、程方法的编程方法初始化命令字初始化命令字ICWICW,操作命令字,操作命令字OCWOCW;系统复位后,应初始化编程,系统复位后,应初始化编程,按次序只写一次;按次序只写一次; 设定触发方式、缓冲方式、类型号基值、优先设定触发方式、缓冲方式、类型号基值、优先级、级、 结束方式结束方式初始化后,在任何位置可操作编程,没有严格顺序初始化后,在任何位置可操作编程,没有严格顺序,允许重置,以动态改变,允许重置,以动态改变8259A8259A的操作与控制。的操作与控制。2022-6-16第 71页1 18259A8259A的初始化命令字的初始化命令字(1 1)初始化命令字)初始化命令字ICW1ICW11L
33、TIMADISNGLICW4D7D6D5D4D3D2D1D0A00D D3 3(LTIMLTIM)表示中断请求信号起作用的触发方式。)表示中断请求信号起作用的触发方式。D D3 3=1=1为电平触为电平触发,发,D D3 3=0=0为边沿触发。为边沿触发。 D D1 1(SNGLSNGL)表示系统是使用单片)表示系统是使用单片8259A8259A还是多片还是多片8259A8259A。D D1 1=1=1为单为单片,片,D D1 1=0=0为多片。为多片。 D D0 0(ICW4ICW4)表示是否需要)表示是否需要ICW4ICW4。D D0 0=1=1为需要,为需要,D D0 0=0=0为不需要
34、。为不需要。 D D2 2(ADIADI)在)在808080808085CPU8085CPU模式下用,模式下用,80 x86 CPU80 x86 CPU模式下不用。模式下不用。 2022-6-16第 72页(2 2) 初始化命令字初始化命令字ICW2ICW2设定设定8259A8259A的中断类型号的中断类型号 T7D7D6D5D4D3D2D1D0A01T6T4T5T3D D7 7D D3 3为中断类型号的高为中断类型号的高5 5位,由用户给出。低位,由用户给出。低3 3位由位由8259A8259A按按IRIR0 0IRIR7 7三位编码值自动填入。三位编码值自动填入。 2022-6-16第 7
35、3页(3 3)初始化命令字)初始化命令字ICW3ICW3(多片时需要)(多片时需要)8259A8259A作为主片的格式:(作为主片的格式:(Di=1Di=1表示表示IRiIRi接有从片)接有从片)D7D6D5D4D3D2D1D0A01S7S5S6S4S3S2S1S08259A8259A作为从片的格式:作为从片的格式: 0ID2ID1ID0D7D6D5D4D3D2D1D0A010000表示从片的表示从片的INTINT输出与主片输出与主片8259A8259A中的哪一个中的哪一个IRiIRi相连接相连接 2022-6-16第 74页(4)4) 初始化命令字初始化命令字ICW4ICW4 SFNMM/S
36、AEOIPMD7D6D5D4D3D2D1D0A01000BUFD D0 0(PMPM):):D D0 0=1=1为为80 x8680 x86系统,系统,D D0 0=0=0为为8080808080858085系统。系统。D D1 1(AEOI)AEOI):表示是否采用自动结束中断方式,:表示是否采用自动结束中断方式,D D1 1=1=1为自动中断为自动中断结束方式,结束方式,D D1 1=0=0为非自动中断结束方式。为非自动中断结束方式。 D D2 2(M/SM/S):):D D2 2=1=1为主片,为主片,D D2 2=0=0为从片。为从片。 D D3 3(BUFBUF):):D D3 3=
37、1=1表示有缓冲器表示有缓冲器D D3 3=0=0表示没有缓冲器。表示没有缓冲器。( (决定决定8259A8259A和系统数据总线之间是否有缓冲器和系统数据总线之间是否有缓冲器) )D D4 4(SFNMSFNM):):D D4 4=1=1为特殊全嵌套方式,为特殊全嵌套方式,D D4 4=0=0为全嵌套方式。(用为全嵌套方式。(用于设定级联方式下的优先权管理方式)于设定级联方式下的优先权管理方式) 2022-6-16第 75页写入初始化命令字的流程:写入初始化命令字的流程: ICW1ICW2级联?ICW3需ICW4?ICW4YYNN2022-6-16第 76页2 28259A8259A的操作命
38、令字的操作命令字 (1 1) 操作命令字操作命令字OCW1OCW1(屏蔽操作命令字)(屏蔽操作命令字)D7D6D5D4D3D2D1D0A01M7M5M6M4M3M2M1M0Mi=1表示IRi上的中断请求被屏蔽 2022-6-16第 77页(2 2)操作命令字)操作命令字OCW2OCW2(中断方式命令字)(中断方式命令字)D D7 7(R R):中断排队是否循环的标志。):中断排队是否循环的标志。R=1R=1为优先级循环方式,为优先级循环方式,R=0R=0为固定优为固定优先级方式。先级方式。 D D6 6(SLSL):选择):选择L L2 2L L1 1L L0 0编码是否有效的标志。若编码是否
39、有效的标志。若SL=1SL=1,则,则L L2 2L L1 1L L0 0编码有效,若编码有效,若SL=0SL=0,则无效。,则无效。 D D5 5(EOIEOI):中断结束命令。):中断结束命令。D D5 5=1=1时,则使现行的时,则使现行的ISRISR中最高优先级的相应位中最高优先级的相应位复位(一般中断结束方式),或由复位(一般中断结束方式),或由L L2 2L L1 1L L0 0指定的指定的ISRISR相应位复位(特殊中相应位复位(特殊中断结束方式)。断结束方式)。 D D2 2D D1 1D D0 0(L L2 2L L1 1L L0 0):对应):对应8 8个二进制编码,有两个
40、作用:一是用在特殊个二进制编码,有两个作用:一是用在特殊EOIEOI命令命令中,表示清除的是中,表示清除的是ISRISR的哪一位;另一是用在优先权特殊循环方式中,表的哪一位;另一是用在优先权特殊循环方式中,表示系统中最低优先级编码。示系统中最低优先级编码。 0L2L1L0D7D6D5D4D3D2D1D0A00EOISLR02022-6-16第 78页(3 3) 操作命令字操作命令字OCW3OCW3(状态操作命令字)(状态操作命令字)D D6 6D D5 5:决定:决定8259A8259A是否工作于特殊屏蔽方式。是否工作于特殊屏蔽方式。D D6 6D D5 5为为1111时,时,8259A825
41、9A为特殊屏蔽方式;为特殊屏蔽方式;D D6 6D D5 5为为1010时,时,8259A8259A为一般屏蔽方为一般屏蔽方式。式。 D D1 1D D0 0:两位规定随后读取的寄存器。:两位规定随后读取的寄存器。D D1 1D D0 0为为1111时,表示要读时,表示要读ISRISR;D D1 1D D0 0为为1010时,表示要读时,表示要读IRRIRR。D2(P)D2(P):决定:决定8259A8259A是否处于程序查询方式。是否处于程序查询方式。D2=1D2=1时,时,8259A8259A处处于程序查询方式。当于程序查询方式。当8259A8259A发出查询命令后,随后从偶地发出查询命令
42、后,随后从偶地址读出的数据即为中断请求状态字。址读出的数据即为中断请求状态字。0PRRRISD7D6D5D4D3D2D1D0A00SMMESMM01OCW3命令字有三个功能:命令字有三个功能:设置或撤消特殊屏蔽方式;设置或撤消特殊屏蔽方式;设置中断查询方式;设置中断查询方式;设置读设置读8259A内部寄存器方式。内部寄存器方式。 2022-6-16第 79页8259A8259A的应用举例的应用举例80868086最小模式与最小模式与8259A8259A接口如下接口如下, , 外设中断请求分别从外设中断请求分别从IR2 IR2 、IR4 IR4 、IR7IR7引入引入, , 中断类型号从中断类型
43、号从0C0H0C0H0C7H0C7H,采,采用上升沿触发,写出用上升沿触发,写出8259A8259A初始化程序。初始化程序。 D0D7 RD WR A1 A7 A6 A5 A0 M/IO A4 A3 A2 INTR INTAD0D7RDWRA0 IR2 IR4 IR7CSINTINTAGG2AG2BC Y1BA11端口地址:10000100B 84H10000110B 86H2022-6-16第 80页CLI ;关中断;关中断MOV AL,13H ;ICW1:00010011B边沿触发,单片,边沿触发,单片, 需要需要 ICW4OUT84H,ALMOV AL,0C0H ;ICW2:中断类型码的
44、:中断类型码的D7D3位为位为11000OUT86H,ALMOV AL,01H ;ICW4:00000001B 全嵌套全嵌套,非缓冲非缓冲,非自动非自动EOIOUT86H,ALMOV AL,6BH ;OCW1:01101011B屏蔽屏蔽IR0.1.3.5.6OUT86H,ALSTI ;开中断;开中断若要读若要读IRR的内容的内容MOV AL,0AH ;OCW3:00001010BOUT 84H,ALNOPIN AL,84H2022-6-16第 81页若要读若要读ISR的内容的内容MOV AL,0BH ; OCW3: 00001011BOUT 84H,ALNOPIN AL,84H若要读若要读IM
45、R的内容,可直接从高地址读入的内容,可直接从高地址读入IN AL,86H若中断是关闭的,可采用查询方式,看是否有中断若中断是关闭的,可采用查询方式,看是否有中断NEXT:MOV AL,0CH; OCW3: 00001100B OUT 84H,AL NOP IN AL,84H TEST AL,80H JZ NEXT2022-6-16第 82页例例2 2:某:某80868086系统中有两片系统中有两片8259A8259A,从片接主片的,从片接主片的IR4IR4,主片,主片IR2IR2、IR5IR5有外部中断引入,类型号分别为有外部中断引入,类型号分别为62H62H、65H65H;从片;从片IR0I
46、R0、IR3IR3有外部中断引入,类型号分别为有外部中断引入,类型号分别为40H40H、43H43H。设主。设主片的一个端口地址为片的一个端口地址为82H82H,从片的一个端口地址为,从片的一个端口地址为84H84H,分,分别进行初始化编程。别进行初始化编程。分析端口地址:分析端口地址:主片主片 10000010 82H 10000000 80H从片从片 10000100 84H 10000110 86H类型号基值:类型号基值: 主片主片 60H从片从片 40H2022-6-16第 83页主片初始化程序主片初始化程序MOV AL,11H;ICW1,00010001B 边沿触发边沿触发 级连级连
47、OUT 80H,AL;MOV AL,60H;类型号基值;类型号基值OUT 82H,AL;MOV AL, 00010000B ;OUT 82H,AL;MOV AL,11H;ICW4,00010001B 特殊嵌套特殊嵌套 非缓冲非缓冲 非自动非自动OUT 82H,AL;MOV AL,11001011B;OUT 82H,AL;2022-6-16第 84页从片初始化程序从片初始化程序MOV AL,11H;00010001B 边沿触发边沿触发 级连级连OUT 84H,AL;MOV AL,40H;类型号基值;类型号基值OUT 86H,AL;MOV AL, 00000100B ;OUT 86H,AL;MOV
48、 AL,01H;00000001B 完全嵌套完全嵌套 非缓冲非缓冲 非自动非自动 80X86OUT 86H,AL;MOV AL,11110110B;OUT 86H,AL;2022-6-16第 85页【例【例3 3】 试编程实现主机每试编程实现主机每次响应次响应8259A8259A的的IR2IR2中断请求,中断请求,显示字符串显示字符串“This is a This is a 8259A interrupt!”8259A interrupt!”,中断,中断1010次结束。次结束。8259A8259A偶地址端口为偶地址端口为20H20H,奇地址端口为,奇地址端口为21H21H,IR2IR2的中断类
49、型号为的中断类型号为0AH0AH。程序流。程序流程如图,程序如下:程如图,程序如下:开始关中断设置中断向量8259A初始化中断次数初始化开中断中断次数到?禁止IR2中断结束YN主程序中断服务程序显示字符串中断次数减1发中断结束命令中断返回2022-6-16第 86页DATA SEGMENTDATA SEGMENT MESS DB This is a 8259A interrupt!,0Ah,0Dh,$ MESS DB This is a 8259A interrupt!,0Ah,0Dh,$DATA ENDSDATA ENDSCODE SEGMENTCODE SEGMENT ASSUME CS:
50、CODE, DS:DATA ASSUME CS:CODE, DS:DATA START:MOV AX, DATA START:MOV AX, DATA MOV DS, AX MOV DS, AX CLI CLI ;关中断;关中断 PUSH DSPUSH DS MOV AX, SEG DISPLAY MOV AX, SEG DISPLAY ;取中断服务程序入口段地址;取中断服务程序入口段地址 MOV DS, AXMOV DS, AX MOV DX, OFFSET DISPLAY MOV DX, OFFSET DISPLAY ;取中断服务程序入口偏移地址;取中断服务程序入口偏移地址 2022-6-
51、16第 87页 MOV AX,250AH MOV AX,250AH ;设置中断向量;设置中断向量 INT 21HINT 21H POP DS POP DS MOV AL,13H MOV AL,13H ;设置;设置ICWICW1 1,边沿触发,单片,边沿触发,单片8259A8259A,需,需ICWICW4 4 OUT 20H,AL OUT 20H,AL MOV AL,08H MOV AL,08H ;设置;设置ICWICW2 2,中断类型号的高,中断类型号的高5 5位为位为0000100001 OUT 21H,AL OUT 21H,AL MOV AL,05H MOV AL,05H ;设置;设置IC
52、WICW4 4,非,非AEOIAEOI方式,完全嵌套方式方式,完全嵌套方式 OUT 21H,ALOUT 21H,AL IN AL, 21H IN AL, 21H ;读取;读取IMRIMR AND AL,0FBH AND AL,0FBH ;开放;开放IRIR2 2 OUT 21H,AL OUT 21H,AL MOV BL,10 MOV BL,10 ;初始化中断次数;初始化中断次数 STI STI 2022-6-16第 88页WAIT1:CMP BL,0WAIT1:CMP BL,0 NOP NOP JNZ WAIT1 JNZ WAIT1 CLI CLI IN AL,21H IN AL,21H OR
53、 AL,04H OR AL,04H ;禁止;禁止IR2IR2 OUT 21H,AL OUT 21H,AL STI STI MOV AH,4CH MOV AH,4CH ;返回;返回DOSDOS INT 21H INT 21H 2022-6-16第 89页 DISPLAY PROC NEAR DISPLAY PROC NEAR LEA DX, MESS LEA DX, MESS ;显示字符串;显示字符串 MOV AH, 09HMOV AH, 09H INT 21H INT 21H DEC BL DEC BL MOV AL, 20H MOV AL, 20H ;发送中断结束命令;发送中断结束命令 OUT 20H, ALOUT 20H, AL IRET IRET DISPLAY ENDP DISPLAY ENDPCODE ENDSCODE ENDS END START END START 2022-6-16第 90页五、 8259A的级联 在一个中断系统中,可以使用多片在一个中断系统中,可以使用多片8259A8259A,采用级联方,采用级联方法,使中断优先级从法,使中断优先级从8 8级可扩展到级可扩展到6464级。在级联时,只级。在级联时,只能
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学生思修课程的总结(11篇)
- 孙子兵法读书心得体会范文(17篇)
- 有写《假如给我三天光明》的读书心得(19篇)
- 新2025附期限动产赠与合同(16篇)
- 2025年新会计实习自我鉴定(20篇)
- 粉刷承包合同(19篇)
- 社交软件合同履约金约定
- 购房者保障权益协议
- 绿化数据监测协议
- 商品买卖协议书模板
- 2025陕西汉中汉源电力(集团)限公司招聘56人易考易错模拟试题(共500题)试卷后附参考答案
- 南京师范大学自主招生个人陈述范文与撰写要点
- 铁粉运输合同协议
- 计算机网络安全知识试题及答案2025年计算机二级考试
- 浙江省A9协作体2024-2025学年高二下学期4月期中联考语文试卷(含答案 )
- (四调)武汉市2025届高中毕业生四月调研考试 语文试卷(含答案详解)
- 广州广州市天河区华阳小学-毕业在即家校共话未来-六下期中家长会【课件】
- 第4单元 亮火虫(教学设计)-2024-2025学年粤教花城版(2024)音乐一年级下册
- 车间生产材料管理制度
- 西师大版小学五年级数学(下)期中测试题(含答案)
- 广东省深圳市龙华区2023-2024学年七年级下学期期中数学试题(含答案)
评论
0/150
提交评论