- 1、本文档共82页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
微机原理与接口技术7中断.
D7 D6 D5 =101 :使当前正在服务ISR位清0,并使其对应IR的优先级变为最低。 例3、自动循环、普通EOI命令 … MOV AL OUT 20H,AL IRET 执行前 ISR:0 1 0 0 1 0 0 0 优先级:7 6 5 4 3 2 1 0 执行后 ISR:0 1 0 0 0 0 0 0 优先级: 3 2 1 0 7 6 5 4 D7 D6 D5 =100 :进入自动循环优先状态,在CPU响应某一IR请求后自动将其ISR位清0,并将该IR的优先级变为最低。 1 0 0 0 0 0 0 0 D7 D6 D5 =000 :退出自动循环优先状态,此后按AEOI方式使ISR清0,优先级结构保持固定方式不变。 0 0 0 0 0 0 0 0 D7 D6 D5 =111 :同时完成普通EOI命令和设置最低优先级命令。 例4、循环指定、普通EOI命令(有多个中断时)。要把IR6定为最低 (L2L1L0=110) … MOV AL OUT 20H,AL 执行前 ISR: 0 1 1 0 0 1 0 0 优先级: 2 1 0 7 6 5 4 3 执行后 ISR: 0 1 0 0 0 1 0 0 优先级: 0 7 6 5 4 3 2 1 D7 D6 D5 =110 :使L2~L0所指定IR为最低优先级。该命令可用于循环优先的优先级结构改变,也可用于固定优先结构中设定优先级顺序。 例:设置优先权命令。若知当前IR5最高,想把IR7定为最高优先权。(实际上应该把IR6置为最低优先权)。此时, L2L1L0 =110 …. MOV AL OUT 20H,AL; IR7 IR6 IR5 IR4 IR3 IR2 IR1 IR0 (前)优: 2 1 0 7 6 5 4 3 (后)优: 0 7 6 5 4 3 2 1 (3)OCW3的格式(A0=0) 用于提供查询方式,特殊屏蔽方式,读状态等操作 D4D3=01,特征位 1.查询中断: P=1时,表示查询。 例:IR4引脚上有中断请求,CPU执行一条输入指令,从偶地址端口读得以下查询字: 8259A的操作命令字 P=0时,读IRR或ISR。 2.读状态 OCW3, RR=1,RIS=0,读IRR; OCW3, RR=1,RIS=1,读ISR。 若要读IMR,不须设OCW3的查询命令,直接从奇地址端口读入IMR。 3.特殊屏蔽方式操作 ESMM=1,SMM=1,置特殊屏蔽方式,8259A脱离当前优先级方式. ESMM=1,SMM=0,撤销特殊屏蔽方式 ESMM=0,SMM不起作用 8259A的操作命令字 4. 8259A哪些寄存器的内容可读出? 设8259A地址20H,21H 1)读中断屏蔽寄存器IMR内容:中断屏蔽字 IN AL,21H ;A0=1 2)要读出ISR或IRR的内容,A0=0 必须设置OCW3中的 D4D3 D2 =010: (1)读IRR:设置OCW3:D1D0=10 MOV AL, IN AL, 20H (2)读ISR:设置OCW3:D1D0=11 MOV AL, IN AL, 20H 8259A的操作命令字 3)此外,查询字也可读出,A0=0。先写入P=1的OCW3查询命令字 【问】 8529A仅占用两个I/O地址,它是如何区别4条ICW命令和3条OCW命令的?在地址引脚A0=1时读出的是什么? 【答】 A0=0写ICW1、OCW2、OCW3,以其特征位区分(D4D3分别是1X,00,01)。 A0=1写ICW2、ICW3、ICW4、OCW1,写ICW1后顺序写的是ICW2、ICW3、ICW4。 A0=0读IRR、ISR、查询字,由OCW3的RR和RIS两位区分IRR和ISR,通过OCW3的P位向8259发查询命令后读出的是查询字。 A0=1时,读IMR。 编写程序,将8259的IRR、
文档评论(0)