文章目录
- 重要公式
- T~机器~ = 12 / ∫~晶振~
- (2^n^ - X) * T~机器~ = T~定时~
- 工作方式寄存器TMOD
- 常考题型
- 例题1
- 题解
- 方式0
- 方式1

关于定时器的常考题目为已知晶振 ∫ 、定时时间,求定时器初值。
重要公式
-
T机器 = 12 / ∫晶振
-
(2n - X) * T机器 = T定时
- 其中
n为定时器位数,定时器不同的工作方式对应不同的n,见下文; X为定时器初值;
- 其中
工作方式寄存器TMOD
| D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 |
|---|---|---|---|---|---|---|---|
| GATE | C/T | M1 | M0 | IGATE | C/T | M1 | M0 |
-
[注]:TMOD
高4位与T1相关,低4位与T0相关。 -
GATE
- 0:定时器/计数器的运行由
TRX决定; - 1: 定时器/计数器的运行由
TRX和外中断引脚共同决定;
- 0:定时器/计数器的运行由
-
C/T
- 0:定时器模式;
- 1:计数器模式;
-
M1/M0
| M1 | M0 | 方式 | n | |
|---|---|---|---|---|
| 0 | 0 | 方式0 | 13位 | (重要) |
| 0 | 1 | 方式1 | 16位 | (重要) |
| 1 | 0 | 方式2 | 8位 | |
| 1 | 1 | 方式3 | 2个8位 | (仅适用于T0) |
常考题型
例题1
- 单片机采用
6MHZ的晶振,定时1ms,用定时器方式0/1的初值(即求TH0,TL0)分别是多少?
题解
我们将分别采用方式0与方式1进行演示。
方式0
- 由∫晶振 = 6MHZ得 T机器 = 12 / ∫晶振 =
2微秒; - 设方式0地初值为
X,则由- (2n - X) * T机器 = T定时 带入数值得:
- (213 - X)* 2 = 1000微秒
- 解得 X = 7029,将之转化为16进制为
1E0CH = 1 1110 0000 1100
- X
前8位为TH0,后5位为TL0(由于方式0只有13位,所以TL0高位补0);- TH0 = 1111 0000 = 0F0H
- TL0 = 0000 1100 = 0CH
如何将10进制转化为16进制

方式1
- 由(2n - X) * T机器 = T定时 (方式1时n为16)得
- (216 - X)* 2 = 1000
- 解得 X = 65036 = FEOCH
- 方式1为16位所以X的
高8位为TH0 = 0FEH,低8位为TL0 = 0CH;




















