8259A编程包括两部分:
初始化命令编程和操作命令编程
- 计算机系统复位以后、使用8259A之前需要对其初始化命令字编程,以确定8259A的基本操作
- 操作命令字编程是在8259A正常工作时写入,对8259A的状态、中断方式和过程进行动态控制
首先,我们需要认识初始化命令寄存器组,包括四个:
ICW1、ICW2、ICW3、ICW4
为了有一个直观的认识,下面放上初始化流程图
初始化命令字
下面开始学习初始化方式,这里不考虑级联方式,所以学习的只是ICW1、ICW2、ICW4的写入方法
ICW1
- D2、D5~D7只和8080/8085芯片有关,其他的芯片默认都置为0
- 因为ICW4都要写,所以D0置为1,D4默认为1
- 综上,我们实际要考虑的只是D1和D3。这里按实际情况而定
- 初始化程序如下
ICW2
ICW2确定中断向量码,中断向量码的高5位就是ICW2的高五位(D7~D3),而低3位的值(D2 ~D0)由8259A按中断请求引脚IR0 ~IR7三位编码值自动填入
实际编程时只需要把中断类型码的起始号直接写入即可
ICW4
选择CPU系统、确定中断结束方式、规定是主片还是从片、选择是否采用缓冲方式。ICW4写入8259A奇地址端口
编程示例