1 .定义定时器介绍: 51单片机定时器是单片机的内部资源,其电路的连接和运行均在单片机内部完成。
2 .作用定时器作用:
1 .用于计数系统,可以实现软件计时,也可以每隔一定时间在程序上完成一个操作
2 .取代长时间延迟,提高CPU的运行效率和处理速度
3 .定时器资源1 .定时器数量为三个(T0、T1、T2 ),T0和T1与传统的51单片机兼容,T2是该型号单片机增加的资源
注意:定时器资源和单片机型号与相关,不同型号的定时器数量和操作方式可能不同,但一般来说,T0和T1的操作方式是所有51单片机通用的。
4 .计时器操作模式STC89C52的T0和T1都是四种操作模式
模式0:13位定时器/计数器
模式1:16位定时器/计数器(常用)
模式2:8位自动重装模式
模式3:2个8位计数器
图2是计时器1动作模式框图:
sysclk-MCU模式:系统时钟选择分频模式
C/T=0计时器模式=1计数器模式
5 .工作过程原理
计时器在单片机内部就像一个小闹钟,根据时钟的输出信号,每“1秒”计数单元的数值相加,计数单元的数值增加到“设定闹钟时”,计数单元的数值就增加到“设定闹钟时”
说明:中断系统
6 .定时器相关寄存器TCON位于特殊功能寄存器(SFR )中,可以进行位地址指定
TF1/TF0-----计时器/计数器溢出标志
计时器溢出时,硬件设置为1,向CPU申请中断,进入中断服务程序后,硬件自动清零。
TR1/TR0-------计时器运行控制位
当GATE=1时,当相应的外部中断端子(INT1/INT0)为高电平时,TR1/TR0启动计时器,当GATE=0时,TR1/TR0启动计时器
ie1/ie0-----外部中断请求标志位
it1/it0-----外部中断触发方式选择位
0为电平触发模式
1是跳跃边缘触发方式
门--- -门控制
GATE=0,定时器计数器的启动和停止仅由TCON寄存器的Trx (x=0,1 )控制
GATE=1,定时器计数器启动和停止由外部中断端子(INT0或INT1)上的电平状态控制
C/T----计时器或计数器模式选择位
m1m 0操作模式选择位
每个计时器有四种工作模式,它们由M1M0设置
说明
1 .寄存器是连接软硬件的媒介
2 .在单片机中,寄存器是特殊的RAM存储器,寄存器可以存储和读取数据,而各寄存器的后面连接有导线,控制电路的连接方法。
3 .寄存器相当于复杂机器的“操作按钮”
7 .定时器配置步骤1.配置工作方式寄存器—TMOD
GATE=0,定时器仅由TCON寄存器的Trx (x=0,1 )控制
GATE=1,共同控制计时器TCON寄存器中的Trx (x=0,1 )和外部中断读取) INT0或INT1)上的电平状态。
C/T=1,计数器模式;
C/T=0,处于计时器模式。
M1M0一工作方式选择位; 共有四种工作方式,选择常规方式1和方式2; 即M1M0=0 1或M1M0=1 0
2.选择定时器数值—— THx、TLx
)1) 51单片机的定时器总是方式1或方式2
)方式1下可以安装的总数为65536
)3)方式2下可以转入的总数为256
方式为: th0=(65536-1000 )/256
TL0=(65536-1000 ) 256
TH0=0xfc
TL0=0x18
3.配置控制寄存器——TCON
TF1计时器1溢出标志。
如果计时器1溢出,则在硬件上设置TF1并申请中断。 进入中断服务程序后,硬件自动清零。 需要注意的是,如果使用计时器中断,则该位完全不需要人手操作,但如果使用软件查询方式,则需要查询其位置1,然后用软件清零。
TR1-计时器1运行控制位。
在软件清除0时关闭计时器1。 在门=1且INT1为高电平的情况下,TR1装置1启动计时器1; GATE=0时,TR1设定计时器1。
TFO-定时器0溢出标志,功能和操作方法与TF1相同。
tro-timer 0的运行控制位,其功能和操作方法与TR1相同。
IE1-外部中断1请求标志。
当IT1=0时,成为电平触发方式,每个机器周期的S5P2对lNT1端子进行采样,如果INT1端子为低电平则设为1,否则设为IE1清除0。
IT1=1时,INT1为跳跃
变沿触发方式,当第一个机器周期采样到INT1为低电平时,则IE1置1。IE1=1,表示外部中断1正在向CPU申请中断。当CPU响应中断,转向中断服务程序时,该位由硬件清0。IT1-外部中断1触发方式选择位。
IT1=0,为电平触发方式,引脚INT1.上低电平有效。
IT1=1,为跳变沿触发方式,引脚INT1.上的电平从高到低的负跳变有效。
IE0一外部中断0请求标志,其功能及操作方法同IE1。
IT0–外部中断0触发方式选择位,其功能及操作方法同IT1。
4.打开总中断——EA = 1
5.开启定时器中断ET0/1
6.配置中断优先级PT0/1
7.编写中断服务函数
附上代码