一、选择题
1.当8253的6可编程定时/计数器工作在方式0,在初始化编程时,一旦写入控制字之后,( )。
A.输出信号端OUT变为高电平 B. 输出信号端OUT变为低电平
C. 立即开始计数
D. B和C都正确
本题答案应选择D。
4.8253-5某计时器的最大计时初值是( )。
A.65536 B. FF00H C.0000H D.FFFFH
A
7.可编程接口芯片8253( )。
A.只能做定时器 B.只能做计数器 C.A和B均可 D.可作并行传送
C
9.可编程定时器/计数器8253共有工作方式( )。
A.3种 B.4种 C.5种 D.6种.
D
12.8253芯片可采用硬件启动的方式是( )。
A.0,1 B. 2,3 C.1,4 D.1,5
D
13.8253-5在写入一次计数初值后,能输出连续波形的方式是( )。
A.1和2 B.2和3 C.3和4 D.4和5
B
16.8253-5通道0工作于方式3,CLK0接2.5MHz时钟,要求产生重复周期为800us的方波,则其计数初值为( )。
A.2000 B.3125 C.320 D.1000
A
18.在8253的六种工作方式中,输出周期性信号的是( )。
A.方式2和方式3
B.方式1和方式5
C.方式4和方式5
D.方式0和方式1
A
19.在8253的六种工作方式中,由GATE的上升沿启动计数的是( )。
A.方式2和方式3
B.方式1和方式5
C.方式4和方式5
D.方式0和方式1
B
21.若8253处于计数过程中,当CPU对它装入新的计数初值时,其结果是( )。
A.8253禁止编程 B.8253允许编程,改变当前的计数初值
C.8253允许编程,但不改变当前的计数初值
D.8253允许编程,是否影响当前计数过程随工作方式不同而不同.
D
23.当8253工作在方式0时,控制信号GATE变为低电平后,对计数器的影响是( )。
A.结束本次计数循环,等待下一次计数的开始
B.暂时停止现行计数工作
C.不影响本次计数
D.终止本次计数过程,立即开始新的计数循环
B
24.利用8253每20ms产生一次中断,若CLK为2MHz,则8253可采用的工作方式及所取的计数值分别为( )
A.方式0;65536 B.方式3;40000H
C.方式5;40000 D.方式2;40000
D
二、填空题
1.设8254的计数器0的端口地址为280H,计数器1的端口地址为282H,则控制口的地址应为( )。
286H
2.当8254的计数初值大于256时,应按照先( )字节后( )字节的顺序写入。
低,高
3.设8254的计数器0的端口地址为60H,计数器1的端口地址为64H,则控制口的地址应为( )。
6CH
4.某一测控系统要使用一个连续的方波信号,如果使用8253可编程定时/计数器来实现此功能,则8253应工作在方式( )。
3
5.利用8253芯片每25ms产生一个方波输出,若输入的时钟频率为2MHz,8253的计数初值应取( ),工作方式选( )。
50000次;方式3
6.利用8253芯片每20ms产生一个脉冲输出,若输入的时钟频率为2MHz,8253的计数初值应该取( ),工作方式应选择( )。
40000次;方式2
7.在对8253的某个计数器的计数值进行读出之前,需要进行( )。
锁存
8.设8253芯片中某一计数器的口地址为40H,控制口地址为43H,计数频率为2MHz,当计数器为0时,产生中断信号。试计算,序列程序所决定的中断周期是( )ms。
MOV AL,00110110B
OUT 43H,AL
MOV AL,OFFH
OUT 40H,AL
OUT 40H,AL
答案为32.767ms。
9.8253-5内部寄存器地址为( )个I/O端口。其中( )个是定时/计数通道端口。
4 3
10.8253-5有3个16位计数通道,每个计数通道中各有3条信号线:即计数输入CLK,输出信号OUT以及( )。
门控信号GATE
11.方波输出的8253-5,其计数初始值为奇数时输出( )方波,为偶数时输出( )方波。
不对称方波 对称方波
12.8253-5的计数通道0(端口地址为PORT0)用于计数,要求计满50输出信号,假定计数器工作于BCD计数方式,则写入计数初始值的指令为MOV AL, ( )和OUT PORT0,AL
50H
三、简答题
5.8253-5的通道0按方式3工作,时钟CLK0的频率为1MHz,要求输出方波的重复频率为40KMHz,此时应如何写入计数值。
答:首先计算计数初值。
TOUT0=1/FOUT0=1/40KMHz
TCLK0=1/F/FCLK0=1/1MHz
n=TOUT0/TCLK0=FCLK0/FOUT0=1MHz/40KMHz=1000/40=25
若采用二进制计数,则写入方式为
MOV AL,25
OUT PORT0, AL ; PORT0为通道0的端口地址
若采用十进制计数,则写入方式为
MOV AL,25H
OUT PORT0,AL
8.8253-5在写入计数初值时,二进制计数器和十进制有无区别?若有,有何区别?
答:采用二进制计数时,如果计数初值n为8位二进制(十进制=<255),则在用MOV AL,n写入AL时,n可以写成任何进制数。如果计数初值n为16位二进制(十进制=<65535),则可有两种方式写入,一种是把十进制数转换成4位十六进制数,分两次写入对应的计数通道(先低后高);另一种是把十进制数直接写入AX,即
MOV AX,n
MOV PORT,AL ;PORT为通道地址
MOV AL,AH
OUT PORT,AL
采用十进制计数时,必须把计算得到的计数初值的十进制数后加上H,变成BCD码
示形式,例如n=50,则写为:
MOV AL,50H
OUT PORT,AL
如果n=1250,则写为:
MOV AL,50H
OUT PORT,AL
MOV AL,12H
OUT PORT,AL
13.计数器/定时器8253有哪几种工作方式?各有何特点?其用途如何?
答:计数器/定时器8253有以下6种工作方式:
方式0——计完最后一个数时中断,用于只计数一次;
方式1——可编程序的单拍脉冲;
方式2——速率发生器;
方式3——方波速率发生器;
方式4——软件触发选通;
方式5——硬件触发选通。
方式2、4、5的输出波形是相同的,都是宽度为一个CLK周期的负脉冲。但方式2是连续工作,方式4由软件(设置计数值)触发启动,而方式5由门控脉冲触发启动。方式5(硬件触发选通)与方式1(硬件再触发单拍脉冲),工作方式基本相同,但输出波形不同,方式1输出的为宽度是N个CLK脉冲的低有效脉冲(计数过程中输出为低),而方式5输出的为宽度是1个CLK脉冲的负脉冲(计数过程中输出为高)。
15.8253-5的通道0按方式3工作,时钟CLK0的频率为1MHz,要求输出方波的重复频率为40GHz,此时应如何写入计数值。(设8253的端口地址为80H~83H)
答:通道0方式3 FCLK0=1MHz,FOUT0=40KHz,n0=FCLK0/FOUT0=1MHz/40
KHz=25。
MOV AL,00010111(17H)
OUT 83H,AL
MOV AL,25H
OUT 80H,AL
18.8253工作于方式2和方式3有什么异同?
答:8253的方式2和方式3都是对CLK的N分频,OUT的初始电平一样都为高,GATE控制也一样,只是OUT输出的信号波形不同,方式2的OUT是(N-1)个CLK的高电平加一个CLK的低电平;而方式3的OUT是方波(N为偶数),高、低电平各为N/2个CLK,或近似方波(N为奇数),高电平为(N+1)/2个CLK,低电平为(N-1)/2个CLK
四、综合题
1.定时/计数器8254和CPU之间的硬件连接图如下图所示。现要求将8MHz的方波分频为100Hz的方波,完成右侧电路的设计,写出8254的各端口地址并编写初始化程序。
答:端口地址:T/C0―0A0H,T/C1―0A2H,T/C2―0A4H,控制口-0A6H
计数初值:8M/100=80000>65536,需两个计数器级联
T0:方式3,计数值为4000,T1:方式3,计数值为20
硬件连接:
初始化程序:
MOV AL,36H
OUT 0A6H,AL
MOV AX,4000
OUT 0A0H,AL
MOV AL,AH
OUT 0A0H,AL
MOV AL,56H
OUT 0A6H,AL
MOV AL,20
OUT 0A2H,AL
3.设8254的端口地址为2F0H,2F2H,2F4H,2F6H,现采用8254的计数器级联方式将6MHz的脉冲变为2Hz的脉冲,画出硬件连接图(包括地址译码电路)并编写初始化程序。
MOV DX,2F6H
MOV AL,00110110B
OUT DX,AL
MOV AL,01110110B
OUT DX,AL
MOV DX,2F0H
MOV AX, 600
OUT DX,AL
MOV AL, AH
OUT DX,AL
MOV DX,2F2H
MOV AX, 5000
OUT DX,AL
MOV AL, AH
OUT DX,AL
15.如果假定8253的4个端口地址为320H~323H,输入时钟频率为2MHz,画出OUT0输出方波频率分别为2000Hz、1Hz的连接图,并编写初始化程序。
OUT0输出方波频率为2000Hz时的连接图和初始化程序如下所示:
MOV DX,323H;设置控制端口地址
MOV AL,36H;设置控制字
OUT DX,AL
MOV AX,1000;设置计数器初值
MOV DX,320H;设置通道0计数器地址
OUT DX,AL;写入计数器初值低8位
MOV AL,AH
OUT DX,AL; 写入计数器初值高8位
OUT0输出方波频率为1Hz时的连接图和初始化程序如下所示:
MOV DX,323H; 设置控制端口地址
MOV AL,76H; 设置控制字
OUT DX,AL
MOV AL,1000; 设置计数器初值
MOV DX,321H; 设置通道1计数器地址
OUT DX,AL; 写入计数器初值低8位
MOV AL,AH
OUT DX,AL; 写入计数器初值高8位
MOV DX,323H; 设置控制端口地址
MOV AL,36H; 设置控制字
OUT DX,AL
MOV AX,2000; 设置计数器初值
MOV DX,320H; 设置通道0计数器地址
OUT DX,AL; 写入计数器初值低8位
MOV AL,AH
OUT DX,AL; 写入计数器初值高8位
D7~D0
IOW
IOR
Y4
A1
A2
A7
A5
A4
A3
≥1
≥1
A8
A9
A6
A0
CLK1
GATE1
D7~D0
WR
RD
A0
A1
8254
CS
C
B
A
74LS138
G1
G2A
G2B
CLK0
GATE0
OUT0
CLK2
GATE2
OUT2
OUT1
8MHz
D7~D0
IOW
IOR
Y4
A1
A2
A7
A5
A4
A3
≥1
≥1
A8
A9
A6
A0
CLK1
GATE1
D7~D0
WR
RD
A0
A1
8254
CS
C
B
A
74LS138
G1
G2A
G2B
CLK0
GATE0
OUT0
CLK2
GATE2
OUT2
OUT1
+5V
D7~D0
IOW
IOR
Y6
A1
A2
A9
A5
A4
A3
≥1
&
A8
A0
A6
A7
CLK1
GATE1
D7~D0
WR
RD
A0
A1
8254
CS
C
B
A
74LS138
G1
G2A
G2B
CLK0
GATE0
OUT0
CLK0
GATE0
OUT0
OUT1
6MHz
10KHz
5V
2Hz
2MHz
OUT0
CLK0
GATE0
+5V
2MHz
OUT1
OUT0
CLK1
CLK0
GATE1
GATE0
+5V