48259A的编程方法可编程中断控制器8259A的工作状态和操作方式由CPU通过命令字进行控制的
8259A有两类命令字:初始化命令字ICW(4个)操作命令字OCW(3个)7个CPU控制寄存器分成两组:一组用做存ICW另一组存OCW7
48259A的编程方法两组7个寄存器占用2个I/O端口地址(在PC机中8259A的端口地址为20H和21H):A0命令字0(20H)ICW1、OCW2、OCW31(21H)ICW2、ICW3、ICW4、OCW17
48259A的编程方法D4D3命令字1×ICW100OCW201OCW3ICW1、OCW2、OCW3由A0、D4和D3三位状态寻址:ICW2、ICW3、ICW4在ICW1后,按顺序写入
48259A的编程方法写ICW1A0=0,D4=1写ICW2A0=1SNGL=1IC4=1写ICW3A0=1写ICW4A0=1是否是否按顺序对A0=1端口写入命令字7
48259A的编程方法当计算机刚启动时,用初始化程序设定ICW,即由CPU按次序发送24个不同格式的ICW,用来建立起8259A操作的初始工作状态,此后的整个工作过程中该状态保持不变
操作命令字(OCW)用于动态控制中断处理,是在需要改变或控制8259A操作时随时发送的
注意:当发出ICW或OCW时,CPU中断申请引脚INTR应关闭(使用CLI指令)
48259A的编程方法对8259A的编程分为两类:初始化编程操作过程编程8259A的软件编程必须按照先初始化编程,然后进行操作方式编程的顺序
48259A的编程方法初始化编程初始化编程的主要任务:(1)复位芯片
(2)设定中断请求信号有效的形式
(3)设定是单片,还是级联
(4)设定中断类型号
(5)设定优先排队规则
(6)设定中断处理结束时的结束规则
48259A的编程方法ICW1I