微型计算机第六章输入输出控制习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CH06 输入输出控制
习题与思考题
1.CPU与外设之间的数据传输控制方式有哪几种?何谓程序控制方式?它有哪两种基本方式?请分别用流程图的形式描述其处理过程。
2.采用用查询方式将数据区DATA开始的100个字节数据在FCH端口输出,设状态端口地址为FFH,状态字的D0位为1时表示外设处于“忙”状态。试编写查询程序。
3.何谓中断优先级,它对于实时控制有什么意义?有哪几种控制中断优先级的方式?4.什么叫DMA传送方式? 其主要步骤是什么?试比较DMA传输、查询式传输及中断方式传输之间的优缺点和适用场合?
5.什么是中断向量?中断向量表的功能是什么?已知中断源的中断类型码分别是84H和FAH,它们所对应的中断向量分别为:2000H:1000H, 3000H:4000H, 这些中断向量应放在中断向量表的什么位置?如何存放?编程完成中断向量的设置。
解答:中断向量----;中断向量表----。
84H的位置:210H~213H;FAH的位置:3E8H~3EBH
0000:210H 00 10 00 20
0000:3E8H 00 40 00 30
PUSH DS
MOV DX,2000H
MOV DS,DX
MOV DX,1000H
MOV AL,84H
MOV AH,25H
INT 21H
;
MOV DX,3000H
MOV DS,DX
MOV DX,4000H
MOV AL,0FAH
MOV AH,25H
INT 21H
POP DS
6.试结合8086/8088CPU可屏蔽中断的响应过程,说明向量式中断的基本处理步骤。
解答:⑴接口发中断请求信号(中断请求),若有中断优先级判别,进行判优;⑵当前指令执行完后,CPU进行中断回答(中断响应);⑶中断类型号N送CPU;⑷当前的PSW、CS、IP推入堆栈;⑸清除IF和TF;⑹(4*N)作为IP,(4*N+2)作为CS;⑺中断子程序执行(中断服务);⑻开中断;⑼IRET指令使IP、CS和PSW弹出堆栈;⑽返回被中断的程序(中断返回)。
7.在中断响应总线周期中,第一个INTA脉冲向外部电路说明什么?第二个INTA脉冲呢?解答:第一个INTA脉冲----
·使IRR的锁存功能失效。(目的是防止此时再来中断导致中断响应的错误),到第二个
INTA时恢复有效。
·使ISR的相应位置位,表示已为该中断请求服务。
·使IRR相应位清0。
第二个INTA脉冲----
·送中断类型码,中断类型码由用户编程和中断请求引脚的编码共同决定,详见编程部分。
·如果8259A工作在中断自动结束方式,则此时清除ISR的相应位。
8.中断处理的主要步骤有哪些?试说明每一步的主要动作。
9.如果8259A按如下配置:不需要ICW4,单片,中断请求边沿触发,则ICW1的值为多少?。如要求产生的中断类型码在70H~77H之间,则ICW2的值是多少?
解答:ICW1=×××1 0×10B;ICW2=0111 0×××B
10.在上题中,假设8259A的端口地址为00H和01H,采用中断自动结束,固定优先级,完成对该8259A的初始化。
解答:初始化程序如下。
MOV AL,×××1 0×10B;
OUT 00H,AL;ICW1
MOV AL,0111 0×××B;
OUT 01H,AL;ICW2
(MOV AL,0000 0×11B;ICW4
OUT 01H,AL;前提ICW1=×××1 0×11B)
MOV AL,00H
OUT 00H,AL;OCW2
11.如果8259A用在80386DX系统中,采用一般的EOI,缓冲模式,主片,特殊全嵌套方式,则ICW4的值是什么?
解答:ICW4=0001 1101B
12.如果OCW2等于67H,则允许何种优先级策略?为什么?
解答:67H=0110 0111B,固定优先级。
13.某系统中CPU为8088,外接一片8259A作为中断控制器,五个中断源分别从IR0~IR4以脉冲方式引入系统,中断类型码分别为48H~4CH,中断服务子程序入口的偏移地址分别为2500H,4080H,4C05H,5540H和6FFFH,段地址均是2000H,允许它们以非中断自动结束方式,固定优先级工作,请完成:
①画出硬件连接图,写出此时8259A的端口地址;
②编写8259A的初始化程序,(包括对中断向量表的设置)。
14.某系统中设置两片8259A级联使用,从片接至主片的IR2,同时,两片芯片的IR3上还分别连接了一个中断源,要求电平触发,普通EOI结束。编写全部的初始化程序。(端口地址可用自定)
15.设8253的通道2工作在计数方式,外部事件从CLK2引入,通道2计满500个脉冲向CPU发出中断请求,CPU响应这一中断后重新写入计数值,开始计数,以后保持每2秒钟向CPU发出一个中断请求。假设条件如下:
①外部计数事件频率为1kHz;
②中断类型码为54H;
试完成硬件连接图并编写完成该任务的全部程序(包括芯片的初始化,中断向量的设置,中断服务子程序)。
16.DMA控制器8237A的主要功能是什么?其单字节传输方式与数据块传输方式有什么不同?
17.某8086系统中使用8237A完成从存储器到存储器的数据传送,已知源数据块首地址的偏移地址值为1000H,目标数据块首地址的偏移地址值为2050H,数据块长度为1K字节,地址增量修改。试编写初始化程序。(端口地址分别为00H~0FH)
18.某系统中使用8237A通道0完成从存储器到外设端口的数据传送任务(数据块传输方式),若已知芯片的端口地址分别为EEE0H~EEEFH,要求通过通道0将存储器中偏移地址为1000H~10FFH的内容传送到显示器输出,DREQ、DACK均为低有效,固定优先级。试编写初始化程序。