单片机学习#定时器/计数器学习(2)之基础控制理论

定时器/计数器学习之基础控制理论

定时器/计数器是在寄存器TCON和TMOD的控制下工作的,因此,对定时器/计数器的控制实际上是对寄存器TCON和TMOD的位进行设置。
1.方式控制器TMOD
TMOD字节地址为89H,不能对它进行位操作,只能进行字节操作。 TMOD的格式如下表所示:

位序B7B6B5B4B3B2B2B1
位符号GATEC/TM1M0GATEC/TM1M0

TMOD中高四位控制T1,低四位控制T0。
1)GATE:启动模式控制,0时只要只要软件使TCON中TR0置1即可启动定时器/计数器工作;1时除了将TR0置1还需外部中断引脚INT1也为高电平时才能启动工作。
2)C/T:模式选择位,0时被设置为定时器工作方式,1时为计数器工作方式。
3)M1,M0位:定时器/计数器工作方式设置位。定时器/计数器工作方式选择表如下所示:

M1M0工作方式说明
00013位定时器/计数器,TH0的8位和TL0的低5位,最大计数值为2^13
01116位定时器/计数器,TH0的8位和TL0的8位,最大计数值为2^16
102带自动重装功能的8位计数器,最大计数值为2^8
113T0被分为两个独立的8位计数器,T1停止工作

2.控制寄存器TCON
TCON已在这篇文章中有详细说明:添加链接描述
3.定时器/计数器的4种工作方式
1)工作方式0:
M1M0均为0时,T1为工作方式0,此时T1为13位定时器/计数器。
在这里插入图片描述
2)工作方式1:
M1=0,M0=1时,T1为16位定时器/计数器,除了位数区别之外其余与工作方式0一样。
在这里插入图片描述
3)工作方式2:
对于定时器/计数器,工作方式0和工作方式1计数溢出时复位为0。在许多场合需要重复计数和循环定时,因此就存在重新装入初值问题,这样一方面影响定时精度,另一方面程序编写麻烦。工作方式2就这解决了这个问题。当M1=1,M0=0时,定时器/计数器选定为工作方式2,在这种工作方式下为自动重装初值的8位计数器。由图所示,它由TL1构成8位计数器,TH1作为计数器初值的常数缓冲器。当TL1计数溢出时,置溢出标志位TF1为1的同时,还自动将TH1的初值送入TL1,使TL1从初值重新开始计数。这样既提高了定时精度,同时应用时只需在开始时赋初值1次,不需重复赋初值,简化了程序的编写。
在这里插入图片描述
4)工作方式3:
定时器/计数器工作方式3是两个独立的8位计数器且仅T0有工作方式3,如果把T1置为工作方式3,T1自动处于停止状态。T0工作在方式3时,TL0构成8位计数器可工作于定时/计数状态,并使用T0的控制位与TF0的中断源。TH0则只能工作于定时器状态,使用T1中的TR1、TF1的中断源。一般情况下,使用工作方式0~2皆可满足需要。但是在特殊场合,必须要求T0工作于方式3,而T1工作于方式2(需要T1作为串行口波特率发生器,将在后文介绍)。所以,工作方式3适合于单片机需要1个独立的定时器/计数器、1个定时器和1个串行口波特率发生器的情况。
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值