微机接口课后答案(4)

2018-12-04 17:02

第七章

1. 什么叫中断?什么叫可屏蔽中断和不可屏蔽中断?

答:当CPU正常运行程序时,由于微处理器内部事件或外设请求,引起CPU中断正在运行 的程序,转去执行请求中断的外设(或内部事件)的中断服务子程序,中断服务程序执行完毕, 再返回被中止的程序,这一过程称为中断。

可屏蔽中断由引脚INTR引入,采用电平触发,高电平有效,INTR信号的高电平必须

维持到CPU响应中断才结束。可以通过软件设置来屏蔽外部中断,即使外部设备有中断请 求,CPU可以不予响应。当外设有中断申请时,在当前指令执行完后,CPU首先查询IF位, 若IF=0,CPU就禁止响应任何外设中断;若IF=1,CPU就允许响应外设的中断请求。 不可屏蔽中断由引脚NMI引入,边沿触发,上升沿之后维持两个时钟周期高电平有效。 不能用软件来屏蔽的,一旦有不可屏蔽中断请求,如电源掉电等紧急情况,CPU必须予以 响应。

2. 列出微处理器上的中断引脚和与中断有关的指令。 答:INTR:可屏蔽中断请求输入引脚。 NMI:不可屏蔽中断请求输入引脚 INTA:可屏蔽中断响应引脚

INT n :软件中断指令,其中n为中断类型号

INTO:溢出中断,运算后若产生溢出,可由此指令引起中断。 CLI:中断标志位IF清0 STI:置位中断标志位为1

3. 8086/8088系统中可以引入哪些中断? 答:(1)外部中断

两种外部中断:不可屏蔽中断NMI和可屏蔽中断INTR (2)内部中断

内部中断又称软件中断,有三种情况引起: ①INT n :中断指令引起的中断

②CPU的某些运算错误引起的中断:包括除法错中断和溢出中断 ③由调试程序debug设置的中断:单步中断和断点中断。 4. CPU响应中断的条件是什么?简述中断处理过程。 答:CPU响应中断要有三个条件:

外设提出中断申请;本中断位未被屏蔽;中断允许。 可屏蔽中断处理的过程一般分成如下几步:

中断请求;中断响应;保护现场;转入执行中断服务子程序;恢复现场和中断返回。 CPU在响应外部中断,并转入相应中断服务子程序的过程中,要依次做以下工作: ⑴从数据总线上读取中断类型号,将其存入内部暂存器。 ⑵将标志寄存器PSW的值入钱。

⑶将PSW中的中断允许标志IF和单步标志TF清0,以屏蔽外部其它中断请求,避 免CPU以单步方式执行中断处理子程字。

⑷保护断点,将当前指令下面一条指令的段地址CS和指令指针IP的值入栈,中断 处理完毕后,能正确返回到主程序继续执行。

⑸根据中断类型号到中断向量表中找到中断向量,转入相应中断服务子程序。

⑹中断处理程序结束以后,从堆栈中依次弹出IP、CS和PSW,然后返回主程序断点 处,继续执行原来的程序。

5. 中断服务子程序中中断指令STI放在不同位置会产生什么不同结果?中断嵌套时,STI

指令应如何设置?

答:由于响应中断时CPU自动关闭中断(IF=0),故在中断服务子程序中STI指令后方可 实现中断嵌套。一般在中断服务子程序中保护现场后即设置开中断指令STI(IF=1),以便 实现中断嵌套。

6. 中断结束命令EOI放在程序不同位置处会产生什么不同结果?

答:中断结束命令EOI后,清除中断服务寄存器中的标志位,即允许响应同级或低级中断, 为避免错误,一般将中断结束命令EOI置于中断服务子程序结束前。 7. 中断向量表的功能是什么?

答:中断向量表又称中断服务程序入口地址表。

将每个设备的中断服务程序入口地址(矢量地址)集中,依次放在中断向量表中。当CPU 响应中断后,控制逻辑根据外设提供的中断类型号查找中断向量表,然后将中断服务程序的 入口地址送到段寄存器和指令指针寄存器,CPU转入中断服务子程序,这样可大大加快中 断处理的速度。

8086/8088系统允许处理256种类型的中断,对应类型号为0~FFH。在存储器的

00000H~003FFH,占1K字节空间,用作存放中断向量。每个类型号占4个字节,高2个字 节存放中断入口地址的段地址,低2个字节存放段内偏移地址。

8. 假定中断类型号15的中断处理程序的首地址为ROUT15,编写主程序为其建立一个中断 向量。 PUSH ES MOV AX,0 MOV ES,AX

MOV DI,54H ;15H*4

MOV AX,OFFSET ROUT15 ;中断处理程序的偏移→AX CLD STOSW

MOV AX,SEG ROUT15 ;中断处理程序的段地址→AX STOSW POP ES

9. 8086/8088CPU如何获得中断类型号? 答:对于内部中断

①INT n :n即为中断类型号

②除法错中断自动获得类型号0,INTO溢出中断自动获得中断类型号4 ③单步中断自动获得类型号1,断点中断自动获得类型号3。 对于外部中断:

①不可屏蔽中断NMI:自动获得中断类型号2

②可屏蔽中断INTR:CPU响应可屏蔽中断,对中断接口电路发出两个中断响应信号INTA,中断接口电路

收到第二个INTA以后,通过数据线向CPU送中断类型号。

10. 给定SP=0100H,SS=0500H,PSW=0240H,在存储单元中已有内容为(00024H)=0060H, (00026H)=1000H,在段地址为0800H及偏移地址为00A0H的单元中有一条中断指令INT 9, 试问执行INT 9指令后,SP、SS、IP、PSW的内容是什么?栈顶的三个字是什么?

答:执行INT 9指令,标志寄存器PSW、下一条指令的段地址CS和指令指针IP的值分别 入栈,PSW中的中断允许标志IF和单步标志TF清0,中断向量表的中断入口地址送CS和 IP,转入中断服务子程序。所以此时SP=00FAH,SS=0500H,CS=1000H,IP=0060H,

PSW=0040H。栈顶的三个字是:(0500H:00FAH)=00A2H、(0500H:00FCH)=0800H、 (0500H:00FEH)=0240H

11. 8259A优先权管理方式有哪几种?中断结束方式又有哪几种? 答:8259A优先权管理方式有如下4种: (1)全嵌套方式

此方式下,中断优先级分配固定级别0~7级,IR0具有最高优先级,IR7优先级最低。 (2)特殊全嵌套工作方式

此种工作方式主要用于8259A级联情况。此方式与全嵌套工作方式基本相同,区别在

于当处理某级中断时,有同级中断请求进入,8259A也会响应,从而实现了对同级中断请求 的特殊嵌套。

(3)优先级自动循环方式

优先级可以改变,初始优先级次序为IR0~IR7,当任何一级中断被处理完后,它的优 先级别变为最低,将最高优先级赋给原来比它低一级的中断请求。 (4)优先级特殊循环方式

特殊循环方式下,初始时优先级由程序指定,而不是固定的。 8259A中断结束方式有如下3种: (1)普通EOI结束方式

在全嵌套工作方式下,任何一级中断,处理结束返回上一级程序前,CPU向8259A传 送EOI结束命令字,8259A收到EOI结束命令后,自动将ISR寄存器中级别最高的置1位 清0。

(2)特殊EOI结束方式

在非全嵌套工作方式下,中断服务寄存器是无法确定哪一级中断为最后响应和处理的, 此时要采用特殊SEOI结束方式。CPU向8259A发特殊EOI结束命令字,命令字中将当前 要清除的中断级别也传给8259A,此时8259将ISR寄存器中指定级别的对应位清0。 (3)自动EOI结束方式

在自动AEOI方式中,任何一级中断被响应后,ISR寄存器对应位置1,但在CPU进入 中断响应周期,发第二个INTA脉冲后,自动将ISR寄存器中对应位清0。

12. 单片8259A在全嵌套中断工作方式下,要写哪些初始化命令字及操作命令字? 答:初始化命令字需要写:ICW1,ICW2,ICW4。

操作命令字需要写:OCW1中断屏蔽操作命令字(根据需要,若不需要可不写)

13. 系统中新增加一个中断源,在软件上应增加哪些内容,此中断系统才能正常工作? 答:需要确定中断源的中断类型,然后将中断服务程序的入口地址放入中断向量表中。编写 相应的中断服务程序。

14. 系统中有3个中断源,从8259A的IR0、IR2、IR4端引入中断,以边沿触发,中断类型 号分别为50H、52H、54H,中断入口地址分别为5020H、6100H、3250H,段地址为1000H。 使用完全嵌套方式,普通EOI结束,试编写初始化程序,使CPU能正确响应任何一级 中断;并编写一段中断服务子程序,保证中断嵌套的实现和正确返回。 答:;初始化程序 设8259A的端口地址为20H和21H

;设置中断向量表

MOV AX, 1000H ;段地址 MOV DS, AX

MOV DX, 5020H ;偏移地址 MOV AL, 50H ;中断类型号 MOV AH, 25H

INT 21H ;写50H的中断入口地址 MOV DX, 6100H ;偏移地址 MOV AL, 52H ;中断类型号

INT 21H ;写52H的中断入口地址 MOV DX, 3250H ;偏移地址 MOV AL, 54H ;中断类型号

INT 21H ;写54H的中断入口地址 ;8259A初始化命令字

MOV AL, 13H ;定义ICW1,单片,边沿触发 OUT 20H, AL

MOV AL, 50H ;定义ICW2,中断号50H~57H OUT 21H, AL

MOV AL, 01H ;定义ICW4,完全嵌套, 非缓冲, 普通EOI OUT 21H, AL

MOV AL, 0EAH ;定义OCW1,屏蔽IR1,3,5,6,7 OUT 21H, AL ;中断服务子程序 PUSH AX ;保护现场 ??

STI ;开中断 ?? ;中断处理 CLI ;关中断

MOV AL,20H ;定义OCW2,普通EOI结束命令 OUT 20H,AL ??

POP AX ;恢复现场 IRET ;中断返回

15. 如外设A1、A2、A3、A4、A5按完全嵌套优先级排列规则,外设A1的优先级最高, A5最低。若中断请求的次序如下所示,试给出各外设的中断处理程序的次序。(假设所有的 中断处理程序开始后就有STI指令) (1)外设A3和A4同时发出中断请求;

(2)在外设A3的中断处理中,外设A1发出中断请求;

(3)在外设A1的中断处理未完成前,发出EOI结束命令,外设A5发出中断请求 答:外设的中断处理程序的次序为:A3→A1→A3→A4→A5

16. 某系统中有3片8259A级联使用,1片为8259A主片,2片为8259A从片,从片接入 8259A主片的IR2和IR5端,并且当前8259A主片的IR3及两片8259A从片的IR4各接有 一个外部中断源。中断类型基号分别为80H,90H,A0H,中断入口段地址为2000H,偏移 地址分别为1800H,2800H,3800H,主片8259A的端口地址为F8H,FAH。一片8259A从 片的端口地址为FCH,FEH,另一片为FEECH,FEEEH。中断采用电平触发,全嵌套工作

方式,普通EOI结束。 (1)画出硬件连接图。 (2)编写初始化程序。 答:

硬件连接图硬件连接图

(1)中断向量表形成 MOV AX,2000H

MOV DS,AX ;DS中为段地址

MOV DX,1800H ;DX中为偏移地址 MOV AL,83H ;中断类型号为83H MOV AH,25H

INT 21H ;设置类型号83H的中断向量 MOV DX,2800H MOV AL,94H

INT 21H ;设置类型号94H的中断向量

MOV DX,3800H MOV AL,0A4H

INT 21H ;设置类型号A4H的中断向量

(2)主片8259A初始化编程:端口地址为F8H和FAH MOV AL,00011001B(19H);定义ICW1,主片级联,电平触发 OUT 0F8H,AL ;发ICW1命令

MOV AL,80H ;IR0的中断类型号为80H OUT 0FAH,AL ;发ICW2命令 MOV AL,00100100B(24H);定义ICW3,IR2和IR5接从片 OUT 0FAH,AL

MOV AL,00000001B(01H);定义ICW4,完全嵌套,非缓冲 OUT 0FAH,AL ;非自动EOI结束方式 MOV AL,11010011B(0D3H);定义OCW1,允许IR2、IR3 OUT 0FAH,AL ;IR5中断,其余中断请求屏蔽

(3)1#从片8259A初始化编程:端口地址为FCH和FEH


微机接口课后答案(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:企业(公司)中层干部选拔任用管理制度(表格)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: