九、8259A与系统总线的连接方式1、缓冲方式:多片8259A级联时,8259A的D7~D0需通过总线驱动器8286和数据总线相连,此时为输出端,它与总线驱动器8286的相连。在输出状态字或类型码的同时,该端输出一个低电平作为8286的输出使能信号。2、非缓冲方式:当系统中仅有一片或较少的8259A时,可以不用8286总线驱动器,可将8259A的D7~D0直接连到CPU的数据总线。此时为输入端,单片8259A运用时将该端接高电平;多片运用时,主片接高电平,从片接低电平。十、中断请求的触发方式1、电平触发方式:在IR输入线上检测出一个高电平,并且在第一个脉冲到来之后维持高电平,就认为有外设提出中断请求,并使IRR相应位置1。电平触发方式提供了重复产生中断的手段,用于需要连续执行中断服务子程序直到中断请求IR变低为止的情况。注意:若只要求产生一次中断,则应在CPU发出EOI命令之前或CPU再次开放中断之前,必须将已响应的中断请求信号置为低电平,以防止出现第二次中断。十、中断请求的触发方式2、边沿触发方式:当在IR输入端检测到由低到高的上跳变时,只要高电平保持到第一个到来之后,8259A就认为有中断请求。这个中断请求信号可以一直保持高电平。说明:无论是边沿触发还是电平触发,中断请求信号IR都应维持足够的宽度。即在第一个中断响应信号结束之前,IR都必须保持高电平,如果IR信号提前变为低电平,8259A会自动假设这个中断请求来自引脚IR7。这种办法能够有效地防止由IR输入端上严重的噪声尖峰而产生的中断。为实现这一点,对应IR7的中断服务程序可只执行一条返回指令,从而滤除这种中断。如果IR7另有它用,可通过读ISR状态而识别非正常的IR7中断。因为,非正常IR7中断不会影响ISR,正常IR7中断才会使ISR的相应位置“1”。十、中断请求的触发方式3、中断查询方式:对外部设备来讲,仍然是通过8259A向CPU发出中断请求信号。可以是电平触发,也可以是边沿触发。在8259A与CPU之间使用软件查询的方法,确定中断源。十、中断请求的触发方式十一、8259A的初始化命令字1、8259的初始化命令字(ICW1~ICW4)初始化命令字必须按顺序填写,ICW1写入偶地址(A0=0),其余写入奇地址(A0=1)(1)ICW1芯片控制初始化命令字:格式:D7D0A0=01LTIMADISNGLIC4标识位(在ICW2、ICW3中D4=0)。触发方式:0—边沿,1—电平取任意值:通常取0单片运时:SNGL=1,否则为0指出后面是否还要设置ICW4(2)ICW2中断类型码设置初始化命令字中断类型码与ICW2及引脚关系。(P280,表7.1)格式:D7D0A0=1T7T6T5T4T3编程时只填写高5位,T7~T3与中断类型码的高5位相对应。低3位由IR的编码自动插入(填写时可按“0”处理)。十一、8259的初始化命令字例如:中断类型号为26H,则高五位是00100;低3位是110,(00100110)此时,ICW2应设置为20H,中断请求信号应从IR6输入。也就是:中断类型号20H~27H的高五位均是00100,而20H对应IR0;21H对应IR1;27H对应IR7。十一、8259A的初始化命令字(3)ICW3主/从片标识初始化命令字ICW3仅在多片级联情况下,才需进行设置。即ICW1中的SNGL=0时才设置ICW3,否则无需设置ICW3。主片:ICW3格式:D7D0A0=1ICW3某位为1表示对应引脚IRi连有从片。未连从片的引脚,对应位置0。IR7IR6IR5IR4IR3IR2IR1IR0十一、8259的初始化命令字从片:ICW3格式:D7