历史上的今天
今天是:2025年02月07日(星期五)
2020年02月07日 | 单片机中的定时计数器的四种工作方式解析
2020-02-07 来源:elecfans
单片机中的定时/计数器都能有多种用途,要通过定时/计数器的方式控制字来设置,需要的用途。
在单片机中有两个特殊功能寄存器与定时/计数有关,这就是TMOD和TCON。,TMOD和TCON是名称,我们在写程序时就能直接用这个名称来指定它们,当然也能直接用它们的地址89H和88H来指定它们(其实用名称也就是直接用地址,汇编软件帮你翻译一下而已)。
TMOD被分成两部份,每部份4位。分别用于控制T1和T0。TCON也被分成两部份,高4位用于定时/计数器,低4位则用于中断(TF1、0在这)。TR0(1)称之为运行控制位,为1,开关才能合上,计数脉冲才能过来,可用指令SETB和CLR来置位以启动/关闭计数器/定时器。

定时/计数器的四种工作方式
方式0
为13位计数器,由TL(1/0)的低5位和TH(0/1)的8位组成,,此时TL(1/0)的高3位未用。
M1、M0:定时/计数器一共有四种工作方式,就是用M1M0来控制的,2位正好是四种组合。
C/T:C/T为0就是用作定时器(开关往上打),如果C/T为1就是用作计数器(开关往下打)。
GATE:GATE后非门后是一或门,GATE=0时只要TR1=0则开关闭合
GATE=1时,开关合闭不仅要由TR1,而且还受到INT1管脚控制,两个都为高电平计数脉冲才能通过。
方式1
工作方式1是16位的定时/计数方式,将M1、M0设为01即可,其它特性与工作方式0相同。
方式2
自动装入预置数的工作方式。当溢出后,T(0/1)高、低八位之间的开关打开,放在高八位的预置数进入低八位,开始第二轮,由硬件完成。代价是计数范围少一半。
方式3
定时/计数器被拆成2个独立的定时/计数器来用。
(最下是TR1)
TL0能组成8位的定时器或计数器的工作方式,而TH0则只能作为定时器来用。
TLO使用T0状态控制位C/T、GATE、TR0、INT0,而TH0使用T1的状态控制位TR1,一般只有T1以方式2运行(当波特率发生器用),才能让T0以方式3工作。
定时器/计数器的定时/计数范围
工作方式0:13位定时/计数方式,因此,最多能计到2的13次方,也就是8192次。
工作方式1:16位定时/计数方式,因此,最多能计到2的16次方,也就是65536次。
工作方式2和工作方式3,都是8位的定时/计数方式,因此,最多能计到2的8次方,也说是256次。
预置值计算:用最大计数量减去需要的计数次数即可。
史海拾趣
|
各位大虾谁能给我个《plug and play system architecture》?非常感谢 各位大虾谁能给我个《plug and play system architecture》?非常感谢, 我的邮箱jerk66@163.com… 查看全部问答> |
|
EVC连接SQLCE出问题:recordset 的open方法总是提示:first—chance exception in XX.exe:0X00000f0:s EVC连接SQLCE出问题:recordset 的open方法总是提示:first—chance exception in XX.exe:0X00000f0:stack overflow。 程序如下 CVOConnection* m_Conn; CVO ...… 查看全部问答> |
|
问一下MSP430f42xx里的SAD( Sigma-Delta A/D)怎么用啊? 本帖最后由 paulhyde 于 2014-9-15 09:44 编辑 Sigma-Delta A/D 原理基本不懂····和逐次比较的有什么不同?还有怎样操作它? … 查看全部问答> |
|
0 引言 在现场测控系统中,RTU(远程测控终端)存储容量、存储数据的转移问题始终是RTU的重要环节。RTU的存储容量一般为几十K~几百K字节,数据转移通常采用不掉电静态RAM、EEPROM存储模块,或采用便携式计算机通过串行口读取RTU数据。 ...… 查看全部问答> |
|
最近在学习launchpad,中断方面困难重重。。。我想实现这样一个功能:P1.1设为输入,连接一个按键,然后利用中断判断按键按下的时间,要是短按的话就LED1翻转,长按的话LED2翻转。这样的话,我知道应该用捕获模式获取时间信息对吧,但是实现过程一 ...… 查看全部问答> |




