定时器简介

一.定时器基本介绍

A.CPU时序

振荡周期:CPU外部晶振提供的周期(一般提供晶振频率为12Hz或11.059Hz)
状态周期:1个状态周期=2个振荡周期
机器周期:CPU内部的时钟周期。外部晶振经过12分频后,就是内部时钟震荡频率。因此,1个机器周期=12个振荡周期。它是CPU完成一个基本动作的时间。
指令周期:CPU完成一条指令所需时间,以机器周期为单位。

B.定时器的原理

结构:
定时/计数器是一个16位的加1寄存器,由高8位THx和低8位TLx(x=0/1)两个8位寄存器组成。
当输入脉冲时,定时器加1;直到寄存器所有位加满了以后,再加1就会使定时器溢出归零。
在这里插入图片描述
51单片机内部有两组定时/计数器T0、T1
其中,T1引脚和T0引脚分别对应于P3.4P3.5管脚

工作原理:
定时/计数器有两种模式:
1.定时模式:脉冲来源为内部时钟,每过1个机器周期计数器加1,直至溢出。用来定时;
2.计数模式:脉冲来源为外部引脚,在每个机器周期的S5P2采样外部脉冲,用来计算外部事件。

定时/计数器的工作方式由两个特殊寄存器控制,如下所示:

二.定时/计数器的相关寄存器

A.定时器工作方式寄存器(TMOD)

用来控制定时器的工作状态。高4位用来控制T1,低4位用来控制T0。
在使用定时器之前,需要给TMOD赋值。
在这里插入图片描述
1.定时/计数模式选择(C/T)
用来选择工作于定时器还是计数器
C/T=0:定时器
C/T=1:计数器

2.门控位(GATE)
决定定时器工作是否需要附加条件
GATE=0:不需要附加条件,只需要TCON处TR0/1=1,定时器就可以启动
GATE=1:还需要当外部中断引脚INT0/1为高电平时,才能启动定时器

3.工作方式选择(M1M0)
在这里插入图片描述
定时器中通常使用定时器方式 1,串口通信中通常使用方式 2

B.控制寄存器(TCON)

用于控制:1.定时/计数器的开启、2.中断请求
在这里插入图片描述
高四位与定时器工作相关。
TR0/TR1:定时/计数器启动位。该位为1时,定时/计数器开始工作(要提前设置)
TF0/TF1:定时/计数器中断标志位。当计满以后,该位为1,向CPU申请中断。

三.定时器的四种工作方式图解

工作方式0:
在这里插入图片描述
高8位TH0都工作,而TL0只有低5位工作。从而定时器为13位。

在TMOD中,C/T决定是接入T0引脚还是接入机器周期;
中间的与门(&)决定了定时器是否工作。与门(&)的一端是TR0,另一端是一个或门(≥1)。只有当TR0还有或门都输出1,定时器才会工作。
另一端的或门(≥1)关系到GATE和INT0引脚,当GATE=1,则无论INT0是0还是1,或门都输出1,此时只要TR0=1,与门(&)就输出1,定时器工作;反之,若GATE=0,则只有当INT0=1时,或门才会输出1。

工作方式1:
在这里插入图片描述
定时/计数器有16位

工作方式2:
在这里插入图片描述
为自动重装初值的8为定时/计数器。8位计满后,TH0自动再向TL0装上初始值。特别适合于用作较精确的脉冲信号发生器。

工作方式3:
在这里插入图片描述
这种工作方式下,T1相当于没用。把T0分开为两个独立的8位计数器。

注意:由于单片机内部振荡频率有限,计数器的输入脉冲的频率不能太高。解释如下:
在这里插入图片描述

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值