目录
一、定时器/计数器介绍
1.T0和T1
2.工作方式控制寄存器TMOD和TCON
IE1和IE0是外部中断
M1和M0是选择工作方式
C/T拔表示计数器和定时器的选择,
当该位为0时,T拔有效,为定时器。
当该位为1时,C有效,为计数器。
GATE是门控位
当GATE=0时,由TR1控制。
当GATE=1时,由TR1和INT1*(外部中断)控制。
TF1和TF0是计数溢出标志位
TR1和TF1是计数运行控制位
3.计数器/定时器T0和T1的四种工作方式
1.工作方式0
2.工作方式1
定时时间与初值的关系为:
t
=
(
2
16
−
T
0
初值
)
×
机器周期
t = ( 2^{16}- T0 初值 ) × 机器周期
t=(216−T0初值)×机器周期
方式 1 下计数寄存器为 16 位,若晶振频率为 12MHz,则方式 1 下的最大定时时间为 65.536 ms。即计数器初值设置为 0000H,经过 2^16=65536 个机器周期后定时器将产生溢出,故定时时间为 1μs× 65536= 65.536 ms。
3.工作方式2(重点)
此方式可以省去用户软件中重装初值的指令执行时间,可以精确地确定定时时间
定时时间与初值的关系为:
t
=
(
2
8
−
T
0
初值
)
×
机器周期
t = ( 2^8 - T0 初值)×机器周期
t=(28−T0初值)×机器周期
这种工作方式可省去用户软件中重装初值的程序,并可产生相当精度的定时时间,特别适合于产生周期性脉冲以及作为串行口波特率发生器,缺点是计数长度太小。
4.工作方式3
二、定时器/计数器方式1应用
1. 例题1
1.1 思路
1.2 计算计数初值
机器周期
=
2
μ
s
=
2
∗
1
0
−
6
机器周期 = 2μs = 2 *10^{-6}
机器周期=2μs=2∗10−6
1.3 程序设计
2. 例题2
2.1 思路
2.2 计算初值
2.3 程序设计
续
三、定时器/计数器方式2应用
1. 例题1
1.1 思路
1.2 计算初值
1.3 程序设计
2. 例题2
2.1 思路
2.2 计算初值
2.3 程序设计
三、定时器/计数器方式3应用
1. 例题1
2.1 思路
2.2 计算初值
2.3 程序设计
参考
【《单片机原理及应用(第4版)》40课时合集-天津科技大学】 https://www.bilibili.com/video/BV1te4y1y7n7/?p=24&share_source=copy_web&vd_source=9dd05bae3c96ef650f456e418d005242