收藏 分销(赏)

第十八讲:可编程中断控制器8259A 主讲老师:王克义.pdf

上传人:xrp****65 文档编号:6649844 上传时间:2024-12-19 格式:PDF 页数:66 大小:393.39KB 下载积分:10 金币
下载 相关 举报
第十八讲:可编程中断控制器8259A 主讲老师:王克义.pdf_第1页
第1页 / 共66页
第十八讲:可编程中断控制器8259A 主讲老师:王克义.pdf_第2页
第2页 / 共66页


点击查看更多>>
资源描述
微机原理A微机原理A第十八讲:可编程中断控制器第十八讲:可编程中断控制器8259A主讲老师:王克义课程主页:本讲主要内容本讲主要内容 可编程中断控制器可编程中断控制器8259A的功能的功能 8259A的结构的结构 8259A的控制字及编程使用的控制字及编程使用1.8259A的功能的功能Intel 8259A用于管理和控制80 x86的外部中断请求,实现优先级判决,提供中断类型码,屏蔽中断输入等功能。使用单片单片8259A可以管理8级中断,采用级联级联方式,可扩充到64级(用9片8259A)。18.1 中断控制器中断控制器8259A的功能与结构的功能与结构IR0IR7单片单片INTINTA8259AINTRINTACPU.中断请求CPU8259A.IR0IR7级联级联主片主片8259AIR0从片.IR78259AIR0从片.IR7INTAINTR2.8259A的引脚的引脚 封装形式28脚双列直插123456789101112131428272625242322212019181716158259ACSWRRDD7D6D4D5D2D3D0D1CAS0CAS1GNDINTAIR7IR6IR4IR5IR2IR3IR0IR1INTCAS2SP/ENVCCA0片选信号(Chip Select)低电平有效,来自地址译码器的输出只有有效时,CPU才能对8259A进行读写操作。写信号,低电平有效,来自CPU的输出;当有效且有效时,使8259A接受CPU送来的命令字。读信号,低电平有效,来自CPU的输出;当有效且有效时,使8259A将状态信息放到数据总路线上,供CPU检测。CSWRCSCSCSRDRDWRWR RDWR D7 D0:双向数据总线,接到系统数据总线的D7 D0上,用来传送控制字、状态字和中断类型号。IR7IR0:中断请求信号,输入,来自外部接口电路。(单片时)INT:向CPU发出的中断请求信号,(单片时)。INTA:中断响应信号,由此接收CPU发来的中断响应脉冲。A0:地址输入信号,用于对8259A内部寄存器的寻址。CAS2 CAS0:级联线(CASCADELINES),传送3位标识码标识码,用于区分特定的从控制器。双向:对于主片为输出,对于从片为输入。:从片/允许缓冲器信号。双功能引脚:作为输入时,8259A作为主片(1)8259A作为从片(0)作为输出时,用来启动(允许)数据总线收发器(如8286)。SP/ENSP/ENSP/EN图图18.2 8259A的内部逻辑结构的内部逻辑结构数据总线缓冲器数据总线缓冲器读读/写控制电路写控制电路级连缓冲器级连缓冲器/比较器比较器中断服务寄存器中断服务寄存器(ISR)中断请求寄存器中断请求寄存器(IRR)优先权判别器优先权判别器(PR)中断屏蔽寄存器中断屏蔽寄存器(IMR)控制电路控制电路SP/EN。IR0IR1IR2IR6IR7内部总线内部总线CAS0CAS1CAS2_ INTA INTWRRDCSA0D7D03.8259A的内部结构的内部结构CPUAD7AD0INTAINTRSP/ENISRICW1OCW1(IMR)ICW2OCW2ICW3OCW3ICW4PRIRRD7D0地址译码地址译码.INTINTACSRDWRA0CAS0CAS1CAS2.IR7IR08259A的编程结构的编程结构 IRRInterrupt Request Register PR-Priority Resolver ISR-In-Service Register IMR-Interrupt Mask Register ICWs-Initialization Command Words OCWs-Operation Command Words 7个CPU可访问的寄存器,分两组:初始化命令字ICW1 ICW4-系统初启时设定。操作命令字OCW1OCW3系统运行时,由应用程序设定(实现对中断处理的动态管理和控制).7个寄存器的寻址问题个寄存器的寻址问题:规规定:规规定:A00111ICW1:用偶地址写入,且D4=1ICW2ICW3ICW4紧接着ICW1,用奇地址写入100OCW1:也用奇地址写入,但不紧跟ICW1OCW2OCW3也用偶地址写入,但D4=0即:01 0 0 0 1D4D3ICW1OCW2OCW300采用了专门的“标识位“,以节省输入地址的引脚数(仅用了A0)规规定:规规定:A00111ICW1:用偶地址写入,且D4=1ICW2ICW3ICW4紧接着ICW1,用奇地址写入100OCW1:也用奇地址写入,但不紧跟ICW1OCW2OCW3也用偶地址写入,但D4=0即:01 0 0 0 1D4D3ICW1OCW2OCW300采用了专门的“标识位“,以节省输入地址的引脚数(仅用了A0)8259A的处理部件:中断请求寄存器IRR8位寄存器控制逻辑作用:作用:接受并锁存来自IR0IR7的中断请求信号。中断服务寄存器ISR作用:作用:保存当前正在处理的中断请求。优先级裁决器PR作用:作用:把新进入的中断请求和当前正在处理的中断进行比较,以决定哪一个优先级更高。处理过程:处理过程:IR0IR7上出现某一中断请求信号-IRR对应位被置“1”-由IMR的相应位决定是否将其屏蔽(屏蔽位=1,不通过;屏蔽位=0,通过)-中断请求进PR-PR把新进入的中断请求和当前正在处理的中断进行优先级比较-若新进入的中断优先级高,该中断请求被送到CPU。若CPU的IF=1,CPU完成当前指令后,响应中断,在引脚上发出两个负脉冲(执行两个中断响应总线周期)。INTA图图18.3 8086的中断响应总线周期的中断响应总线周期T1 T2 T3 T4 TI TI TI T1 T2 T3 T4第一个总线周期第二个总线周期第一个总线周期第二个总线周期三个空闲状态三个空闲状态中断类型码中断类型码CLK_INTAAD7AD0 8259A收到第一个负脉冲后:收到第一个负脉冲后:?使IRR锁存允许,不予接受IR0IR7上的中断请求信号;直到第二个负脉冲结束后,才又使IRR锁存禁止(输入输出透明)。?使ISR的相应位置“1”,以便为优先级裁决器以后的裁决提供依据。?清除IRR的相应位。8259A收到第二个负脉冲后:收到第二个负脉冲后:?把中断类型码寄存器的内容(ICW2的内容的内容)送到D7D0?如果ICW4的AEOI位为1,则在第二个脉冲结束时,将ISR中被第一个脉冲置“1”的位清除(自动结束自动结束);否则,要等到中断结束命令(EOI)发送后才能清除。INTAINTA1.设置优先级的方式设置优先级的方式(1)全嵌套方式(FULLY NESTED MODE)?也称固定优先级方式。在这种方式下,由IRi引入的中断请求具有固定的优先级IR0(最高)IR7(最低).?This mode is entered after initialization unless another mode is programmed.?当一个中断请求被响应时,ISR中的对应位ISn被置“1”,8259A把中断类型码放到数据总线上把中断类型码放到数据总线上,然后,进入中断服务程序。?一般情况下(除了“中断自动结束中断自动结束”方式方式外),在CPU发出中断结束命令(EOI)前,此对应位一直保持为“1”封锁同级或低级封锁同级或低级的中断响应,但并不禁止比本级优先级高的中断响应实现中断实现中断“嵌套嵌套”。18.2 8259A的工作方式的工作方式(2)特殊全嵌套方式(SPECIAL FULLY NESTED MODESFNM)在处理某一级中断时,不但允许优先级更高的中断请求进入,也允许同级的中断请求进入。在处理某一级中断时,不但允许优先级更高的中断请求进入,也允许同级的中断请求进入。用于主从结构的8259系统中,将主片设置为“特殊全嵌套方式特殊全嵌套方式”。通过ICW4的“SFNM”位可以设置此种方式。CPUIR0IR1IR7IR0IR1IR78259(主片主片)8259(从片从片)(3)优先级自动循环方式(AUTOMATIC ROTATION)优先级是循环变化的(不希望有固定的优先级差别)一个设备的中断服务完成后,其优先级自动降为最低,而将最高优先级赋给原来比它低一级的中断请求。开始时,优先级队列还是:IR0-IR7,若此时出现了IR0请求,响应IR0并处理完成后,队列变为:IR1,IR2,IR3,IR4,IR5,IR6,IR7,IR0。若又出现了IR4请求,处理完IR4后,队列变为:_系统中是否采用“自动循环优先级自动循环优先级”,由操作命令字OCW2来设定。(4)优先级特殊循环方式(SPECIFIC ROTATION)与“优先级自动循环方式”相比,只有一点不同,即可以设置开始的最低优先级。例如,设定IR4为最低优先级,那么IR5就是最高优先级,其余各级按循环方法类推。2.屏蔽中断源的方式(中断屏蔽方式中断屏蔽方式)普通屏蔽方式 通过对中断屏蔽寄存器(IMR)的设定,实现对相应位为“1”的中断请求的屏蔽。可通过OCW1使IMR的一位或几位置“1”。*特殊屏蔽方式(SPECIAL MASK MODE)作用:P462 实现:输出OCW3(ESMM=1,SMM=1)输出OCW1(使IMR对应于本级的位为“1”)输出OCW1(使IMR对应于本级的位为“0”)输出OCW3(ESMM=1,SMM=0)“中断级无效中断级无效”设置设置撤销撤销(1)中断自动结束方式(1)中断自动结束方式(AUTOMATICAEOI方式)(AUTOMATICAEOI方式)在第二个后沿,即完成把对应的ISR位复位。在第二个后沿,即完成把对应的ISR位复位。注意:AEOI方式是在中断响应后,而不是在中断处理程序结束后将ISR位清0。这样,在中断处理过程中,8259A中就没有“正在处理正在处理”的标识。此时,若有中断请求出现,且IF1,则无论其优先级如何(比本级高、低或相同比本级高、低或相同),都将得到响应。尤其是当某一中断请求信号被CPU响应后,如不及时撤销,就会再次被响应“二次中断二次中断”。AEOI方式方式适合于中断请求信号的持续时间有一定限制以及不出现中断嵌套的场合。通过ICW4可以设置AEOI方式(AEOI=1)。INTA3.中断结束方式中断结束方式(END OF INTERRUPTEOI)(2)一般一般(常规常规)中断结束方式中断结束方式 适合于全嵌套方式全嵌套方式。实现:在中断服务程序结束时,向8259A发常规中断结束命令(OCW2:EOI=1,SL=0,R=0)例:MOV AL,20H;OCW2=20HOUT 20H,AL;端口地址端口地址=20H(偶地址偶地址)在全嵌套方式下,ISR中最高优先级的置“1”位,正对应于当前正在处理的中断,将其清“0”,就完成了当前正在处理中断的结束操作。11101IR0IR7(3)特殊中断结束方式特殊中断结束方式(SPECIFIC EOISEOI)?在非全嵌套方式下,无固定的优先级序列(使用设置优先权命令或特殊屏蔽方式),此时,根据ISR的内容的内容就无法确定刚刚所响应(处理)的中断。?这种情况下,就不能用上述的EOI方式进行中断结束处理,而必须用特殊的中断结束命令SEOI用OCW2:EOI=1,SL=1,R=0,L2L0.?由L2L0指定清除ISR中的哪一位。4.中断触发方式中断触发方式?电平触发方式:由IRi上的有效电平来触发“中断请求触发器”。?边沿触发方式:由IRi上由低电平向高电平的跳变来触发“中断请求触发器”。由ICW1的LTIM位可以设置中断触发方式。5.连接系统总线的方式5.连接系统总线的方式缓冲方式(ICW4的BUF=1)8259A通过总线驱动器(如8286)和数据总线相连。在缓冲方式下,8259A的作为输出(有效),此时,由ICW4的M/S位来定义(标识)本8259A是主片还是从片。非缓冲方式(ICW4的BUF=0)即8259A直接与数据总线相连在“非缓冲方式下”,8259A的作为输入(有效)此时,由端来标识本8259A是主片还是从片。在“非缓冲方式下”,ICW4的BUF0,M/S位无意义。SP/ENENSP/ENSPSP/EN“中断查询中断查询”方式方式 特点:既有中断的特点,又有查询(Polling)的特点。外设仍然向8259A发中断请求信号,要求CPU服务。CPU的IF=0,不响应外部的中断请求(对CPU的中断请求信号不起作用)此时,CPU需要用软件查询方法软件查询方法来确认中断源,从而实现对设备的服务 先向8259A发查询命令(poll command)OCW3:00110000P 紧接着执行一条读指令(IN指令),读出专门的“中断状态字中断状态字”:当8259A收到P=1的查询命令后,在下一个信号将使ISR的相应位置“1”,就像收到了一样,并把上述的“中断状态字”送到数据总线上,由CPU读入AL。0A0IR W2 W1 W0D7D01:有设备请求服务;0:无设备请求服务。当前最高优先级的中断请求RDINTA 8259A的控制寄存器可分为两组,一组是初始化命令字初始化命令字ICWICW4,另一组是操作命令字操作命令字OCWOCW3。每片8259A具有两个内部端口地址,一个偶地址端口(A0=0),一个奇地址端口(A0=1),其他高位地址码由用户定义,用来产生8259A的片选信号。18.3 8259A的控制字及编程使用的控制字及编程使用初始化命令字用来对8259A初始化,包括ICWICW4 4个初始化命令字。(1)ICW1 ICW1 使用偶地址端口(A0=0),其中D4 位为特征位(标志位),此时该位固定为1,表示当前写入的是ICW(OCW1 也用偶地址端口写入,但OCW1 的D4 位为0)。ICW 的格式如下:1.初始化命令字初始化命令字A7A6A51LTIMADISNGLIC40ICW1A0D7D6D5D4D3D2D1D0初始化命令字初始化命令字 ICW1格式格式?IC4 规定初始化时是否要写入ICW4。IC4=0表示不写入ICW4,IC4=1表示写入ICW4。?SNGL规定8259A的用法。SNGL=0表示为级联方式,同时要写入ICW3;SNGL=1表示为单片方式,不要写入ICW3。?ADI为配合8085工作时选用CALL指令字节数而设,80 x86不用这一位。?LTIM规定中断检测方式。LTIM=0表示边沿触发,LTIM=1表示电平触发。?A5A7 在8085微处理器中用这几位作中断向量字,80 x86不用这三位。(2)ICW ICW2 使用奇地址端口(A0=1),紧跟在ICW之后设置。ICW 的格式如下:A15/T7A14/T6A13/T5A12/T4A11/T3A10A9A81ICW2A0D7D6D5D4D3D2D1D0初始化命令字初始化命令字 ICW2格式格式 对于对于80 x86系统系统,ICW的D7D3位用来确定中断类型码N的高5位T7T3位,低3位D2D0未定义;对于非对于非80 x86系统系统,ICW的8位全部用来作中断向量地址的高8位A15A8。在80 x86系统中,8259A在中断响应周期的第二个总线周期内,从数据总线上向CPU送出8位中断类型码N的值。其中高高5位位D7D3即T7T3,由ICW在初始化编程时设定编程时设定;低低3位位D2D0则由8259A根据中断进入的引脚序号而自动填入自动填入,从IR0IR7依次为000111。例例:若将 ICW2 初始化为28H,则在中断响应总线周期从数据总线上向CPU送出的对应于 IR的中断类型码为2AH,对应于 IR的中断类型码为等。(3)ICW ICW 只在级联方式中使用,端口地址为奇地址,其格式如下:S7S6S5S4S3S2/ID2S1/ID1S0/ID01ICW3A0D7D6D5D4D3D2D1D0初始化命令字初始化命令字 ICW3格式格式 对于主片对于主片8259A,ICW 表示哪些IRi 引脚接有从片8259A。接有从片8259A的相应S位置1,否则置0。例如,若IR2、IR6 上接有从片8259A,且其他IR引脚未接有从片8259A,则ICW 为01000100。对于从片对于从片8259A,用ICW 中的ID2ID0 表示本8259A接在主片8259A的哪一根IR引脚上。与IR0IR7 分别对应的ID码为000111。例如,若从片8259A接在主片8259A的IR6 上,则从片8259A的ICW 应设定为:ID2=1,ID1=1,ID0=0(4)ICW4 在80 x86系统中必须设置ICW4,端口地址为奇地址,其格式如下:000SFNMBUFM/SAEOIPM1ICW4A0D7D6D5D4D3D2D1D0初始化命令字初始化命令字 ICW4格式格式 其中,PM规定是哪种系统。PM=0表示是8080/8085系统,PM=1表示是80 x86系统。AEOI表示中断结束方式。AEOI=0为普通EOI方式,AEOI=1表示自动EOI方式。BUF表示本8259A工作于缓冲方式还是非缓冲方式。BUF=1为缓冲方式,BUF=0为非缓冲方式。在缓冲方式下在缓冲方式下,SP/EN引脚作为输出能使信号给总线收发器。此时,由M/S位来定义本8259A是主片还是从片。所谓8259A工作于缓冲方式,是指在多片8259A级联的大系统中,8259A通过总线收发器(驱动器)和数据总线相连。M/S位用来在缓冲方式下规定本8259A是主片还是从片。M/S=0表示是从片,M/S=1表示是主片。在非缓冲方式在非缓冲方式(BUF=0)下,M/S位无效。SFNM表示中断嵌套方式。SFNM=0表示全嵌套方式,SFNM=1表示特殊全嵌套方式。8259A的初始化命令字(ICW)是在加电之后由CPU按特定的顺序写入的。也就是说,各初始化命令字的识别一方面依赖于地址信号A0和初始化命令字中的特定标识位,另一方面也与写入的先后次序有关。8259A的初始化流程的初始化流程开始开始ICW1(A0=0 D4=1)ICW2(A0=1)SNGL=0?(级联方式?级联方式?)ICW3(A0=1)IC4=1?ICW4(A0=1)准备好接受中断准备好接受中断NNYY8259A的初始化顺序及相应的寻址标志如下图所示的初始化顺序及相应的寻址标志如下图所示:在初始化操作过程的开头,总要依次写入命令字ICW和和ICW。只有当ICW中的SNGL位=0,才需写入ICW。对于主片和从片均需写入ICW,而且它们的格式不同。只有当ICW中的IC4=1时,才需写入ICW4。对于80 x86系统,ICW4总是需要设置的。在系统中,单片单片8259A与80 x86 CPU配置时,初始化要写入的预置命令字是:ICW、ICW、ICW4。而级联系统要写入预置命令字是:ICW、ICW、ICW和ICW4。初始化过程结束,初始化过程结束,8259A进入所设置的状态后,才能写入操作命令字(进入所设置的状态后,才能写入操作命令字(OCW)。)。2.操作命令字操作命令字 在8259A工作期间,可通过设置操作命令字来修改或控制8259A的工作方式。需要说明的是,与初始化命令字ICWICW4需要按规定的顺序进行设置不同,操作命令字OCW1OCW3 的设置没有规定其先后顺序的设置没有规定其先后顺序,使用时可根据需要灵活选择不同的操作命令字写入到8259A中。当然,也需注意奇、偶端口地址及有关标识位的规定。(1)OCW1 OCW1 为中断屏蔽操作命令字,用来实现中断屏蔽功能,要求写入8259A的奇地址端口(A0=1)。OCW1 的内容被直接置入中断屏蔽寄存器IMR中,其格式如下:M7M6M5M4M3M2M1M01OCW1A0D7D6D5D4D3D2D1D0操作命令字操作命令字OCW1 其中M0M7 分别对应8259A的IR0IR7。当当OCW1 中的中的Mi 位为位为1时,则相应的时,则相应的IRi 的中断请求就被屏蔽。的中断请求就被屏蔽。例如,若通过OCW1向中断屏蔽寄存器写入代码11110000,将导致中断输入IR7IR4被屏蔽掉,而IR3IR0撤销屏蔽。(2)OCW2 OCW2 用来设置优先级循环方式和中断结束方式。占用偶地址端口(A0=0)。OCW2 的格式如下:RSLEOI00L2L1L00OCW2A0D7D6D5D4D3D2D1D0操作命令字操作命令字OCW2 其中,DD=00是OCW2 的标识位。R表示中断优先级是否按循环方式设置。R1表示采用循环方式,R0表示采用非循环方式。SL表示OCW2 中的L2、L1、L0 是否有效。SL1表示有效,SL0表示无效。EOI为中断结束命令位。EOI1使当前ISR寄存器的相应位清0。当ICW4 中的AEOI为0时,ISR中的相应置1位就要由该命令位来清除。L2、L1、L0 在SL=1时配合R、SL、EOI的设置,用来确定一个中断优先级的编码。L2、L1、L0 的8种编码000111分别与IR0IR7 相对应。由R、SL、EOI三位可以定义多种不同的中断结束命令或优先级循环方式。综合起来,R、SL、EOI的设置与其代表的意义如表18-2所示。表表18-2 R、SL、EOI的设置及意义的设置及意义RSLEOI意义001普通EOI命令011特殊EOI命令101普通EOI循环命令111特殊EOI循环命令000自动EOI循环方式(复位)100自动EOI循环方式(置位)110置优先权命令010无操作(3)OCW3 OCW3 的端口为偶地址(A0=0),其格式如下:ESMMSMM01PPRRIS0OCW3A0D7D6D5D4D3D2D1D0操作命令字操作命令字OCW3 其中D D=01是OCW 的特征位。ESMM是特殊屏蔽方式允许位,SMM是特殊屏蔽方式位。当ESMM为0时,SMM的值不起用。?当ESMM为1时,由SMM位决定是否工作在特殊屏蔽方式。?当ESMM=1,SMM=0时,表示8259A不是工作在特殊屏蔽方式。?当ESMM=SMM=1时,表示8259A工作在特殊屏蔽方式。P是查询命令是查询命令(Poll Command)标识位。当P=1时,表示向8259A发查询命令,查询当前是否有中断请求,以及在有中断请求时,当前正在请求的中断最高优先级是哪一级。查询的中断状态字的格式如下:IR-W2W1W00A0D7D6D5D4D3D2D1D00:无中断请求无中断请求1:有中断请求有中断请求当前正在请求的中断的最高优先级当前正在请求的中断的最高优先级中断状态字中断状态字例例18.6 对8259A按下述要求进行初始化编程:(1)工作于80 x86系统,单片8259A,边沿触发方式。(2)中断类型码初始值为08H,即IR0IR 对应的中断类型码为08H0FH。(3)中断结束时,用普通中断结束命令,固定优先级。8259A的端口地址为20H,21H。18.4 8259A初始化编程举例初始化编程举例 实现上述要求的初始化程序如下:实现上述要求的初始化程序如下:MOV AL,13H ;ICW1,边沿触发,单片8259A,要写ICW4OUT 20H,AL MOV AL,08H ;ICW2,中断类型码初值为08HOUT 21H,AL MOV AL,0DH ;ICW4,缓冲方式,80 x86系统,普通EOI方式OUT 21H,AL;在中断服务结束时,需向8259A设置操作命令字OCW2=20H,如下所示:MOV AL,20H ;OCW2,普通EOI命令 OUT 20H,AL 普通用户在使用系统资源时,不应该也没有必要去改变系统对普通用户在使用系统资源时,不应该也没有必要去改变系统对8259A的初始化编程设定。的初始化编程设定。8259A的读出操作的读出操作:可以读出四个方面的内容可以读出四个方面的内容 读读“中断状态字中断状态字”(“查询字查询字”):先写入先写入P=1的的OCW3查询命令字查询命令字 用偶地址读用偶地址读(IN AL,20H)读读IRR:先写入先写入OCW3(RR=1,RIS=0)用偶地址读用偶地址读(IN AL,20H)读读ISR:先写入先写入OCW3(RR=1,RIS=1)用偶地址读用偶地址读(IN AL,20H)随时可用奇地址读随时可用奇地址读IMR(IN AL,21H)例例1:IN AL,21H ;读IMRAND AL,7FH;开放IR7中断OUT 21H,AL例例2:IN AL,21H ;读IMROR AL,80H ;关闭IR7中断OUT 21H,AL1.8259A 在在IBM PC/XT 中的应用中的应用 IBM PC/XT 微型计算机只用一片8259A 作为整个系统的中断控制器,可连接8个外部中断源,其连线结构、中断源名称的情况如图18.4所示。18.5 8259A 应用应用8259AIR0IR1IR2IR3IR4IR5IR6IR7INT _INTAIRQ0IRQ1IRQ2IRQ3IRQ4IRQ5IRQ6IRQ7日时钟定时器键盘保留串行通信口日时钟定时器键盘保留串行通信口1串行通信口串行通信口2硬磁盘软磁盘打印机硬磁盘软磁盘打印机8086/8088CPUINTR_INTA图图18.4 8259A在在IBM PC/XT中的连线结构中的连线结构2.8259A 在在IBM PC/AT中的应用中的应用 系统中的外部可屏蔽中断源除IBM PC/XT 的7个中断源外,还有实时时钟、INT 0AH、80287协处理器和第二硬盘等。外部中断源数大于8 个,所以系统中采用两片两片8259A组成中断系统。其中主片8259A的功能与上面介绍的IBM PC/XT中的8259A功能相同,而从片8259A则负责管理系统中增加的中断源,从片的中断请求信号INT和主片8259A的IR2(PC/XT中保留备用)输入端相连。主片和从片的CAS0CAS2依次连接,但此时主片8259A的CAS0CAS2 作为输出,而从片8259A的CAS0CAS2则作为输入。IBM PC/AT 中的2片8259A的连接结构如图18.5所示。主片采用“特殊全嵌套方式”,从片采用“全嵌套方式”。系统的中断优先级队列为:IRQ0IRQ1IRQ8IRQ9IRQ10IRQ15IRQ3IRQ4IRQ5IRQ6IRQ7主片从片主片主片从片主片80286CPU_INTAINTR8259A (主片(主片)IR0IR1IR2IR3IR4IR5IR6IR7IRQ0IRQ1IRQ3IRQ4IRQ5IRQ6IRQ7日时钟键盘串行通信日时钟键盘串行通信1串行通信串行通信2硬磁盘软磁盘打印机硬磁盘软磁盘打印机8259A (从片从片)IR0IR1IR2IR3IR4IR5IR6IR7_INTAINT _INTAINT CAS0CAS1CAS2IRQ8IRQ9IRQ10IRQ11IRQ12IRQ13IRQ14IRQ15保留实时时钟保留实时时钟INT 0AH80287硬盘保留硬盘保留_SP_SP+5VIRQ2图图18.5 8259A 在在IBM PC/AT中的应用中的应用(1)设置中断向量设置中断向量 把由AL指定的中断类型的中断向量DS:DX放置在中断向量表的相应位置中。预置:预置:AH=25H 执行:执行:INT 21HAL=中断类型号DS:DX=中断向量(2)取中断向量取中断向量 把由AL指定的中断类型的中断向量从中断向量表中取到ES:BX中预置:预置:AH=35H 执行:执行:INT 21HAL=中断类型号返回:返回:ES:BX=中断向量中断向量的设置和获取中断向量的设置和获取DATA SEGMENT MESS DB THIS IS A IRQ7 INTRUPT!,0AH,0DH,$DATA ENDSCODE SEGMENTASSUME CS:CODE,DS:DATASTART:MOV AX,CSMOV DS,AX ;set up ds to same as csMOV DX,OFFSET INT7MOV AX,250FHINT 21HIN AL,21HAND AL,7FHOUT 21H,ALMOV CX,10STIHERE:JMP HERE中断实验参考程序中断实验参考程序INT7:MOV AX,DATAMOV DS,AXMOV DX,OFFSET MESSMOV AH,09 INT 21H MOV AL,20HOUT 20H,ALLOOP NEXTIN AL,21HOR AL,80H OUT 21H,ALSTIMOV AH,4CHINT 21HNEXT:IRETCODE ENDSEND START 作业(十八)作业(十八)教材P4757.18.
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服