- 5
- 0
- 约1.18万字
- 约 47页
- 2018-08-01 发布于江苏
- 举报
第五章 中断控制器
ICW4—控制初始化 ICW4:初始化命令字4(方式控制字),写入8259A奇地址端口 功能:设置嵌套方式、数据线缓冲方式、主从片选择、中断结束方式、微机处理类型 D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 SFNM BUF M/S AEOI μPM 嵌套方式: 特殊全嵌套方式(SFNM=1) 普通全嵌套方式(SFNM=0) 数据线的缓冲方式: 缓冲方式(BUF=1) 非缓冲方式(BUF=0) 主片/从片选择: 主片(M/S=1) 从片(M/S=0) 中断结束方式: 自动中断结束(AEOI=1) 非自动中断结束(AEOI=0) 微处理器类型: 16位80x86(?PM=1) 8位8080/8085(?PM=0) A0 1 8259A芯片的初始化流程 写ICW1 A0=0 写ICW2 A0=1 SNGL=1 IC4=1 写ICW3 A0=1 写ICW4 A0=1 是 否 是 否 按顺序对A0=1端口写入命令字 写芯片控制字 写中断类型控制字 判断是否级连 主/从片初始化 判断是否需要方式控制 写方式控制字 下面以一片主控8259和两片从属8259构成的级联为例给出框图. 8259的级联使用 例1 8259初始化 8086系统中,只有一片8259A,可接受外部8级中断。在I/O地址中,分配8259A的端口地址为20H和21H,初始化为:边沿触发、缓冲连接、中断结束采用EOI命令、中断优先级采用完全嵌套方式,8级中断源的中断类型分别为08H—0FH, 写出初始化程序。 ICW1 0 0 0 1 0 0 1 1 标志位 边沿触发 非级联 写入ICW4 ICW2 0 0 0 0 1 0 0 0 08H ICW4 0 0 0 0 1 1 0 1 完全嵌套 缓冲方式 主片 自动结束 16位 为什么不写ICW3? MOV AL OUT 20H,AL ;偶地址,写入ICW1(单片、边沿触发) MOV AL,08H OUT 21H,AL ;奇地址,写入ICW2(中断类型码) MOV AL OUT 21H,AL ; 奇地址,写入ICW4(缓冲连接、中断结束采用EOI命令) …. XOR AL,AL OUT DX,AL ;奇地址,写入OCW1(允许全部中断) …… STI …… ICW1 ICW2 ICW4 5.编程操作命令字 OCW1(屏蔽操作命令字):设置和清除中断屏蔽; OCW2(中断方式命令字):设置优先级循环方式和中断 结束方式; OCW3(状态操作命令字):设置和撤消特殊屏蔽; 设置中断查询方式; 设置对8259A内部寄存器的读 出命令。 对8259A进行初始化编程之后,已经作好了接收中断请求的准备,在其工作期间可以由操作命令字规定各种方式。 OCW1—屏蔽操作命令字 OCW1:中断屏蔽字,必须写入相应8259A芯片的奇地址端口 D7 D6 D5 D4 D3 D2 D1 D0 M7 M6 M5 M4 M3 M2 M1 M0 屏蔽命令字内容写入中断屏蔽寄存器IMR: Di=Mi对应IRi,为1禁止IRi中断;为0允许IRi中断。 各位互相独立。 OCW2:必须写入相应82
原创力文档

文档评论(0)