




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第9章 微型计算机中断技术 9.1 中断的基本概念9.2 8086的中断结构9.3 可编程中断控制器8259A9.1 中断的基本概念 9.1.1 中断及中断源9.1.2 中断系统的功能9.1.3 中断工作过程9.1.1 中断及中断源1. 中断 在CPU正常运行程序时,由于内部事件、外部事件或由程序预先安排的事件所引起的CPU暂时停止正在运行的程序,而转去执行请求CPU服务的内部/外部事件或预先安排事件的服务程序,待服务程序处理完毕后又返回去继续执行被暂停的程序。2. 中断源 发出中断请求的外部设备或引起中断的内部原因称为中断源。 中断源有以下几种: 外设中断源。 故障中断源。 软件中断源。 为
2、调试而设置的中断源。 定时时钟。9.1.2 中断系统的功能 中断的实现与返回能实现优化级排队能实现中断的嵌套9.1.3 中断工作过程 9.2 8086的中断结构 9.2.1 8086中断类型9.2.2 中断向量和中断向量表9.2.3 8086的中断响应过程9.2.1 8086中断类型 8086采用向量中断,每个中断对应一个中断类型号0255,共256个。 图9.3 8086中断结构图。 8086/8088 CPU中断逻辑指令中断断点中断溢出中断除法错单步中断N43012NMI 非屏蔽中断请求INTR中断控制器A可屏蔽中断请求9.2.1 8086中断类型 1. 外部中断 :由外部硬件引起的中断,
3、也叫硬件中断, 是CPU外部中断请求信号引脚上输入有效的中断请求信号引起的,分为非屏蔽中断和可屏蔽中断两种。非屏蔽中断NMI。用户不能用软件屏蔽的中断。可屏蔽中断INTR。8086的INTR中断请求信号来自中断控制器8259A,是电平触发方式,高电平有效。 2. 内部中断:由CPU内部事件引起的中断,内部中断也称软件中断,包括溢出中断、除法出错中断、单步中断、断点中断和指令设置的中断。IRQ标准应用IRQ标准应用PC/XTNMIRAM、I/O校验错、8087运算错0定时/计数器0通道的时钟4异步通信1(COM1)1键盘中断5硬磁盘控制器2保留(网络适配器)6软磁盘控制器3异步通信(COM2)7
4、并行打印机(LPT1)PC/ATNMIRAM、I/O校验错、8087运算错0系统时钟(18.2HZ)8日历实时钟1键盘中断9改向INT 0AH(以IRQ2出现)2接收从片8259A的中断请求INT10保留3异步通信2(COM2)11保留4异步通信1(COM1)12PS/2鼠标器5并行口2(LPT2)13协处理器6软磁盘控制器14硬磁盘控制器7并行口1(LPT1)15保留表9.1 IBM PC/XT和IBM PC/AT系统外部中断2. 内部中断 溢出中断:INTO指令,条件:OF=1 。 除法出错中断:在执行除法指令时,若除数为0或商大于目的寄存器所能表达的范围,产生一个向量号为0的内部中断。
5、单步中断:单步中断标志TF为1时,在每条指令执行结束后,产生一个向量号为1的内部中断。单步中断为系统提供了一种方便的调试手段,能够逐条地执行指令。 断点中断:INT 3指令中断,执行一个INT 3指令,产生一个向量号为3的内部中断。断点中断常用于设置断点,停止正常程序的执行,转去执行某种类型的特殊处理,用于调试程序。 指令中断:中断指令INT n。 8086的中断优先级由高到低依次为软件中断(单步中断除外)、非屏蔽中断NMI、可屏蔽中断INTR、单步中断。9.2.2 中断向量和中断向量表 8086/8088CPU采用向量中断,向量中断首先根据中断类型号获得中断向量,中断向量包含中断服务程序的入
6、口地址信息。中断类型号:每个中断的编号,0255,共256个中断。中断向量:中断服务程序的入口地址信息,共4个字节,段地址及偏移地址(CS:IP) 。中断向量表:把系统中所有的中断向量集中起来放到存储器的某一区域内,这个存放中断向量的存储区就叫中断向量表或中断服务程序入口地址表。中断向量地址:中断向量在表中的位置称为中断向量地址。 中断向量地址中断类型号4表9.2 8086CPU中断向量表 存储器地址(中断向量地址)存储器内容(中断向量)对应中断类型号00000H中断服务程序入口偏移地址低8位000001H中断服务程序入口偏移地址高8位00002H中断服务程序入口段地址低8位00003H中断服
7、务程序入口段地址高8位00004H中断服务程序入口偏移地址低8位100005H中断服务程序入口偏移地址高8位00006H中断服务程序入口段地址低8位00007H中断服务程序入口段地址高8位003FCH中断服务程序入口偏移地址低8位255003FDH中断服务程序入口偏移地址高8位003FEH中断服务程序入口段地址低8位003FFH中断服务程序入口段地址高8位8086/8088的中断向量表00000H00003H00008H0000BH00004H00007H0000CH0000FH00010H00013H0000CH0007FH00080H003FCHIP内容CS内容类型0中断入口地址(除法出错
8、)类型1中断入口地址(单步中断)类型2中断入口地址(NMI)类型3中断入口地址(断点中断)类型4中断入口地址(溢出中断)类型5中断入口地址类型31中断入口地址类型32中断入口地址类型255中断入口地址专用的中断(5)用户可自定义的中断(224)系统保留的中断(27)例:假设在实地址方式下,内存00140H到00147H中存放的数据如右图所示,求51H号中断的中断服务程序入口地址。解:1、求中断向量地址 首地址 51H4=144H (左移两位方法) 末地址 51H4+3=147H2、确定中断向量,即00144H到00147H单元中的内容。 段地址 = 4540H 偏移地址 = 3430H, 所以
9、中断服务程序入口地址为 段地址 16 + 偏移地址 = 45400H + 3430H = 48830H9.2.3 8086的中断响应过程 内部中断响应过程外部中断响应过1内部中断响应过程将类型号乘4,计算出中断向量的地址;CPU的标志寄存器入栈,以保护各个标志位,此操作类似于PUSHF指令。清除IF和TF标志,屏蔽新的INTR中断和单步中断。保存断点,即把断点处的IP和CS值压入堆栈,先压入CS值,再压入IP值。根据第一步计算出来的地址从中断向量表中取出中断服务程序的入口地址(段和偏移),分别送至CS和IP中。转入中断服务程序执行。内部中断的特点 内部中断是由指令或程序运行时标志位状态的改变引
10、起的,因此是可以预测的,这有点类似于子程序调用。内部中断由CPU内部引起,中断类型号的获得与外部无关,CPU不需要执行中断响应周期去获得中断类型号。除单步中断外,内部中断无法用软件禁止,不受中断允许标志IF的影响。2外部中断响应过程非屏蔽中断响应: NMI中断不受IF标志的影响,也不用外部接口给出中断类型号,CPU响应NMI中断时也没有中断响应周期。 可屏蔽中断响应: 当INTR信号有效时,如果中断允许标志IF1,则CPU就在当前指令执行完毕后,产生两个连续的中断响应总线周期。图9.4 8086对INTR的中断响应时序 处理器接到中断申请,处理完当前指令即进入响应周期。 第二阶段即中断响应周期
11、,在其间CPU向外部中断控制器发送两个响应脉冲信号INTA#。 第一个响应脉冲通知中断控制器,已经响应外部中断请求,让中断控制器提供中断类型号。 第二个响应脉冲,CPU取走中断类型号。可屏蔽中断的响应过程 将标志寄存器中的内容压入堆栈保护,然后清IF和TF标志,以禁止INTR引脚以及陷井和单步中断。 将断点地址压入堆栈(CS:IP)。 断点地址:指中断时CPU待执行的下一条指令对应的逻辑地址。顺序:先压入断点地址CS,后压入偏移地址EIP(或IP)。CPU得到中断类型号码n后,通过中断类型号与中断服务程序入口地址的关系找出该类型对应的段基地址和偏移地址,从而转入中断服务程序入口地址。完成中断响
12、应任务。图9.5 可屏蔽中断的响应和处理过程 9.3 可编程中断控制器8259A 9.3.1 8259A的功能9.3.2 8259A的内部结构与引脚信号9.3.3 8259A的工作方式9.3.4 8259A编程方法9.3.1 8259A的功能 具有8级优先级,并可通过级联最多扩展至64级;可通过编程屏蔽或开放接于其上的任一中断源;在中断响应周期能自动向CPU提供可编程的标识码,如8086的中断类型号;可编程选择各种不同的工作方式。9.3.2 8259A的内部结构与引脚信号 数据总线缓冲器的主要功能有: 通过数据总线缓冲器,CPU向8259A内部发送命令。 CPU接收8259A状态信息。 在中断
13、响应周期,CPU从中获得中断类型号。数据总线缓冲器 数据总线缓冲器是一个三态、双向的8位缓冲器,是8259A与CPU系统数据总线的接口。读/写逻辑 接收CPU送来的读/写控制信号、片选信号以及地址选择信号,对内部各个寄存器进行读写操作。级联缓冲/比较器 级联缓冲/比较器在级联方式的主从结构中(两个以上的8259A组成的系统),用来存放和比较系统中各8259A的从设备标志(ID)。中断请求寄存器IRRD7D6D5D4D3D2D1D0IRR7IRR6IRR5IRR4IRR3IRR2IRR1IRR0IR7IR6IR5IR4IR3IR2IR1IR0寄存器位引脚功能:记录外部中断源的中断申请的状态。状态
14、:1对应引脚有中断请求且还未被响应。 0对应引脚无中断请求或有但已经被响应。中断服务寄存器ISRD7D6D5D4D3D2D1D0ISR7ISR6ISR5ISR4ISR3ISR2ISR1ISR0IR7IR6IR5IR4IR3IR2IR1IR0功能:记录外部中断源的中断申请被服务的状态。状态:1对应引脚的中断请求已被响应(服务)且服务还没有结束。 0对应引脚的中断请求未被响应。寄存器位引脚中断屏蔽寄存器IMRD7D6D5D4D3D2D1D0IMR7IMR6IMR5IMR4IMR3IMR2IMR1IMR0IR7IR6IR5IR4IR3IR2IR1IR0功能:设置外部中断源的中断屏蔽状态。状态:1对应
15、引脚的中断被屏蔽。0对应引脚的中断未被屏蔽。注意:只有IMRi相应位为0且IF=1,CPU才有可能响应可屏蔽中断。寄存器位引脚中断优先权分辨器PR 优先权分辨器PR用来确定存放在IRR中各个中断请求信号对应中断源的优先级。并总是选出当前最高优先中断源的中断申请通知控制逻辑,以便控制逻辑发送中断请求信号INT给CPU。控制逻辑 控制逻辑是控制8259A内部各个部件的主要逻辑电路。主要功能包括:(1) 根据CPU对8259A编程设定的工作方式来产生内部控制信号。(2) 如果中断请求寄存器IRR有未被屏蔽的位,则控制逻辑对应于当时最高优先的中断源,向CPU发中断请求信号INT。(3) 接收CPU送来
16、的中断响应信号,并置位中断服务寄存器ISR的相应位(ISRi) 。(4) 控制发出相应的中断类型号,以供CPU读取。9.3.2 8259A的内部结构与引脚信号 D7D0:为8位双向的数据线A0:端口选择信号(两个端口地址)IRi:8个中断源中断请求端INT:中断请求输出信号INTA#:中断响应输入信号RD#和WR#:读/写控制信号CS#:片选信号SP#/EN#:级联/缓冲控制 (1)级联时输入: SP#:1=主片,0 =从片; (2)缓冲时输出: EN#:1CPU写,0CPU读。1 282 273 264 255 246 237 228 219 2010 1911 1812 1713 1614
17、 15CSWRRDD7D6D5D4D3D2D1D0CAS0CAS1GNDCAS2SP/ENINTIR0IR1IR2IR4IR3IR5IR6IR7INTAA0VCCI/O接口器件名称PC/XTPC/ATDMA控制器100001FH00001FH中断控制器1020021H020021H定时器040043H04005FH并行接口芯片060063H键盘控制器06006FHRT/CMOS RAM07007FHDMA页面寄存器080083H08009FH中断控制器20A00BFHNMI屏蔽寄存器0A00BFHDMA控制器20C00DFH协处理器0F00FFHPC系列微机中的I/O端口地址空间也分为两部分,
18、即1024个端口的前256个端口(00FFH)专供I/O接口芯片使用,后768个端口(100H3FFH)为I/O接口控制卡使用。 8259A的引脚 双列直插式芯片,28个引脚方 波键 盘保 留串 口2 硬 盘软 盘打印机IOW18.2HzA0CS8259A总线A0数 据 线 IORRDWR片选译码IR0IR1IR2IR3IR4IR5IR6IR7A5A9D0D7D0D7VccSP/ENCA0CA1CA2GND+ 5V203FH用于多片8259A级连情况INTAINT INTA INTR串 口1 IRQ标准应用IRQ标准应用PC/XTNMIRAM、I/O校验错、8087运算错0定时/计数器0通道的
19、时钟4异步通信1(COM1)1键盘中断5硬磁盘控制器2保留(网络适配器)6软磁盘控制器3异步通信(COM2)7并行打印机(LPT1)PC/ATNMIRAM、I/O校验错、8087运算错0系统时钟(18.2HZ)8日历实时钟1键盘中断9改向INT 0AH(以IRQ2出现)2接收从片8259A的中断请求INT10保留3异步通信2(COM2)11保留4异步通信1(COM1)12PS/2鼠标器5并行口2(LPT2)13协处理器6软磁盘控制器14硬磁盘控制器7并行口1(LPT1)15保留表9.1 IBM PC/XT和IBM PC/AT系统外部中断8259的编程结构SP/ENCA0CA1CA2IORIOW
20、总线D0D7数 据 线D0D7INTAINTRA0片选译码A5A9CSA0RD INTAWRINT 1 I3I4ICW1 芯片控制 ICW2 中断类型号 ICW3 主从片连接关系 ICW4 方式控制0111A010010100OCW1 中断屏蔽寄存器 IMR 00 OCW2 优先级设置、发EOI 01 OCW3特殊屏蔽,查询方式设置处理部分控制部分000 0 0 0 0 0 ISR当前中断服务寄存器PR优先级裁决器VCCGND100A0IR0IR1IR2IR3IR4IR5IR6IR7IRR中断申请寄存器000 0 0 0 0 0 4个初始化命令寄存器 ICW1、ICW2 ICW3、ICW4 3
21、个操作命令寄存器 OCW1(IMR) OCW2、OCW3当前中断服务寄存器 ISR中断申请寄存器 IRR 8259内部有9个 可读写的寄存器8259的编程结构 1 I3I4ICW1 芯片控制 ICW2 中断类型号 ICW3 主从片关系 ICW4 方式控制处理部分控制部分000 0 0 0 0 0 ISR当前中断服务寄存器PR优先级裁决器IRR中断申请寄存器000 0 0 0 0 0 中断屏蔽寄存器 IMROCW2 10010100 00 01 OCW3OCW18259中断控制器(1) 初始化命令字(ICW1- ICW4) 决定8259的工作方式 通常是在计算机系统启动时在初始程序设置, 一旦设
22、定,一般在系统工作过程不再改变。例 开机后,BIOS将8259初始化为: IR0-IR7中断申请信号为上升沿触发方式; IR0-IR7对应的中断类型号分别为08H-0FH; 优先级IR0最高, IR7最低;(2) 操作命令字(OCW1,OCW2,OCW3) 在应用程序中设定,动态地控制CPU处理中断的过程(3) ISR和IRR存放当前8259的状态 通过读取 ISR 和 IRR 的内容,可了解当前8259工作情况8259A的编程结构和工作原理ISRPRIRR中断处理部件比较IRR失效相应位置1相应位清0* * * * * * * *1相应位清008259A的工作流程 中断源产生中断请求,使82
23、59A的IRR相应位置1;经IMR屏蔽电路处理后,送PR;PR检测出最高的中断请求位,并经过嵌套处理,决定是否发出INT信号;若可发INT信号,则控制逻辑将INT信号送CPU的INTR引脚;若CPU开中断,则在执行完当前指令后,CPU进入中断响应周期,发出两个中断响应信号 ;8259A在收到第一个中断响应信号INTA#后,控制逻辑使相应的ISR位置1,相应的IRR位清0;8259A在收到第二个中断响应信号INTA#后,控制逻辑将中断类型号送数据总线。若8259A工作在AEOI(自动中断结束)模式,则使相应的ISR位清0。CPU读取该中断类型号后,查中断向量表,转去执行相应的中断服务程序。CPU
24、执行中断服务程序,在中断返回前发中断结束命令(非自动中断结束方式时),将ISR的相应位清0。 注意:这里的中断结束,是指将8259A的ISR对应位复位,而不是结束用户的中断服务程序,中断服务程序要执行IRET指令后才能结束。9.3.3 8259A的工作方式 中断优先级方式中断嵌套方式中断屏蔽方式中断结束方式中断触发方式与系统总线的连接方式级联工作方式查询方式1. 中断优先级方式IR7IR6IR5IR4IR3IR2IR1IR07654321032107654最低级最高级最高级最低级优先级IR7IR6IR5IR4IR3IR2IR1IR0默认优先级优先级可编程改变 两种优先级控制方式:固定优先级和循
25、环优先级。 固定优先级方式:所有中断请求IRi的中断优先级固定不变;优先级排列顺序可编程改变;加电后8259A的默认方式,默认优先级顺序从高到低为IR0-IR7。1、中断优先级方式 循环优先级方式 :中断源轮流处于最高优先级,即自动中断优先级循环;初始优先级顺序可用编程改变;某中断请求IRi被处理后,其优先级别自动降为最低,原来比它低一级的中断上升为最高级。IR7IR6IR5IR4IR3IR2IR1IR07654321021076543最低级最高级最高级最低级ISR内容IR7IR6IR5IR4IR3IR2IR1IR0IR4的服务结束以前0101000001000000IR4的服务结束以后ISR
26、i2. 中断嵌套方式 两种中断嵌套方式:普通全嵌套方式和特殊全嵌套方式。 普通全嵌套方式(默认方式): 一中断正被处理时,只有更高优先级的事件可以打断当前的中断处理过程而被服务。 特殊全嵌套方式: 一中断正被处理时,允许同级或更高优先级的事件可以打断当前的中断处理过程而被服务。 注: 特殊全嵌套仅用于多个8259A级联时的主8259A,而不能用于从属8259A或单8259A系统。一般全嵌套方式与特殊全嵌套方式的区别 D.主8259AIR0IR1IR2IR3IR4IR5IR6IR7一般嵌套方式:从片的INT被主片封锁,故更高级别的IR0-IR2中断也无法得到响应特殊嵌套方式:因主片不封锁从片的I
27、NT,故级别高的IR0-IR2中断可以得到响应。(但IR3-IR7仍被本从片封锁)C.假定IR3发生中断,并获得服务一般嵌套方式:IR4的中断被服务时,这些中断将被封锁。B.特殊嵌套方式:IR4的中断被服务时,只封锁IR5-IR7。A.INTE.从8259AINTIR0IR1IR2IR3IR4IR5IR6IR7去CPU3. 中断屏蔽方式 两种优先级控制方式:普通屏蔽方式和特殊屏蔽方式。 普通屏蔽方式: 当一个优先级较高的中断请求正在被处理时,不允许优先级较低的中断进入正在处理的高级别中断。 利用操作命令字OCW1,使屏蔽寄存器IMR中的一位或数位置1来屏蔽一个或数个中断源的中断请求。 特殊屏蔽
28、方式: 在某些场合,执行某一个中断服务程序时,要求允许另一个优先级比它低的中断请求被响应,特殊屏蔽方式提供了允许较低优先级的中断能够得到响应的特殊手段。 特殊屏蔽方式中只能用特殊EOI命令结束中断。4. 中断结束方式 当某一IRi中断被服务时,ISR中的相应位ISRi=1。当服务结束后,则必须清零该ISRi位。使ISRi=0是通过向8259A发出中断结束命令(EOI命令)实现的。 三种EOI方式: 自动EOI方式 正常EOI方式 特殊EOI方式1) 中断自动结束方式 该方式在第二个INTA负脉冲的后沿即完成对应的ISR位的复位。 注意,该方式是在中断响应后,而不是在中断处理结束后将ISR位清0
29、。 此时,若有中断请求出现,且IF1,则无论其优先级如何,都将得到响应。 尤其是当某一中断请求信号被CPU响应后,如不及时撤消,就会再次被响应(即二次中断)。 所以,中断自动结束方式适合于中断请求信号的持续时间有一定限制以及不出现中断嵌套的场合。 因不保留当前正在服务的中断的状态,故不能用于中断嵌套方式2) 一般中断结束方式 该方式用于全嵌套方式下的中断结束。 CPU在中断服务程序结束时, 向8259发常规中断结束命令,将8259的中断服务寄存器中最高优先级的ISR位清0。 在级联情况下的: 先结束从片上中所有服务后, 再结束对应的主片上的服务。3) 特殊中断结束方式(SEOI) 在非全嵌套方
30、式下,根据ISR的内容无法确定最后所响应和处理的是哪一级中断。 这种情况下,就必须用特殊的中断结束方式, 即在程序中要发一条特殊中断结束命令,该命令指出了要清除ISR中的哪一位。 用于特殊屏蔽方式 另外,还要注意在级联 方式下, 一般不用中断自动结束方式, 而是用一般结束方式或特殊结束方式。5. 中断触发方式 两种触发方式:边沿触发方式和电平触发方式。 边沿触发: IRi出现上升沿表示有中断请求。 跳变后高电平一直保持,直到被响应。 电平触发: IRi出现高电平表示有中断请求。 请求一旦被响应,该高电平信号应及时撤除。即在第1个INTA#结束前,IRi必须保持高电平。 6. 与系统总线的连接方
31、式 两种连接方式:缓冲方式和非缓冲方式。 缓冲方式: 一般在多片8259A级联系统中,8259A通过总线驱动器与系统总线相连,而不是8259A直接与系统总线相连,这就是缓冲方式。8259的SP/EN作为输出(EN有效)。 非缓冲方式: 当系统只有一片8259A或少量几片8259A时,一般将它直接与数据总线相连。这就是所谓的非缓冲方式。7. 级联工作方式 单片8259A可支持8个中断源; 采用多片8259A级连,可最多支持64个中断源。n片8259A可支持7n+1个中断源; 级连时只能有一片8259A为主片,其余的均为从属片; 涉及到的8259A引脚包括: CAS0-CAS2、SP#/EN#、I
32、Ri、INT。级联电路连接方法8. 查询方式 CPU禁止外部的中断请求(IF位为0)。外设仍然向8259A发中断请求信号,要求CPU服务,此时,CPU需要用软件查询方法来确认中断源,从而实现对外设的服务。8259A不提供中断类型号。 CPU首先向8259A发查询命令,紧接着执行一条输入指令(IN),从8259A的偶地址读出一个字节的查询字,由该指令产生的RD#信号使ISR的相应位置1。 CPU读入查询字后,判断其最高位,若最高位为1,说明8259A的IR端已有中断请求输入,此时该查询字的最低三位组成的代码表示了当前中断请求的最高优先级,CPU据此转入相应的中断服务程序。9.3.4 8259A编
33、程方法 8259A有两种控制字: 初始化命令字、 操作命令字。 8259A的编程: 初始化编程、工作方式编程。 8259A的初始化命令字有4个: ICW1ICW4 用于初始化8259A。 8259A的操作命令字有3个: OCW1OCW3,用于设定8259A的工作方式及发出相应的控制命令。 初始化命令字通常是计算机系统启动时由初始化程序设置的,一旦设定,在工作过程中一般不再改变。操作命令字由应用程序设定(如设备的中断服务程序),用于中断处理过程的动态控制,可多次设置。 7个CPU控制寄存器分成两组:一组用做存ICW, 另一组存OCW。两组7个寄存器占用2个I/O端口地址:A0命令字0 ICW1、
34、OCW2、OCW31 ICW2、ICW3、ICW4、OCW19.3.4 8259A编程方法 在PC/AT机中,主8259A所占的端口地址为20H和21H,从8259A所占的端口地址为A0H和A1H。 注意:当发出ICW或OCW时,CPU中断申请引脚INTR应关闭(使用CLI指令)。D4D3命令字1ICW100OCW201OCW3ICW1、OCW2、OCW3 由A0、D4和D3三位状态寻址:ICW2、ICW3、ICW4在ICW1后,按顺序写入。9.3.4 8259A编程方法 对8259A的编程分为两类: 初始化编程 操作过程编程 8259A的软件编程必须按照先初始化编程,然后进行操作方式编程的顺
35、序。9.3.4 8259A编程方法 初始化编程初始化编程的主要任务: 复位芯片。 设定中断请求信号有效的形式。 设定是单片,还是级联。 设定中断类型号。 设定优先排队规则。 设定中断处理结束时的结束规则。9.3.4 8259A编程方法 ICW1 ICW1称为:芯片控制初始化命令字,用于启动8259A中的初始化编程。 该字写入8位的芯片控制寄存器。 写ICW1的标记为:A00,D41。9.3.4 8259A编程方法 ICW1 ICW1可完成初始化任务的前三项: 复位芯片。 设定中断请求信号有效的形式。 设定是单片,还是级联。 注意:在写入ICW1后,除完成ICW1规定的功能外,同时复位芯片,隐含
36、有清IMR、默认中断优先级为IR0IR1IR7等的功能。9.3.4 8259A编程方法 举例: PC/XT机设置的ICW1=13H,端口地址为20H。 MOV AL,13H OUT 20H,AL ;单片,上升沿有效,写ICW4 13H = 000100119.3.4 8259A编程方法 写ICW1 A0=0,D4=1写ICW2 A0=1SNGL=1 IC4=1写ICW3 A0=1写ICW4 A0=1是否是否按顺序对A0=1端口写入命令字ICW2 ICW2:中断类型码命令字。 该字写入8位的中断类型寄存器。 写ICW2的标记为:A0=1。 中断类型码的低3位由中断请求的引脚IR0IR7决定(00
37、0111)。9.3.4 8259A编程方法 1T7T6T5T4T3A0 D7 D6 D5 D4 D3 D2 D1 D0 IBM PC/XT机中由8259A管理的8级外部中断IR0IR7的中断类型码为08H0FH。 举例: 设置的ICW2=08H,端口地址为21H。 MOV AL,08H OUT 21H,AL IR3对应的中断类型码为0BH。9.3.4 8259A编程方法 1T7T6T5T4T3A0 D7 D6 D5 D4 D3 D2 D1 D0 ICW3 ICW3:主片/从片的初始化命令字。它只用于级联方式。 该字写入8位的主/从标志寄存器。 写ICW3的标记为:A01。 对于主8259A(输
38、入端SP#1) 对于从8259A(输入端SP#0) 9.3.4 8259A编程方法 ICW3 对于主8259A(输入端SP#1) D7D0(S7S0):当某位为1时,表示该位对应的IRi端接一从片8259A。 例如:当ICW3F0H时,则表示在IR7 、IR6、IR5、IR4引脚上接有8259A从片,而IR3、IR2、IR1、IR0引脚上未接从片。 注意:清0的位,其对应的IRi上可直接连接外设来的中断请求信号端。9.3.4 8259A编程方法 ICW3 对于从8259A(输入端SP#0)控制字格式如图所示9.3.4 8259A编程方法 CAS0 IR0CAS1 IR1CAS2 IR2 IR3
39、INTA IR4 IR5INT IR6 IR7SP/EN CAS0INTA CAS1 CAS2INT IR0 IR1SP/EN IR7CAS0 IR0CAS1 IR1CAS2 IR2 IR3INTA IR4 IR5INT IR6 IR7SP/ENINTAINTR+5V8259级联工作示意图 在多片级连的情况下,主片的CAS2-CAS0和从片的CAS2CAS0分别相连 在第一个INTA时,主片在完成例行的三个动作外,还通过CAS2-CAS0向各从片发送编码ID2-ID0 每个从8259A拿到这个标识符之后,与自己ICW3标识符进行比较,当两者相符合时第二个INTA时,相应的从片发送中断类型码IC
40、W4 ICW4:方式控制初始化命令字。 该字写入8位的方式控制寄存器。 写ICW4控制字标记为:A0=1。 是否需要ICW4由应用决定,只有在需要特殊全嵌套方式、缓冲方式、中断自动结束方式时,才设置ICW4,否则,可不设置ICW4。同时,是否需要ICW4,应在ICW1中指出。当不设置ICW4时,缺省为:非特殊全嵌套方式、非缓冲方式、非中断自动结束方式。9.3.4 8259A编程方法 写ICW1 A0=0,D4=1写ICW2 A0=1SNGL=1 IC4=1写ICW3 A0=1写ICW4 A0=1是否是否按顺序对A0=1端口写入命令字注意: 初始化从写入ICW1开始,然后顺序写入ICW2、ICW
41、3、ICW4。虽然ICW2、ICW3、ICW4地址相同,但顺序是固定的,因而不会发生错误。 ICW1、ICW2是必须写入的。是否写入ICW3、ICW4,分别由ICW1的SNGL和IC4位的状态决定。操作过程编程 初始化完成后,8259A进入响应中断的工作状态,准备接收中断请求信号。在8259A工作其间,可以通过操作命令字OCW使其以不同的方式操作。 操作过程编程主要完成以下任务: 对中断请求的屏蔽、优先级循环控制、中断结束方式、对内部控制寄存器的查询等。 8259A有三个操作命令字: OCW1、OCW2、OCW3。9.3.4 8259A编程方法OCW1 写OCW1的标记为:A0=1。 OCW1
42、用来写入IMR寄存器。 当某一位Mi=1时,则对应于该位的中断请求就受到屏蔽; 当某一位Mi=0时,则对应于该位的中断请求得到允许进入系统。 例如:OCW1 =15H,则IR4、IR2和IR0引脚上的中断请求被屏蔽,其他引脚上的中断请求则允许进入系统。 9.3.4 8259A编程方法OCW2 OCW2用来设置中断优先级循环方式和中断结束方式的操作命令字。 写OCW2的标记为:A0=0、D3=D4=0。 OCW2具有两方面的功能: 可以用来设置8259A采用优先级循环方式; 它可以组成中断结束命令。9.3.4 8259A编程方法OCW2 R位:决定系统的中断优先级是否按自动循环方式设置。 1:采
43、用优先级自动循环方式; 0:采用优先级非自动循环方式。 优先级自动循环方式用于多个中断源其优先级相等的场合 。 SL位:决定OCW2中的L2、L1、L0是否有效,如为1则3位都有效,否则为无效。 9.3.4 8259A编程方法OCW2 EOI位:中断结束命令。当EOI为1时,使当前ISR中的对应位ISRi复位。 L2、L1、L0有两个功能: SL为1时,L2、L1、L0有效。 一是当OCW2为特殊的中断结束命令时,L2、L1、L0将指出要清除当前ISR中的哪一位; 二是当OCW2为特殊的优先级循环方式命令时,L2、 L1、L0将指出循环开始时哪个中断的优先级最低。A00RSLEOI00L2L1
44、L0D7D6D5D4D3D2D1D000001100201031104001510160117111001011101100000111110010特征位 EOI特殊EOI(按编码复位ISR) EOI命令,优先级自动循环优先级自动循环取消优先级自动循环EOI命令,优先级自动循环(按编码)优先级自动循环(按编码)无意义中断级别编码OCW3 OCW3是多功能操作命令字。 写OCW3的标记为:A0=0、D4=0、D3=1。 OCW3命令字有3项功能: 设置和撤消特殊屏蔽方式; 设置中断查询方式; 设置对8259A内部寄存器的读出命令。 9.3.4 8259A编程方法0ESMMSMM01PRRRIS0001101100011011D7D6D5D4D3D2D1D0A0无用清除特殊屏蔽设置特殊屏蔽特征位无用随后读IRR随后读ISR查询命令非查询命令D7位:无关位,可设为任意值,一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年潜力陪诊师考试试题及答案
- 监理考试前沿资讯试题及答案
- 牛津译林版八年级下册Unit 2《Travelling》(单元整体+课时教学设计)7
- 2025-2030安检设备市场投资前景分析及供需格局研究预测报告
- 2025-2030婴儿辅食行业兼并重组机会研究及决策咨询报告
- 2025-2030妇科药项目商业计划书
- 2025-2030女士香水行业风险投资发展分析及投资融资策略研究报告
- 2025-2030多烟囱烟囱帽行业市场现状供需分析及重点企业投资评估规划分析研究报告
- 2025-2030城市轨道交通牵引系统市场需求规模及前景竞争对手调研研究报告(-版)
- 2025-2030土壤检测仪器行业市场发展分析及发展趋势与投资管理策略研究报告
- 2025年国家公务员录用考试公共基础知识预测押题试卷及答案(共七套)
- 2025-2030中国儿童服装行业市场发展分析及投资前景预测研究报告
- 部编版语文教材培训讲座-口语交际
- 2025年全国中小学生安全教育日专题
- 2025年工程力学笔试试题及答案
- 2025年电子设备装接工岗位职业技能资格证考试题(附答案)
- 2025年河南航空港发展投资集团有限公司社会招聘45人笔试参考题库附带答案详解
- 企业一季一课安全教育记录(2篇)
- 2025-2030年中国工业废水处理产业十三五发展规划及战略规划分析报告
- 2024年全国高考新课标Ⅱ卷数学试题含答案解析
- 2025年山东国际信托股份限公司社会招聘高频重点提升(共500题)附带答案详解
评论
0/150
提交评论