微机原理及应用期末考试题 下载本文

输出变高,当GATE 变高后,计数器将重新装入计数初值开始计数。

④ 在计数过程中可以改变计数值,如果此时GATE 维持为高,这对正在进行的计数过

程没有影响,但在计数到1 或0 后,通道自动恢复计数初值重新开始计数时将按新的计数值

计数。但如果此时GATE 出现上升沿,那么,在下一个CLK 周期,新的计数值将被装入计

数器开始计数。

这两种工作方式的不同之处是:

① 方式2 当计数器减到1 时,输出OUT 变低,经过一个CLK 周期后恢复为高,且计

数器开始重新计数。如果计数初值为N,则输出波形为N-1 个CLK 周期为高电平,一个CLK 周期为低电平。

② 方式3 输出为方波,但情况也有所不同:

若计数值为偶数,则输出为标准方波,N/2 个CLK 周期为高电平,N/2 个CLK 周期为

低电平。如果计数值N 是奇数,则输出有(N+1)/2 个CLK 周期为高电平,(N-1)/2 个CLK 周

期为低电平,即OUT 为高电平将比其为低电平多一个CLK 周期时间。

4.若选用8253 通道2,工作在方式1,按二进制计数,计数值为5432。设端口地址为D8H~

DBH,完成初始化编程。如果计数值改为65536 呢?如果此时又增选8253 通道0,工作

在方式0,按BCD 码计数,计数值为2000,再完成对通道0 的初始化编程。 解答:编程如下。

MOV AL,1011 0010B;(B2H) MOV DX,00DBH OUT DX,AL MOV AX,5432 MOV DX,00DAH OUT DX,AL MOV AL,AH OUT DX,AL

;计数值为65536

MOV AL,1011 0010B;(B2H) MOV DX,00DBH OUT DX,AL MOV AX,0000H MOV DX,00DAH OUT DX,AL OUT DX,AL ;增加通道0

MOV AL,0010 0001B;(20H)/ 0011 0001B;(31H) MOV DX,00DBH OUT DX,AL

MOV AL,20H;/00H MOV DX,00D8H OUT DX,AL; ;/MOV AL,20H ;/OUT DX,AL

5.某微机系统与CRT通讯中,采用异步方式,利用8253 芯片的通道1 产生发送和接收时钟,

时钟频率为50KHz。设8253 的通道1 的CLK1=1.2288MHz,端口地址为80H~83H,试写

出8253 的初始化程序。

解答:TOUT=N* TCLK(或fCLK=N*fOUT) N=1.2288MHz/50KHz=24.576 ;只能用方式3 来产生时钟信号 MOV AL,0101 0110B;(56H) MOV DX,0083H OUT DX,AL MOV AL,25H MOV DX,81H

OUT DX,AL 6.某系统中CPU 为8088,外接一片8253 芯片,要求通道2 提供一个定时启动信号,定时

时间为10ms,通道2 的工作时钟频率为2MHz。同时在通道0 接收外部计数事件输入,

计满100 个输出一个负脉冲。试完成硬件连线和初始化程序。 解答:TOUT=N* TCLK(或fCLK=N*fOUT) N=10 ms /(1/2MHz) =20000 ;2 号计数器

MOV AL,1011×××0B;(B0H) MOV DX,0083H OUT DX,AL MOV AX,20000 MOV DX,82H OUT DX,AL MOV AL,AH OUT DX,AL

;0 号计数器,只能用方式2

MOV AL,0001 ×100B;(14H/1CH) MOV DX,0083H OUT DX,AL MOV AL,100 MOV DX,80H OUT DX,AL

7.在出租车计价系统中,需要统计车轮转动的圈数,假设已有一个外部电路,车轮每转一

圈就可以输出一个脉冲,根据计价规则,车轮每转120 圈,要通知CPU 进行一次计价更

新。现在系统拟采用8253 作为计数器使用,CPU 采用8086,试完成硬件设

计和8253 的

初始化。(外部电路仅标明输出端即可,不需设计具体电路。不需进行CPU 方面的具体计

价计算,仅通知CPU 即可) 解答:

8.现在要用一片8253 进行脉宽测量,欲测量的脉宽大约是1ms。此时,欲测量的脉冲信号

可接在8253 相应通道的哪个引脚?采用什么工作方式?试完成测量所需的硬件和软件设

计(假设提供有两路时钟信号可以使用:1MHz 和10KHz)。 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 均为低有效,固定优先级。试

编写初始化程序。