打印
[应用相关]

滴答定时器的计数模式_定时器和计数器-51单片机

[复制链接]
707|30
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主

1. 定时器的原理

2. 定时器的使用


使用特权

评论回复
沙发
高级安全大使|  楼主 | 2022-1-28 16:26 | 只看该作者
CPU时序的有关知识

振荡周期:为单片机提供定时信号的振荡源的周期(晶振周期或外加振荡周期)

状态周期:2个振荡周期为1个状态周期,用S表示。振荡周期又称S周期或时钟周期。

机器周期:1个机器周期含6个状态周期,12个振荡周期。

指令周期:完成1条指令所占用的全部时间,它以机器周期为单位。

例如:外接晶振为12MHz时,51单片机相关周期的具体值为:

振荡周期=1/12us;

状态周期=1/6us;

机器周期=1us;

指令周期=1~4us;

使用特权

评论回复
板凳
高级安全大使|  楼主 | 2022-1-28 16:30 | 只看该作者
在学习定时器之前需要明白的

51单片机有两组定时器/计数器,因为既可以定时,

又可以计数,故称之为定时器/计数器。

定时器/计数器和单片机的CPU是相互独立的。定时器/计数器工作的过程是自动完成的,不需要CPU的参与。

使用特权

评论回复
地板
高级安全大使|  楼主 | 2022-1-28 16:31 | 只看该作者
51单片机中的定时器/计数器是根据机器内部的时钟或者是外部的脉冲信号对寄存器中的数据加1。

有了定时器/计数器之后,可以增加单片机的效率,一些简单的重复加1的工作可以交给定时器/计数器处理。CPU转而处理一些复杂的事情。同时可以实现精确定时作用。

使用特权

评论回复
5
高级安全大使|  楼主 | 2022-1-28 16:45 | 只看该作者
定时/计数器的工作原理

定时/计数器实质上是一个加1计数器。它随着计数器的输入脉冲进行自加1,也就是每来一个脉冲,计数器就自动加1,,当加到计数器为全1时,再输入一个脉冲就使计数器回零,且计数器的溢出使相应的中断标志位置1,向CPU发出中断请求(定时/计数器中断允许时)。如果定时/计数器工作于定时模式,则表示定时时间已到;如果工作于计数模式,则表示计数值已满。

使用特权

评论回复
6
高级安全大使|  楼主 | 2022-1-28 16:47 | 只看该作者
可见,由溢出时计数器的值减去计数初值才是加1计数器的计数值。

使用特权

评论回复
7
高级安全大使|  楼主 | 2022-1-28 16:48 | 只看该作者
51单片机定时器结构

定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器THx和TLx组成。TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。

定时/计数器的控制

使用特权

评论回复
8
高级安全大使|  楼主 | 2022-1-28 16:49 | 只看该作者
51单片机定时/计数器的工作由两个特殊功能寄存器控制。TMOD用于设置其工作方式;TCON用于控制其启动和中断申请。

使用特权

评论回复
9
高级安全大使|  楼主 | 2022-1-28 16:50 | 只看该作者
1、工作方式寄存器TMOD

工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。其格式如下:

使用特权

评论回复
10
高级安全大使|  楼主 | 2022-1-28 16:52 | 只看该作者

使用特权

评论回复
11
高级安全大使|  楼主 | 2022-1-28 16:54 | 只看该作者
GATE是门控位, GATE=0时,用于控制定时器的启动是否受外部中断源信号的影响。只要用软件使TCON中的TR0或TR1为1,就可以启动定时/计数器工作;GATA=1时,要用软件使TR0或TR1为1,同时外部中断引脚INT0/1也为高电平时,才能启动定时/计数器工作。即此时定时器的启动条件,加上了INT0/1引脚为高电平这一条件。

使用特权

评论回复
12
高级安全大使|  楼主 | 2022-1-28 16:55 | 只看该作者
C/T :定时/计数模式选择位。C/T =0为定时模式;C/T =1为计数模式。

M1M0:工作方式设置位。定时/计数器有四种工作方式。

使用特权

评论回复
13
高级安全大使|  楼主 | 2022-1-28 16:55 | 只看该作者

使用特权

评论回复
14
高级安全大使|  楼主 | 2022-1-28 16:58 | 只看该作者
2、控制寄存器TCON

TCON的低4位用于控制外部中断,已在前面介绍。TCON的高4位用于控

制定时/计数器的启动和中断申请。

使用特权

评论回复
15
高级安全大使|  楼主 | 2022-1-28 16:59 | 只看该作者

使用特权

评论回复
16
高级安全大使|  楼主 | 2022-1-28 16:59 | 只看该作者
TF1(TCON.7):T1溢出中断请求标志位。T1计数溢出时由硬件自动置TF1为1。CPU响应中断后TF1由硬件自动清0。T1工作时,CPU可随时查询TF1的状态。所以,TF1可用作查询测试的标志。TF1也可以用软件置1或清0,同硬件置1或清0的效果一样。

使用特权

评论回复
17
高级安全大使|  楼主 | 2022-1-28 17:00 | 只看该作者
TR1(TCON.6):T1运行控制位。TR1置1时,T1开始工作;TR1置0时,T1停止工作。TR1由软件置1或清0。所以,用软件可控制定时/计数器的启动与停止。

使用特权

评论回复
18
高级安全大使|  楼主 | 2022-1-28 17:01 | 只看该作者
TF0(TCON.5):T0溢出中断请求标志位,其功能与TF1类同。

TR0(TCON.4):T0运行控制位,其功能与TR1类同。

使用特权

评论回复
19
高级安全大使|  楼主 | 2022-1-28 17:03 | 只看该作者
定时/计数器的工作方式

1、方式0

方式0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成。TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。

使用特权

评论回复
20
高级安全大使|  楼主 | 2022-1-28 17:04 | 只看该作者

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

44

主题

373

帖子

1

粉丝