·1·
第 6 章 AT89S51 的定时 / 计数器
1.下列哪些 说法是正确的。
A.特殊功能寄存器 SCON,与定时器 /计数器的控制无关
B.特殊功能寄存器 TCON ,与定时器 /计数器的控制无关
C.特殊功能寄存器 IE,与定时器 /计数器的控制无关
D.特殊功能寄存器 TMOD ,与定时器 /计数器的控制无关
2.如果采用的晶振的频率为 3MHz ,定时器 /计数器工作在方式 0、1、 2 下,其最大定时时间各为
多少?
3.定时器 /计数器用作定时器模式时,其计数脉冲由谁提供?定时时间与哪些因素有关?
4.定时器 /计数器用作计数器模式时,对外界计数频率有何限制?
5.采用定时器 /计数器 T0 对外部脉冲进行计数,每计数 100 个脉冲后, T0 转为定时工作方式。定
时 1ms 后,又转为计数工作方式,如此循环不止。假定 AT89S51 单片机的晶体振荡器的频率为 6MHz ,
请使用方式 1 实现,要求用 C51 编写程序。
6.定时器 /计数器的工作方式 2 有什么特点?适用于哪些应用场合?
7.编写 C51 程序,要求使用 T0 ,采用方式 2 定时,在 P1.0 输出周期为 400μs,占空比为 10:1 的矩
形脉冲。
8.一个定时器的定时时间有限,如何用两个定时器的串行定时来实现较长时间的定时?
9.当定时器 T0 用于方式 3 时,应该如何控制定时器 T1 的启动和关闭?
10.定时器 /计数器测量某正单脉冲的宽度,采用何种方式可得到最大量程?若时钟频率为 6MHz ,
求允许测量的最大脉冲宽度是多少?
11.编写一段 C51 程序,功能要求;当 P1.0 引脚的电平正跳变时,对 P1.1 的输入脉冲进行计数;
当 P1.2 引脚的电平负跳变时,停止计数,并将计数值写入 R0、R1(高位存 R1,低位存 R0)。
12.TH x 与 TL x(x = 0,1)是普通寄存器还是计数器?其内容可以随时用指令更改吗?更改后的新
值是立即刷新还是等当前计数器计满后才能刷新?
参考答案
1.答:(A)对;(B)错;(C)错;(D)错;
2.答:因为机器周期:
所以定时器 /计数器工作方式 0 下,其最大定时时间为
同样可以求得方式 1 下的最大定时时间为 262.144ms;方式 2 下的最大定时时间为
1024ms。
3.答:定时 /计数器作定时时,其计数脉冲由系统振荡器产生的内部时钟信号 12 分频
后提供。定时时间与时钟频率和定时初值有关。
4.答:由于确认 1 次负跳变要花 2 个机器周期,即 24 个振荡周期,因此外部输入的
计数脉冲的最高频率为系统振荡器频率的 1/24。
)(4
103
1212
6
s
f
T
OSC
cy
)(192.810422
61313
msTT
CMAX