51单片机学习笔记

本文详细介绍了51单片机的定时器/计数器控制寄存器TCON和方式控制寄存器TMOD的使用。TCON的TRx位用于启动或停止定时器,而TMOD的GATE、M1、M0和C/T位则决定了定时器的工作模式和计数源。此外,还讨论了STC89C51RC/RD+系列单片机的两种计数速度,MCUin12Tmode和MCUin6Tmode,并解释了如何根据系统时钟计算计数时间。
摘要由CSDN通过智能技术生成

51单片机定时器使用

下面用到的图片都可以在数据手册中找到,我引用了一些,加入对自己的理解

各寄存器含义
1.定时/计数器控制寄存器TCON

在这里插入图片描述

  • 从图可知它的低4位与外部中断有关,高4位才是定时/计数相关的功能
    TF1、TF0:计数溢出标志位。当计数器计数溢出时,该为由硬件置1。有两种方式清0,软件清0和进入中断硬件自动清0。
    TR1、TR0:计数运行控制位。TR1\TR0=1时,启动定时\计数器计数;TR1\TR0=0时,停止定时\计数器。该位由软件置1或清0。
2.定时/计数器方式控制寄存器TMOD

在这里插入图片描述

  • 从图可知它8位可分为两组,高4位控制着T1,低4位控制着T0
    GATE:门控位。当GATE=0时,定时/计数器是否计数,只由TRx(x=0,1)控制。TRx=1,启动;TRx=0,停止;如果GATE=1时,当外部中断引脚(/INTx)电平为高并且TRx被置1时,才启动定时器,/INTx前面的/表示非。
    在这里插入图片描述

M1和M0:工作方式选择位。
在这里插入图片描述

C/T:控制选择为计数器模式还是定时器模式。C/T=0,设为定时器模式,对系统时钟12分频后的内部脉冲信号进行计数;C/T=1,设为计数器模式,对加在外部输入引脚T0(或T1)的外部脉冲信号进行计数。
在这里插入图片描述
对于STC89C51RC/RD+系列单片机来说,有两种计数速度,下面将说到。

SYSclk:System Clock系统时钟的简写。
MCU in 12T mode:传统8051中,1个机器周期=12个时钟周期机器周期是单片机完成一次操作所需的最短时间,所以我们可以知道一个机器周期使计数加1,即12个时钟周期使计数加1。上面的图中➗12就代表对系统时钟12分频后的内部脉冲信号进行计数。内部脉冲信号=机器周期。
MCU in 6T mode:➗6代表的是1个机器周期=6个时钟周期,,即6个时钟周期使计数加1。它的速度是传统8051的两倍。

一个机器周期的时间是多少

机器周期:单片机完成一个操作的最短时间。
时钟周期:时序中的最小单位,其大小是晶振分之一。
例如某个开发板上面的晶振是11.0592MHz,那么对于这个单片机系统来说,时钟周期T等于

T = 1/11059200秒

1个机器周期=12个时钟周期
在定时器中,不论是在的定时模式还是计数模式下,实质都是对脉冲信号计数。单片机的系统时钟经内部12分频以后变成脉冲信号(脉冲信号周期=机器周期),也就是来一个脉冲信号就加1,所以我们也可以理解为来1个机器周期就加1,所以我们可以算出加一个1的时间为t

t = 12/11059200秒
``


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值