中断控制接口.ppt

  1. 1、本文档共121页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
中断控制接口

例:PT86单板机中,CPU为8086,采用非自动结束中断方式,使用两片8259A,非缓冲方式,为使从片也能提出中断请求,主片采用特殊全嵌套方式。主片地址:0FFDEH。 D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 1 0 0 0 1 D7 D6 D5 D4 D3 D2 D1 D0 0 0 0 SFNM BUF M/S AEOI uPM 11H MOV DX, 0FFDFH MOV AL, 11H OUT DX, AL * PC/AT机中有两片8259A,主片地址20H,21H,从片地址A0H,A1H,主片中断类型号08H~0FH,从片70H~77H,边沿触发,正常全嵌套,非自动EOI。 MOV AL, 11H OUT 20H, AL MOV AL, 08H OUT 21H, AL MOV AL, 04H OUT 21H, AL MOV AL, 01H OUT 21H, AL MOV AL, 11H OUT 0A0H, AL MOV AL, 70H OUT 0A1H, AL MOV AL, 02H OUT 0A1H, AL MOV AL, 01H OUT 0A1H, AL PC/AT机8259A连接图 * 2. 工作方式编程 共有3个工作命令字OCW(Operation Command Word),均为CPU向8259A发布的命令,3个命令字无顺序,可独立、反复使用。 OCW1:中断屏蔽命令字(写入奇地址) 设置中断屏蔽寄存器IMR的内容,为1禁止产生中断输出,为0允许中断。 IMR可以屏蔽一个或几个IR的中断请求,它加强了对中断的控制能力。屏蔽单个或部分IR,可以使得在主程序的不同部分使用不同的中断,而不必改变硬件结构,还可以在子程序中禁止比自己优先级高的某些中断,这实际上也就改变了中断的优先级。 * 例:若使中断源IR3开放,其余被屏蔽,则OCW1为: 设置中断屏蔽寄存器IMR的内容,为1禁止产生中断输出,为0允许中断。(写入奇地址) 1111 0111 F7H MOV AL, 0F7H OUT 21H, AL ;写入奇地址 IMR寄存器中的内容还可以被CPU读出,直接读奇地址。 IN AL, 21H * 例:BIOS中有一段检查中断屏蔽寄存器的程序: MOV AL, 00H OUT 21H, AL IN AL, 21H OR AL, AL JNZ D6 MOV AL, 0FFH OUT 21H, AL IN AL, 21H ADD AL, 1 JNZ D6 …… ;置IMR为全0 ;读IMR中的内容,读奇地址 ;检查IMR中是否为全0 ;不为全0,转错误处理程序D6 ;置IMR为全1 ;读IMR中的内容,读奇地址 ;检查IMR中是否为全1 ;不为全1,转错误处理程序D6 * OCW2:控制中断结束和优先权循环的操作命令字 (写入偶地址) D7 D6 D5 D4 D3 D2 D1 D0 R SL EOI 0 0 L2 L1 L0 D4 D3为00,用以与初始化ICW1相区别,ICW1中D4为1。 D7-R: 用来控制8259A中断优先级是否为轮换优先级的方式,置1为轮换优先级, 置0为固定优先级。 D5-EOI: 用来指示该命令字是否为发送中断结束命令。置1为发送非自动结束中断结束命令,置0为该命令与中断结束命令无关,是设置优先级的命令。 * D7 D6 D5 D4 D3 D2 D1 D0 R SL EOI 0 0 L2 L1 L0 OCW2一共有两种命令,设置中断轮换优先级或发送中断结束命令,这两种命令又都有一般和特殊两种形式。 设置优先级自动轮换方式:优先级最高为IR0,依次轮换 设置优先级指定轮换方式: 指定一个最低优先级,依次轮换 发送正常的非自动结束中断方式; 发送指定的非自动结束中断方式; * 优先级自动轮换方式 优先级的顺序不是固定不变的,一个设备受到中断服务后,其优先级自动降为最低。初始优先级的顺序为IR0~IR7。该方式用在系统中多个中断源优先权相同的场合。 初始 IR0 IR1 IR2 IR3 IR4 IR5 IR6 IR7 IR3申请后 IR4 IR5 IR6 IR7 IR0 IR1 IR2 IR3 IR6申请后 IR7 IR0 IR1 IR2 IR3 IR4 IR5 IR6 优先级:高 低 优先级指定轮换方式 与优先级自动轮换方式一致,但初始的最低优先级是指定的,然后再按顺序自动轮换。 初始指定IR1 IR2 IR3 IR

文档评论(0)

rovend + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档