可编程中断控制器8259AICW、OCW、内部寄存器的寻址方法、使用举例8259的控制字分为两类:(1)初始化控制字: ICW1、ICW2、 ICW3、ICW4(2)操作命令字


 

8259的编程也分为两类:
1)初始化编程:
            是对8259A在进入工作前写入初始化命令字,是微机上电时由BIOS完成的,并且在系统整个工作过程中保持不变。
2)操作命令编程:
            是在应用程序中进行的,动态地控制8259的工作方式,可在初始化后任何时间写入。


 

8259有两个I/O端口地址:
                        A0=0 偶地址端口
                        A0=1 奇地址端口
8259初始化命令字操作命令字的写入及对8259工作状态的读出都是通过这两个端口地址实现的。
由于8259只有两个端口地址,而控制字多达7个,因此要通过写入顺序和特征位来区分它们。


初始化命令字(ICW)

写初始化命令字时必须按顺序填写,并且要求ICW1写入偶地址端口,而其它的初始化命令字写奇地址端口。

1、ICW1:芯片控制初始化命令字,写入偶地址端口。

2、ICW2:中断类型码初始化命令字,写入奇地址端口

3、ICW3:主从片初始化命令字,写入奇地址端口【主片与从片的ICW3不同,初始化时要分开写】

只有系统中包含多片8259时,ICW3才有意义。
ICW1SNGL1时,表示系统中只有一片8259,则ICW3不设。
只有当ICW1SNGL0时,表示系统中有多片8259,才设ICW3

8259为主片,ICW3用于指示哪个中断输入引脚上有从片相连。
哪一位为1,表明哪一位上有从片相连,
哪一位为0,表明哪一位上无从片相连。

8259为从片,ICW3用于指示从片的INT引脚是接在主片的哪一个中断输入引脚上。

4、ICW4:工作方式命令字,写入奇地址端口

ICW1~ICW4初始化流程【次序不可颠倒】

初始化ICW应注意的问题

初始化前应关中断,初始化后再开中断。
系统中每片8259都要初始化。
初始化必须按顺序,不能颠倒。
确保每个初始化命令字写入正确的端口。
级联时,主从片的ICW3要分开写。
初始化后,若要改变某个ICW,则必须重新进行初始化编程,不能只单独写入一个ICW


操作命令字(OCW)

8259的操作命令字有3个,是在应用程序中设置的,设置时次序上没有严格要求,但端口地址上有严格要求。
OCW1写入奇地址口,OCW2OCW3写入偶地址口


 

1、OCW1:中断屏蔽命令字,写入奇地址端口

中断屏蔽命令字中的每一位与中断请求的各位一 一对应,要想屏蔽哪位上的中断请求,将OCW1中的哪位置1
实际上就是写IMR,给IMR各位赋值。
读奇地址端口的内容,得到的是IMR的值。

例、若要禁止IR2IR4引脚上的中断请求,如何设置8259的命令字,如何将这一命令撤消。(端口地址为60H61H

IN  AL61H  ;奇地址

OR  AL0001 0100B

OUT  61HAL

IN  AL, 61H  ;奇地址

AND  AL1110 1011B

OUT  61HAL



 

2、OCW2:用于设置优先级循环方式和中断结束方式的操作命令字,写入偶地址端口

L2~L0有两层含义:
OCW2发特殊中断结束命令时,L2~L0指出了要清除的中断的优先级。
OCW2发特殊优先级循环命令时,L2~L0指出了最低的优先级。

RSLEOI配合决定了8259的优先级循环方式和中断结束方式。
R:设置优先级循环方式的,和SL配合决定优先级自动循环还是特殊循环。
EOI:设置中断结束方式的,和SL配合决定中断结束方式是一般中断结束还是特殊中断结束。



 

3、OCW3:写入偶地址端口

例子:


 

初始化OCW应注意的问题

操作命令字有3个,它们可在编程过程中反复设置,每设置一次,8259就按所设置的方式操作,操作完成后,所做的设置就不起作用了,再要进行一种操作时,要重新设置。
操作命令字的设置没有一定的顺序,但OCW1要写入奇地址口,OCW2OCW3要写入偶地址口。


8259A内部寄存器的寻址方法


----------------------------------------------------------------

8259A编程举例

例子1:单片8259A

按以下要求初始化8259A

接口地址为20H21H

中断为上升沿触发;单片8259A;不写ICW4

IR0-IR3对应的中断向量码为08H-0BH

IR4-IR7不使用。

初始化程序如下:


例子2:两片8259A

写出主8259A和从8259A的初始化程序段

28259级联,从片的INT接主片的IR2

端口地址:主片20H21H,从片A0HA1H

主片和从片均采用边沿触发。

主片采用特殊全嵌套方式,从片是一般全嵌套方式。

采用非缓冲方式,主片接+5V,从片接地。

主片的中断类型号为08H~ 0FH,从片的中断类型号为70H~77H


两片8259A电路连接方法(补充)

  • 17
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半岛铁盒★

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值