微机原理与接口课件8259

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
;00000001B,写入ICW4
例2: 设8259A应用于8086系统,采用主从两片级联工 作,主片偶地址为20H,奇地址为22H,(这里的偶地址和 奇地址是相对于8259A的片内地址而言),中断类型号为 08H~0FH,从片偶地址为0A0H,奇地址为0A2H,中断类 型号为70H~77H,主片IR3和从片级连,要实现从片级全嵌
;00011001B,写入ICW1 ;级联 ;00001000B,写入ICW2 ;中断号:08-0FH ;00001000B,写入ICW3, ;在IR3引脚上接有从片 ;00010001B,写入ICW4 ;主片特殊全嵌套
(1) 从片初始化程序 MOV AL, 19H OUT 0A0H, AL MOV AL, 70H OUT 0A2H, AL MOV AL, 03H OUT 0A2H, AL MOV AL, 01H OUT 0A2H, AL
OCW3
D3 1 D4 0
用标志位识别
2. A0 = 1 (奇地址端口) 写入的有: ICW2 ICW3 ICW4 OCW1 按写入顺序识别 注意:初始化过程中可能没有ICW3或ICW4, 应根据具体情况确定。
3. 可读入的: OCW1(A0=1),IMR; OCW3(A0=0),查询字,IRR,ISR
八、8259A编程举例
例 1: 设 8259A 应 用 于 8088 系 统 , 中 断 类 型 号 为 08H~0FH,它的偶地址为20H,奇地址为21H,设置单片
8259A按如下方式工作:电平触发,普通全嵌套,普通
EOI,非缓冲工作方式,试编写其初始化程序。 分析:根据8259A应用于8088系统,单片工作,电 平 触 发 , 可 得 : ICW1=00011011B; 根 据 中 断 类 型 号 为 08H~0FH,可得:ICW2=00001000B;根据普通全嵌套,普
0 偶地址端口 1 奇地址端口
对8259A读/写 操作时, 要注意控制字
写入的端口地址(与CPU低位地址连接有关) 写入的顺序 有关的标志位
8259A 的初始化编程流程
用ICW1设置:是否级联? 请求信号的触发方式 后面是否用ICW4 用ICW2设中断类型码 是否为级联方式? Y 本片为主片吗? 主片ICW3各位对应 IR0~IR 7 的连接状况 N N
8259A 的控制字与初始化编程
两类控制字:初始化字(ICW)和操作命令字(OCW),
可进行初始化设定及工作方式控制;
编程: 分为两部分,即初始化编程和工作方式编程。 初始化字ICW (Initialiation Command Word)有 4个:ICW1~ICW4,用于初始化; 通常,系统启动时设置初始化程序;
;00011001B,写入ICW1 ;01110000B,写入ICW2 ;中断号:70H~ ;00000011B,写入ICW3, ;本从片的识别码为03H ;00000001B,写入ICW4 ;从片全0模式
例 3 在例2中,主片要查询从片ISR状态, 当全部从片中断得到响应后,才能发中断结束 命令,试编写该程序段。 分析:全部从片中断得到响应,从片 ISR=0,只要读出从片ISR等于0,便结束中断。 程序如下:
断请求输入的准备,在8259A 工作期间可由操作
命令字OCW1~OCW3 规定工作方式和控制命令。
如:中断屏蔽、中断结束和优先级循环、查询中断
方式等,都可在用户程序中利用操作命令字OCW 设置和修改。
1. OCW1(中断屏蔽操作命令字)
设置或清除IMR 的各个位。 A0
1
D7
M7
………… …………
通EOI,非缓冲工作方式,可得:ICW4=00000001B 。写
入置此三字,即可完成初始化,程序如下:
MOV OUT MOV OUT MOV OUT
AL, 20H, AL, 21H, AL, 21H,
1BH AL 08H AL 01H AL
;00011011B,写入ICW1
;00001000B,写入ICW2
一旦设定,在工作过程中一般不再改变。
操作命令字OCW( Operation Command Word)3个: OCW1~OCW3 作用:设定8259A的工作方式及发出相应控制命令。 设定:在应用程序中(如设备的中断服务程序), 用于中断处理过程的动态控制,可多次设置。
注意: 8259A 只有两个端口地址 A0=
标志位
OCW3有三个作用:
用于设置查询中断方式、特殊屏蔽方式、读IRR或ISR控制
8259A 对ICW、OCW的识别
8259A 只占两个端口,但ICW 有4个, OCW有3个。 1. A0 = 0 (偶地址端口) 写入的有:
ICW1,
(D4=1)
OCW2,
D3 0 D4 0
D0
M0
Mi=1 表示IRi被屏蔽
2. OCW2 (优先权循环方式和中断结束方式 操作命令字)
A0
0
D7 D6 D5 D4 D3 D2 D1 D0
R SL EOI 0 0 L2 ห้องสมุดไป่ตู้1 L0
标志位
3. OCW3 (特殊屏蔽方式和中断查询方式操作命令字) A0 D7 D0
0 0 ESMM SMM 0 1 P RR RIS
套工作,试编写其初始化程序。
分析:根据8259A应用于8086系统,主从式级联工作,
主片和从片都必须有初始化程序,要实现从片级全嵌套工
作,必须主片采用特殊全嵌套,从片采用普通全嵌套,如 其他要求与例1相同,主片和从片初始化程序如下:
(1) 主片初始化程序 MOV AL, 19H OUT 20H, AL MOV AL, 08H OUT 22H, AL MOV AL, 08H OUT 22H, AL MOV AL, 11H OUT 22H, AL
MOV AL, 0BH
; 00001011B写入从片OCW3, ; 要求读出ISR
OUT 0A0H, AL IN AL, 0A0H ;读从片ISR OR AL, AL ; 判ISR是否全0 JNZ ZDCK ; 否,转中断入口 MOV AL, 63H ; 是,01100011B写入OCW2, ;向主片发中断结束命令,主片ISR的D3位清0 OUT 20H, AL ZDCK:IRET
N 从片ICW3 高5位为0; 低3位为标识码
用ICW4 吗?
注意:级联 使用时,主 /从8259A都 要作初始化 操作。
Y 用 ICW4 设:为特殊全嵌套方式? 为缓冲方式? 为自动EOI方式? 为8086/8088系统? END
8259A的初始化流程
8259A 的操作命令字
对8259A 进行初始化编程后,8259A作好了接收中
相关文档
最新文档