带有从属中断控制器的8259编程
我们假设该微型计算机系统中使用的处理器是8085,并且连接到主8259的输入IR4的从属中断控制器。8259的端口地址取决于所使用的芯片和电路。使用ICW和OCW,主8259和从属8259必须分别进行编程。但有趣的是,两个ICW,ICW1和ICW2具有相同的含义,可以区分主从。因此,关于这两个ICW,ICW1和ICW2的讨论是没有意义的。因此,我们没有对它们进行任何讨论。主8259的低端口地址为50H,从属8259的低端口地址为60H。而主8259的高端口地址为,从属8259的高端口地址为61H。
图8259从属中断控制器连接到主8259的输入IR4
端口 | 主8259 | 从属8259 |
---|---|---|
低端口 | 50H | 60H |
高端口 | 51H | 61H |
以上框图将帮助我们了解如何使用从属中断控制器对8259进行编程。这里S8259是从属8259。这里M 8259是主8259,8085是使用的微处理器。中断分别是IR4和INTR等。这里说明了关于命令字3和4的讨论。
初始化命令字3 (ICW3) - ICW3命令写入8259的高端口,并且仅当系统中存在从属8259时才需要。ICW1命令的位1指示是否存在从属8259。其他一些命令也写入同一个端口,例如ICW2、ICW4和OCW1。8259根据之前向8259的低端口发出的ICW1命令来识别高端口中的命令。
ICW3命令对主8259和从属8259具有不同的解释。基本上,当8259的高端口加载了ICW3命令时,高端口的内容会在内部移动到SLR。
初始化命令字4 (ICW4) - 我们之前已经描述了初始命令字(ICW4)的概念,所以让我们快速回顾一下。它被写入8259的高端口。当满足以下条件时
应使用8086处理器。
8259应配置为嵌套、缓冲和自动中断结束模式,独立于系统处理器材料。
0 | 0 | 0 | SFNM | BUF | M/S* | AEOI | 86/85* |
如果上述任何条件成立,则处理器将发出初始命令字(ICW1),其中ICW4位在最低有效位为1。ICW1命令的最低有效位指示是否需要命令ICW4。需要注意的是,这里只有5位。最高3位始终为000。有三种模式,即
8259的缓冲模式 - 当在大型系统中使用8259时,数据总线上始终需要总线驱动缓冲器。通过将8259配置为缓冲模式操作来解决此问题。
非缓冲模式 - 当输出端口使能缓冲器时使用。
ICW4的默认设置 - 当系统中未使用ICW4时,将配置8259。处理器应为8085/8080。操作模式不应为缓冲模式。仅应使用完整的嵌套模式