微型计算机原理作业第八章 习题与思考题 下载本文

B. 当计数初值一写入计数器,同时GATE=1才能启动计数。

C. 当计数初值写入计数器,在GATE信号由0至1的上升沿时才开始计数。 D. 当计数初值写入计数器,由方式命令字启动计数。

24.8253定时/计数器“硬件启动”的含义是

A. GATE由0→1,才开始计数 B. 写入计数初值后开始计数

C. 写入计数初值后,在GATE=1时开始计数

D. 写入计数初值后,等到GATE由0→1,才开始计数

三、判断题

1.8253在工作方式设定时总是先写控制字再写计数初值。 ( ) 2.8253内部数据总线缓冲器是只可以写入计数初值和往控制寄存器设置控制字。

( )

3.从8253计数器中读出的计数值是读出瞬间的减1计数器的内容。 ( )

4.8253的每个计数器,在不同的工作方式,计数为0时,从OUT都会输出一个相同的信号。 ( )

5.若计数时钟频率为1MHz,8253的每个计数通道最大定时时间为0.5秒。 ( ) 6.8253每个计数器对CLK的计数是递减的。 ( )

7.8253进行计数时最小值是0。 ( ) 8.8253方式控制字D0位为1时,表示写入计数值为BCD码,但写入时按十六进制数写入。 ( )

9.8253工作于方式4时,若计数初值为2个字节,则第1个字节计数值即可触发计数过程。 ( )

10.8253工作于方式1时,触发可以重复进行,而且不必重新写入初始值。( ) 四、问答题

1. 定时器和计数器有什么相同和不同?

2. 微机系统中有哪两种不同的定时类型?各有何特点?

3.请说明8253各个计数通道中三个引脚信号CLK,OUT和GATE的功能。 4.8253在写入计数初值时,二进制计数和十进制计数有无区别?若有,有何区别?

5.为什么要对8253写控制字?8253的控制字包括哪些内容?

6.8253的控制字是否可以读出?计数初值是否可以读出?可以从8253读出什么内容?

9

7.8253的门控信号GATE对计数过程有什么影响?当GATE=0时,哪几种计数方式会暂停计数?

8.当对8253写入控制字和初始值使8253开始计数,若正在计数过程中,又对其重新写入新的初始值,会怎样?

9.8253启动后开始计数,正在计数过程中可采用哪些方法中止计数?

10.试编写一个程序段,要求在计数操作进行过程中读取计数器2的内容,并把读取的数值装入AX寄存器,端口地址为304H~307H。 五、应用题

1.8253的通道0按方式3工作,时钟CLK0的频率为1MHz,要求输出方波的重复频率为40KHz,此时应如何写入计数初值。

2. 8253的计数通道0连接如图8.5,试回答:

(1) 计数通道0工作于何种工作方式,并写出工作方式名称; (2) 写出计数通道0的计数初值(要列出计算式)。

图8.5 8253计数通道0的连接

3. 图8.6为采用8253产生定时中断信号,送8259A的IR2,已知CLK0=1MHz,要求每隔1小时发出一个中断请求,IR2的中断类型号为0AH,中断服务程序的入口地址为INTER,8253的端口地址为180H~183H,试编制8253的初始化程序,并把中断服务程序的入口地址送入中断向量表。

图8.6 8253产生定时中断

4. 用8253利用软件产生一次性中断,最好采用什么方式?若将计数值送到某端口计数

10

寄存器后经过20ms产生一次中断,应如何设置编程?设时钟频率CLK为2MHz。

5.以8086为CPU的某微机系统中使用了一块8253芯片,其通道端口地址为3E30H,3E32H,3E34H,控制口地址为3E36H,时钟频率为4MHz,要求完成如下功能:

利用计数器0输出频率为4kHz的对称方波; 利用计数器1产生宽度为1ms的单脉冲; 利用计数器2实现5ms延时。 试编写初始化程序。

参考答案

一、填空题:

1. 可编程定时/计数器

2. 微机本身运行的定时、微机与外设的时序配合 3. 软件定时、硬件定时 4. 调用一个固定的延时子程序 5. 硬件定时方法 6. 3、16 7. 6、D2D1D0 8. 16 9. 一 10. 十 11.控制字

12.4

13.计数初值寄存器(16位)、减1计数器(16位)、当前计数值锁存器(16位)。14.外围设备、时钟 15.程序、并行 16.CLK

17.方式3、方式1 18.低 19.32.767ms

20.方式3、方式2、方式3 21. 500 22. 0--FFFF 二、选择题:

1—5 DCBCA

6-10 ACBDA 11-15 ABDBD 16-20 CACAD 21-24 CCBD

三、判断题:

1-5 √×××× 6-10 √×√×√

11

四、问答题:

1.答:定时器和计数器是同一器件──计数器件,其共同的特点是都有一个计数脉冲输入端,每输入一个脉冲,计数器就进行加1或减1计数。

若计数器件的计数脉冲的频率固定,则可利用计数实现定时,这就是定时器。 若计数器件的作用仅仅是记录输入脉冲的多少,则称为计数器。 2.答:微机系统中的定时,可分为内部定时和外部定时两类。

① 内部定时。是产生运算器、控制器等CPU内部的控制时序,去控制CPU内部指令的执行过程。内部定时是由CPU硬件结构决定的,用户无法更改。内部定时的单位很小,一般为ns和μs。

② 外部定时。是外部设备进行操作时所需要的一种时序关系,即工作过程,或操作序列的先后顺序。如打印机接口标准Centronics就规定了打印机与CPU之间的工作时序。外部定时是由用户根据外设的需要设定的,因此,外部定时是随外设不同而变化的。外部定时的计时单位比内部的要大,一般是ms级或s级。

3.答:CLK:输入信号,用于计数工作时,作为计数脉冲输入;用于定时工作时,作为定时基准脉冲输入。

OUT:输出信号,用于计数工作时,指示计数满的输出信号;用于定时工作时,指示定时时间到的输出信号。

GATE:输入信号,用于启动或禁止“减1计数器”的计数操作。

4. 答:采用二进制计数时,如果计数初值n为8位二进制数(十进制数≤255),则在用“MOV AL,n”写入AL时,n可以写成任何进制数;如果计数初值n为16位二进制数(十进制数≤65535),则可有两种方式写入,一种是把十进制数转换成4位十六进制数,分两次写入对应的计数通道(先低后高);另一种是把十进制数直接写入AX。采用十进制计数时,必须把计算得到的计数初值的十进制数后加上H,变为BCD码表示形式,例如n=50,则写为:MOV AL,50H

OUT PORT,AL 如果n=1250,则写为:

MOV AL,50H OUT PORT,AL MOV AL,12H OUT PORT,AL

5.8253有多种工作方式供选择,因此8253在使用前必须先向其写控制字,以决定究竟工作在哪一种方式。8253控制格式为:

D7D6:选择通道。 D5D4:00—计数器锁存;

01—只读/写计数器低字节;

10—只读/写计数器高字节;

11—先读/写计数器低字节,再读/写计数器高字节。

D3D2D1:确定工作方式。

D0:1—BCD码计数;0—二进制计数。

12