【单片机】定时计数器初值计算

发布时间 2024-01-04 22:49:12作者: 萌狼蓝天

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 的值是多少?
image