000000 第 6 章 单片机的定时器/计数器 习题
1.MCS-51 系列的 8051 单片机内有几个定时/计数器?每个定时/计数器有几
种工作方式?如何选择?
答:MCS-51 系列的 8051 单片机内有 2 个定时/计数器,即 T0 和 T1,每个都
可以编程为定时器或计数器,T0 有四种工作方式(方式 0—13 位、方式 1—16
位、方式 2-可自动装入初值的 8 位、方式 3-两个 8 位),T1 有三种工作方式
(与 T0 相同的前三种),通过对 TMOD 的设置选择,其高四位选择 T1,低四位
选择 T0。
2.如果采用的晶振频率为 3MHz,定时/计数器 TO 分别工作在方式 0、1 和 2
下,其最大的定时时间各为多少?
答:如果采用的晶振频率为 3MHz,机器周期为 12×1/(3*10
6
)=4us,由于定
时/计数器 TO 工作在方式 0、1 和 2 时,其最大的计数次数为 8192、65536
和 256 所以,其最大定时时间分别是:方式 0 为 8192×4us=32.768ms、
方式 1 为 65536×4us=262.144ms、方式 2 为 256×4us=1024us。
3.定时/计数器 TO 作为计数器使用时,其计数频率不能超过晶振频率的多少?
答:由于定时/计数器 TO 作为计数器使用时,是对外部引脚输入的脉冲进行计
数, CPU 在每个机器周期采样一次引脚,当前一次采样为高电平,后一次采样
为低电平,则为一次有效计数脉冲,所以如果晶振频率为 fosc,则其采样频率
fosc/12,两次采样才能决定一次计数有效,所以计数频率不能超过 fosc/24。
4.简单说明定时/计数器在不同工作模式下的特点。
答:方式 0 为 13 位的定时/计数器,由 THx 的 8 位和 TLx 的低 5 位构成、方
式 1 为 16 位的定时/计数器,由 THx 的 8 位和 TLx 的 8 位构成,方式 2 为 8 位
的定时/计数器,TLx 为加 1 计数器,THx 为计数初值寄存器。方式 3 只能用于
T0,是将 T0 的低 8 位用作一个独立的定时/计数器,而高 8 位的 TH0 用作一
个独立的定时器,并借用 T1 的 TR1 和 TF1 作为高 8 位定时器的启停控制位和
溢出标志位。
5.定时器工作在方式 2 时有何特点?适用于什么应用场合?
答:定时器工作在方式 2 时是一个可自动装入时间常数初值的 8 位定时/计数器,
TLx 为加 1 计数器,THx 为计数初值寄存器。由于其恢复初值由硬件自动完成,
所以当需要反复计数时,用方式 2 可以方便地实现精确的定时。
6.一个定时器的定时时间有限,如何采用两个定时器的串行定时来实现较长
时间的定时?
答:一个定时器的定时时间有限,可采用两个定时器的串行定时来实现较长时
间的定时,比如,当 fosc=12MHz 时,单个定时/计数器采用方式 1 的最大定
时时间为 65.536ms,此时若用另一个定时/计数器按方式 1 进行溢出次数计数,
在定时器溢出中断时,给计数器发一个计数脉冲,且两者均为方式一,则两者
串行可达到的定时时间为 65536×65.536ms=4294967.296ms。
7.设 MCS-51 单片机的晶振频率为 12MHz,请编程使 P1.O 端输出频率为
20kHz 的方波。
解 : fosc = 12MHz , 所 以 机 器 周 期 为 1us 。 20kHz 的 方 波 周 期
为 1/(20×1000)=50us,方波即高电平和低电平和时间相等,所以只需设一
个定时器定时 25us 将 P1.O 求反一次即可。由于题目没有规定,所以可以用查
询方式,也可以用中断方式进行编程实现。