微机原理与接口技术-第6章-输入输出与中断技术解剖.ppt

微机原理与接口技术-第6章-输入输出与中断技术解剖.ppt

  1. 1、本文档共97页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 3.中断优先级与中断嵌套 8088/8086系统的中断优先级如下: 不可屏蔽中断除法错中断INT nINTO可屏蔽中断单步中断 中断可以嵌套 8088/8086中断的处理流程 CPU在每条指令的最后一个时钟周期检测中断请求信号: (1). 若有非屏蔽中断请求,则CPU执行完现行指令后,就立即响应中断。2号。 * * (2). 如果有可屏蔽中断请求,CPU响应中断需要满足4个条件:? ① CPU处于开中断状态,即IF=1; ② 当前没有发生复位、没有总线请求、没有内部中断、没有不可屏蔽中断; ③ 当前执行的指令不是开中断指令STI,也不是中断返回指令IRET。如果刚巧是,CPU将它们执行结束后,再执行一条指令,CPU才能响应中断。 ④ CPU执行完现行指令。 (3). 进入中断响应阶段,CPU向中断源发出中断应答信号INTA,同时: ① 保护硬件现场,即将标志寄存器FLAGS入栈; ② 关中断,即设置IF=0; ③ 保护断点,把主程序断点的CS 和IP值压入堆栈; ④ 通过中断向量码查中断向量表,获得中断服务程序的入口地址,分别送入IP和CS中。 * (4). 中断服务 执行中断服务程序 (5). 中断返回 IRET * * 4. 中断向量表 8086为每个中断源分配了一个编号,称为中断类型码或中断向量码。 中断向量:中断服务程序的入口地址。 中断向量表:将中断向量按一定的规律排列成表。 * 中断向量表 * 256个中断向量 每个向量(入口地址)需要4个内存单元,256种中断共需要1K个内存单元。 8088/8086系统中的中断向量表位于内存低地址00000~003FFH的存储区内。 * 中断向量的存放首地址=4n 如:中断类型码为21H 则中断向量的存放首地址为: 0000:0084H 4n+1,4n送IP,即IP=(4n:4n+1) 4n+3,4n+2送CS,即IP=( 4n+2:4n+3 ) CPU就转去执行n的中断服务程序。 * 例:如中断类型号为20H,则中断向量的存放首地址为20H×4=80H 当系统响应20H号中断,从中断向量表中取出该中断服务程序的入口地址为:CS:IP=4000H:2010H。 10H 20H 00H 40H …. * 5. 8086/8088CPU中断处理流程 CPU在每条指令的最后一个时钟周期检测有无中断请求,若有则可获得中断类型码。 内部中断和非屏蔽中断都是自动获得中断类型码,可屏蔽中断通过中断响应总线周期获得中断类型码。 获得中断类型码之后,各种中断的处理过程相同: * 5. 8086/8088CPU中断处理流程 获得中断类型码之后,各种中断的处理过程相同: ① 将中断类型码放入暂存器保存; ② 将标志寄存器内容压入堆栈,以保护中断时的状态; ③ 将IF和TF标志清0; ④ 保护断点,当前的IP和CS的内容入栈; ⑤ 根据中断类型码,在中断向量表中找出中断服务程序的入口地址,装入IP和CS,转向中断服务程序。 ⑥ 执行中断服务程序; ⑦ 中断返回。 6.8 可编程中断控制器8259A 8259A的性能概述: 具有8级中断优先级控制,可以级联扩展至64级。 每一级中断都可以设置为允许或屏蔽状态 可以编程控制8259A 的工作方式 单一5V电源 * * 作业:3、4、6、7、8、12、14、15 书面作业:7 * 74LS273的端口地址为FE00H * 程序数据段 DSEG SEGMENT SEG8 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H DB 6FH,77H,7CH,39H,5EH,79H,71H,00H DSEG ENDS * 程序代码段 CSEG SEGMENT ASSUME CS:CSEG ,DS: DSEG START: MOV AX, DSEG MOV DS, AX LEA BX, SEG8 ;取8段码显示字形表基地址 MOV DX, 0FE00H AA1: MOV SI, 0 AA2: MOV AL, [BX+SI] ;取显示字形码 OUT DX, AL * CALL DELAY ;调用延时子程序 INC SI CMP SI, 16 JZ AA1 JMP AA2 MOV AH, 4CH INT 21H CSEG ENDS END START * 延时子程序 DELAY PROC NEAR ;子程序开始 PUSH CX MOV CX,2FFFH SUBS:LOOP SUBS POP CX

文档评论(0)

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

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

1亿VIP精品文档

相关文档