51单片机自学笔记(1)——定时计数器

2023-05-16

1.定时/计数器的介绍

  51单片机一共有两个16位的 定时/计数 器——T0,T1。其数据均存放于特殊功能寄存器(SFR)中。T0的16位数据分两部分存放,高8位存放在TH0(其字节地址位8CH),低8位存放在TL0(其字节地址为8AH)。T1的16位数据分两部分存放,高8位存放在TH1(其字节地址位8DH),低8位存放在TL0(其字节地址为8BH)。

  当其为定时功能时:每个机器人周期定时器加1。
  当其为计数功能时:在外部输入引脚T0(与P3.4公用引脚,第14引脚),T1(与P3.5公用引脚,第15引脚)产生下降沿,计数器加1。

  定时器均由TMOD(其字节地址为89H)与TCON(其字节地址为88H)SFR控制。

2.工作方式控制寄存器——TMOD(89H)

  该8位寄存器(不可位寻址)可分为两组,低4位控制T0工作方式,高4位控制T1工作方式。
TMOD8位的名称
  本文仅介绍T0工作方式(即低4位),T1工作方式设置与T0工作方式基本相同,不同处将有提示。

2.1 GATE位:门控位(是否受T0引脚输入电平控制)

  当GATE=1时,T0受外部引脚(INT0)控制。
  当GATE=0时,T0不受外部引脚(INT0)控制。
  例如:T0定时器已经准备就绪随时可以工作(TR0=1),当GATE=0时不管外部引脚输入什么定时器均可工作,当GATE=1时只有当外部引脚输入高电平定时器才可工作。

2.2 C/T位:计数器模式和定时器模式选择位

  当C/T=0,为定时器模式,单片机每经过一个机器周期计数器加1,由于机器周期可以计算出运行时间即该模式称为定时器模式。
  当C/T=1,为计数器模式,当P3.4输入一个下跳沿时计数器加1,允许的最高计数频率为单片机链接晶振频率的1/24。

2.3 M0、M1 位:工作方式选择位

  T0一共有4种工作方式,T1仅有三种。
  方式0:当M0=0、M1=0时TL0中的低5位与TH0的8位构成13位的计数器(该模式为了向下兼容49单片机,当控制T1时,TL1中的低5位与TH1的8位构成13位计数器)。
  方式1:当M0=0、M1=1时TL0与TH0构成16位的计数器(当控制T1时TL1与TH1构成16位的计数器)。
  方式3:当M0=1、M1=0时T0为常数自动重装载模式,每当TL0溢出时系统自动将TH0的值装载(写入)到TL0中(当控制T1时每当TL1溢出时系统自动将TH1的值装载(写入)到TL1中)。
  以上3种方式T0、T1计数器均有,方式4仅T0有。
  方式4:M0=1、M1=1时T0分为两个8位(TL0与TH0)的计数器。不管T1如何设置,T1均停止计数。TH0仅仅只能做一个定时器,TL0其他功能并未阉割。

3.控制寄存器——TCON(88H)

  该8位寄存器(可位寻址)仅有高4位与计数器有关,高4位又可分两组——4、5位控制T0;6、7位控制T1。
在这里插入图片描述

3.1 TF0位——溢出标志位

  当T0计数溢出时,TF0位由硬件置1,若申请中断,进入中断服务程序后被硬件清0(TF1同理)。

3.2 TR0位——运行控制位

  T0计数器运行总开关,置1时允许运行。置0时不允许运行,不管其他位如何设计,该位若置0计数器始终不工作,但当该位置1时定时器不一定工作,又由GATE位进行控制。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

51单片机自学笔记(1)——定时计数器 的相关文章

随机推荐