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

第八章 习题与思考题

典型例题解析

一、填空题

1. 当8253工作在周期性方波输出方式时,若计数初值为偶数,则输出 ① 方波,若计数初值为奇数,则输出 ② 方波。

分析:8253工作于方式3时输出连续方波,当计数初值n为偶数时,输出方波的高、低电平持续时间均为nTCLK/2,当计数初值n为奇数时,输出方波的高电平持续时间为(n+1)TCLK/2,低电平持续时间为(n+1)TCLK/2。

答:①对称 ②非对称

2.8253内部寄存器地址有 ① 个I/O端口,其中 ② 个是定时/计数通道端口。

分析:8253有两条地址线A1、A0,用来选中片内4个端口,其中3个是计数通道地址。 答:①4 ②3

3.8253的计数通道0(端口地址为POTR0)用于计数,要求计满30输出一信号,假定计数器工作于BCD计数方式,则写入计数初值的指令为MOV L, 和OUT PORT0,AL

分析:8253在初始化写入计数初值时,若采用BCD码计数,计数初值必须以计数结果的十进制数加上“H”表示。例如计数值为10,必须写为10H。

答:30H 二、选择题

1.8253的哪种工作方式能产生连续方波输出( )。

A. 方式0 B. 方式1 C. 方式2 D. 方式3

分析:8253有6种工作方式,其中产生连续波形的是方式2和方式3,方式3产生连续方波

答:D

2.8253每个计数器的最大计数初值是( )。

A. 65536 B. FF00H C. 0000H D. FFFFH

分析:8253每个计数器的计数范围是1~65536,当计数初值为0000H时,计满65536,减1计数器减为0。 答:C

3. 若8253定时/计数器处于计数过程中,当CPU对它装入新的计数初值时,其结果将是( )。

A. 8253定时/计数器禁止编程

B. 8253定时/计数器允许编程,并改变当前的计数过程

C. 8253定时/计数器允许编程,但不改变当前的计数过程

D. 8253定时/计数器允许编程,是否影响当前的计数过程随工作方式而变

1

分析:8253定时/计数器具有3个独立的16位计数通道,它们可以分别工作在6种不同的工作方式。有的工作方式在计数过程中,如果CPU装入新的初值,则将立即影响本次计数过程,如方式0、方式4;有的工作方式将等待本次计数过程结束后才有效,如方式2、方式3;而有的工作方式将由外部的触发信号触发后才有效 答:D

4. 当8353定时/计数器工作在( )下时,需要由外部脉冲触发开始计数。

A. 方式0 B. 方式1 C. 方式2 D. 方式3 E.方式4 F. 方式5 分析:8253的任何一种工作方式都是在写入计数初值后才开始计数。方式0、2、3和4是在写入计数初值后,立即开始计数过程。而方式1和方式5需要由外部触发脉冲触发启动才能开始计数,即所谓“硬件启动”。

答:B F

三、简答题

1.试述可编程定时/计数器8253的特点。

答:8253是一种可编程定时/计数器,有3个16位计数器,称为3个计数通道。每个计数通道有3个引脚──计数输入CLK,作为计时基准输入或计数脉冲输入;门控输入GATE,用作启动或禁止计数器工作;输出信号OUT,以相应的电平或脉冲波形指示计数的完成。8253有6种工作方式,不同的工作方式可以由方式控制字选择。8253有两种计数方式──二进制计数,计数范围为1~65536(写入计数初值0时,为65536);十进制计数,计数范围为1~10000(写入计数初值0时,为10000)。在6种工作方式中,只有方式2和方式3的输出波形是连续波形。

2.试比较8253方式0与方式4、方式1与方式5有什么区别?

答:方式0为计数结束产生中断方式,方式4为软件触发选通方式。两种方式下的计数方式基本相同,门控信号GATE的作用也是相同的。两种方式的区别在于输出信号OUT的波形。在方式0下,当写入控制字时,OUT信号变为低电平,在计数期间内一直保持低电平,当计数到0时,输出才变为高电平,并且一直保持到重新装入初值和复位时为止。而方式4下,写入控制字时,OUT信号变为高电平,当计数到0时,输出维持一个时钟周期的负脉冲,再恢复为高电平。

方式1为可编程单稳脉冲方式,方式5为硬件触发选通方式。两种方式的区别在于输出信号OUT的波形。在方式1下,当写入控制字时,OUT信号变为高电平,并保持不变,在门控信号GATE出现上升之后的下一个时钟周期的下降沿,OUT信号变为低电平,并一直保持到计数到0时才恢复为高电平。而方式5下,写入控制字时,OUT信号变为高电平,并一直保持高电平,当计数到0时,输出维持一个时钟周期的负脉冲,再恢复为高电平。 四、应用题

例8-1 将8253的计数器1作为5ms定时器,设输入时钟频率为200kHz,试编写8253的初始化程序。设计数器1的端口地址为3F82H,控制口地址为3F86H。

解:(1) 计算计数初值n

计数初始值n与要求定时的时间t及时钟脉冲周期TCLK之间的关系是:

2

n = t / TCLK=t×CLK

已知输入时钟CLK频率为200kHz,则计数初值n为:

n=5ms ×200kHz=1000 (2) 确定控制字

按题意选计数器1,按BCD码计数,工作于方式0,由于计数初值n=1000,D5D4应为11,于是8253的控制字为:01110001B=71H。

(3) 初始化程序如下:

MOV AL,71H ;置计数器1控制字 MOV DX,3F68H ;控制口地址 OUT DX,AL ;写入方式控制字 MOV DX,3F82H ;计数器1端口地址 MOV AL,00 ;先写低字节 OUT DX,AL

MOV AL,10H ;再写高字节 OUT DX,AL

例8-2 写出读8253的计数器2的16位计数器当前值的程序,设8253的端口地址为90H~93H。

解:要读8253计数器当前值,必须先发锁存命令,按8253的方式控制字规定,读计数器2的锁存命令为:

10 00 0000 = 80H 计数器号 锁存计数值 任意

程序如下:

MOV AL,80H ;发锁存命令 OUT 93H,AL

IN AL,92H ;读计数值低8位 MOV BL,AL

IN AL,92H ;读计数值高8位 MOV BH,AL

例8-3 在某产品包装流水线中,一个包装箱能装入24个罐。在装箱时,希望在流水线上每通过24罐时,流水线暂停4秒,等待封箱打包完毕,然后继续装箱。试用一片8253完成包装流水线控制中的定时和计数功能。假设8253端口地址为8CH~8FH,采用的时钟频率为2KHz。试说明实现方法,并编制8253的初始化程序。

(1) 分析

根据题意,有两个工作要做:一是对24罐计数;一是对4秒钟停顿定时,并且两者之间又是相互关联的。因此,可用8253的一个计数通道作为计数器,用于对24个罐的计数;用另一个通道作为定时器,定时时间为4秒。用作为计数器用的通道输出的负脉冲信号的上升沿,启动作为定时器用的通道定时4秒,同时使流水线暂停;用定时器的定时时间到的信号重新启动流水线。

3

(2) 实现方法

选用8253的计数通道1作为计数器,按方式2工作,使门控信号GATE=1(高电平,允许计数),十进制计数,计数初值为24;计数通道2作为定时器,按方式1工作,十进制计数,时钟频率CLK2为2KHz,定时时间4秒。将通道1的输出端OUT1连到通道2的GATE2,即GATE2由通道1的输出OUT1控制。利用流水线的传感器得到的罐的计数脉冲,加到CLK1端,,当计数值达到23时,通道1的输出OUT1为低电平,在第24个罐通过流水线的传感器时,OUT1变高,使GATE2变高,计数通道2开始进行4秒钟的定时。OUT2的下降沿使流水线暂停,通道1也停止计数,经4秒钟后变高,其上升沿使流水线重新启动,继续工作,通道1又开始计数。

(3) 初始化程序

计数通道1:计数初值n=24 方式控制字:01010101B=55H

计数通道2:定时常数n=t×CLK=4s×2KHz=8000 方式控制字:10110011B=B3H

MOV AL,55H ;置计数器1方式控制字 OUT 8FH,AL ;写入方式控制字 MOV AL,24H ;写入计数初值24 OUT 8DH,AL

MOV AL,B3H ;置计数器2方式控制字 OUT 8FH,AL ;写入方式控制字 MOV AX,8000H ;写入计数初值8000 OUT 8EH,AL ;先写低字节 MOV AL,AH

OUT 8EH,AL ;再写高字节

本例是8253作计数器使用同时又作定时器使用,并且把计数器的结束信号去启动定时器的开始,两者相互作用。8253的这种组合在实际应用中很常见。

例8-4 采样频率可编程的数据采集系统设计。要求采样频率可选,并且采样次数也可选。 分析:

(1) 采样频率。可利用定时器的输出信号(OUT)作为A/D转换器的转换启动信号(START)进行控制。为此,把计数器0设置为方式2,其输出OUT0引脚连到A/D转换器的START上,作为转换启动信号(脉冲启动转换),进行采样。若设输入时钟频率CLK0=F,计数初值为L,则输出信号OUT0的频率为F/L,这也就是A/D的采样频率

fAD=F/L (8.2) (2) 采样持续时间的控制。把计数器1设置为方式1,其输出OUT1经非门反相后连到计数器0的门控信号GATE0上,作为采样定时控制,高电平允许采样,低电平禁止采样。另外,将计数器2设置为方式3,其输出OUT2作为计数器1的时钟(即计数器1、2为级联),对采样持续时间的定时进行调节。若设计数器1和计数器2的计数初值分别为M和N,则根据这两个计数器之间的关系(CLK1=OUT2),可得采样持续时间

4

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4