【单片机】定时计数器初值计算
Step1:定时计数器的四种工作方式
首先,要知道,定时计数器有四种工作方式
方式 | 范围 | 范围 | 说明 |
---|---|---|---|
方式0 | \(2^{13}\) | 8129 | 13位定时计数器方式 |
方式1 | \(2^{16}\) | 65536 | 16位定时计数器方式 |
方式2 | \(2^{8}\) | 256 | 8位自动重置定时计数器方式 |
方式3 | \(2^{8}\) | 256 | 两个8位定时计数器方式 |
方式3 计数器的 最大计数值、初值 的 计算方式 和 方式2 完全相同
Step2:要知道以下几个公式
- 时钟周期 \(T_{时}\)=\(\frac{1}{震荡频率}\)
- 机器周期 \(T_{机}\)=$ 晶振周期个数 \times \frac{1}{震荡频率}$
- 1ms = 1000μs
- 1MHz = \(10^6\)Hz
一般题目给出的都是Mhz,要转换成Hz,所以 当给出的单位是MHz的时候,应该:\(T_{时}\)=\(\frac{1}{频率} \times \frac{1}{10^6}\)
1ms = 1000μs>256
10ms = 10000μs>8129
Step3:例题
例1
已知单片机系统晶振频率为 fosc=6MHz,若要求定时值为 10ms 时,定时器 T0 工作在
方式 1 时,定时器 T0 对应的初值是多少 TH0=? TL0=? (写出步骤)? TMOD 的值是多少?
版 权 声 明
作者:萌狼蓝天
QQ:3447902411(仅限技术交流,添加请说明方向)
转载请注明原文链接:https://www.cnblogs.com/mllt/p/17946181/geryb20210104