0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

定时器TMR2的特性_寄存器_电路结构_工作原理

电子工程师 作者:工程师陈翠 2018-06-24 16:52 次阅读

1.前言

这里将介绍另一款定时器TMR2模块,TMR2与前面介绍的TMR0和TMR1相比,最大的差别是只能工作于定时模式,因此称它为“定时器TMR2”。

2.TMR2的特性

TMR2为8位宽,附带二个4位宽的分频器:一个“预分频器”和一个“后分频器”,一个可编程的8位周期寄存器PR2。其主要用途:

1. 可以用作时间定时器,但是不能作为计数器;

2. 可以为同步串行端口MSSP模块提供波特率时钟

3. 可以与CCP模块配合使用,实现脉宽调制PWM功能。

TMR2的核心是一个可以由软件读/写的8位宽的计数器,它也是按递增计数,从某一初值(缺省为0)开始递增,直到与周期寄存器PR2中内容匹配之后,在下一次递增时则返回到00H,并且会产生匹配信号,该匹配信号将作为“后分频器”的计数脉冲。

只有在后分频器产生溢出时,才会将溢出中断标志位TMR2IF(PIR1的bit1)置1。如果此时相关的中断使能位都置位,则会引起CPU的中断响应。通过对中断使能位TMR2IE的置位或复位,即可允许或禁止CPU响应TMR2产生的中断请求。

需要注意的是:

1. TMR2和RAM空间统一编址,地址为11H;

2. 可用软件方式直接读/写TMR2的内容;

3. 有一个4位的预分频器和一个4位的后分频器;

4. 有一个8位周期寄存器;

5. 累加计数的触发信号只能选择内部系统时钟;

3. TMR2相关的寄存器

与TMR2有关的寄存器共有6个,如下表所示。这6个寄存器中的前3个寄存器的功能可以查看“中断系统”。在此介绍TMR2控制寄存器T2CON。

定时器TMR2的特性_寄存器_电路结构_工作原理

TMR2控制寄存器T2CON是一个只用到低7位的可读/写寄存器,最高位未用,其余各位的含义如下:

1. TOUT-PS3~TOUT-PS0:TMR2后分频器分频比选择位,如下表所列:

定时器TMR2的特性_寄存器_电路结构_工作原理

2. TMR2-ON:TMR2使能控制位。1=启用TMR2;0=关闭TMR2,可以降低功耗。

3. T2CK-PS1~T2CK-PS0:预分频器分频比选择位。

4. TMR2的电路结构

TMR2的内部结构,如下图所示,包含5个组成部分。下面分析各个部分的功能和组成关系。

定时器TMR2的特性_寄存器_电路结构_工作原理

核心部分就是一个8位宽的累加计数器TMR2。其复位值是00H,也可以是在00H~FFH范围内由用户设定的一个起始值。

4位宽的预分频器,对于进入TMR2的时钟信号进行预先分频,允许选择3种不同的分频比(1:1、1:4或1:16)。

注意:在对TMR2或控制寄存器进行写操作时,都可以使预分频器清0;在用任何方式复位时,都会对预分频器清0。

周期寄存器PR2也是一个8位可读/写寄存器。用来预置一个作为TMR2一次计数过程结束的周期值。芯片复位后PR2寄存器被自动设置为全1(FFH)。

比较器是一个8位宽的按位比较逻辑电路,只有当参加比较的两组数据完全相同之后,下一次递增时,“匹配”输出端才会送出高电平,其他情况下该输出端均保持低电平。

4位宽的后分频器,对于比较器的输出信号进行后续分频,允许连续选择16种分频比,其输出信号频率是输入信号频率的1/N (N=1~16) 。

TMR2的工作是可控的,所以还包含一个控制门G1。只有当TMR2使能位TMR2ON置1,系统时钟才能通过G1,TMR2也才能进入活动状态。

5.TMR2的工作原理

TMR2只有一种工作方式:定时器方式,其触发钟信号也只能从内部系统时钟4分频后得到。

5.1 禁止TMR2工作

TMR2也比TMR0多了一种选择,即可以被用户程序关闭而节电,此点类似于TMR1。具体方法是将TMR2使能控制位TMR2ON清0。此时与门G1的一只引脚被低电平封锁,其输出端均保持低电平;因此使得累加计数器TMR2不能活动。

5.2 定时工作方式

TMR2只有定时工作模式,该模式可以被用来实现一般的延时或定时。但是,TMR2的主要目的并不是把它用作普通的定时器,而是为CCP模块或MSSP模块提供周期可调的时基信号。

用作周期可调的时基发生器

当TMR2被用作周期可调的时基发生器时,可以为CCP模块或MSSP模块提供周期可调的时基信号。

这时,应该将中断使能位TMR2IE清0,即屏蔽TMR2的中断功能,相当于把后分频器的作用也屏蔽了;通过对周期寄存器PR2设置不同的值,以及给预分频器设定不同的分频比,来灵活调整TMR2输出端的信号周期TTMR2 。该周期的计算式为:

TTMR2=(4/fosc)*N1*(PR2+1)

其中:fosc为系统时钟频率;N1为预分频器的分频比(取1、4或16);PR2为周期寄存器预赋值;PR2+1是因为在TMR2与PR2匹配后的下一次增量时TMR2才回00H。

定时器TMR2的特性_寄存器_电路结构_工作原理

用作延迟时间可调周期性定时器

把TMR2作为延迟时间可调的周期性定时器,会比TMR0的定时方式更加节省软件开销。

TMR2不必像TMR0那样,每次溢出后,都要给寄存器TMR2赋初值。只要一次性设定溢出周期(通过设定预分频器、后分频器以及PR2来实现),TMR2就将会周期性地按预先设定的溢出周期产生超时中断。该超时溢出周期的计算式为 :

TTMR2IF=(4/fosc)*N1*(PR2+1)*N2

其中,N2为后分频器的分频比(连续可取1~16)。这时的简化电路如下图所示:

定时器TMR2的特性_寄存器_电路结构_工作原理

用作普通定时器

TMR2也可以像TMR0那样用作普通的定时器,这样使用时,可以将后分频器的分频比设定为1:1,PR2的值设定为最大值FFH,就相当于把后分频器、周期寄存器以及比较器的功能禁止掉了,使得它们不发挥作用。

从而使TMR2简化为类似于TMR0一样,带有一个分频比可设定为1:1、1:4或1:16的4位预分频器。这时超时溢出周期的计算式为:

TTMR2IF=(4/fosc)*N1*(256-M)

其中,M为TMR2的初始值。简化电路如下图所示:

采用这种用法时,需要在TMR2每次超时溢出时,都要给TMR2赋一次初始值。累加计数寄存器TMR2,就会以该初始值为起点开始增量,直到递增到FFH,之后再出现一个计数脉冲,就会将TMR2复位清0,并且发出中断请求(TMR2IF被置1)。如果想把预分频器的功能禁止掉,可以把它的分频比也设置为1:1,这样就相当于把预分频器给短路掉了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 定时器
    +关注

    关注

    23

    文章

    3147

    浏览量

    112036
  • TMR2
    +关注

    关注

    0

    文章

    2

    浏览量

    6903
收藏 人收藏

    评论

    相关推荐

    pic单片机实用教程(提高篇)

    2.6.2 电路结构工作原理2.7 应用举例思考题与练习题第3章 定时器/计数TMR13.1
    发表于 11-10 11:47

    伺服控制TMR2

    大家好。我试图用PIC16F628A@20MHz的TMR2控制伺服电机。我把定时器设置为每隔1ms溢出(预分频=4;TMR2寄存器=130
    发表于 06-17 07:53

    如何使用pic24f中的32位定时器

    ;//停止任何16/32位Timer2操作T3CON=0x00;//停止任何16位Timer3操作TMR3=0x00;//清除timer3寄存器TMR2=0x00的内容;//清除tim
    发表于 07-29 07:42

    TMR2写入的断点不起作用

    你好,我在用MPLAB X模拟一个使用TIMER2外围设备的程序。当SFR TMR2被写到0x1i已经将断点设置为SFR TMR2写到0x1时,我想停止程序的运行,但是当运行程序时,当满足条件时,模拟
    发表于 11-06 13:29

    TMR2特性有哪些?其主要用途是什么?

    TMR2工作原理是什么?TMR2特性有哪些?其主要用途是什么?TMR2相关的寄存器有哪些?
    发表于 07-16 09:40

    STM32 Systick定时器简介工作原理

    STM32---Systick定时器简介工作原理Systick寄存器SysTick 控制和状态寄存器- CTRLSysTick 重装载数值寄存器
    发表于 08-19 07:09

    探讨一下PIC单片机定时器TMR2

    TMR2的宽度与TMR0一样的也是8位,一般伴随着CCP模块和PWM功能一起出现。 8位宽度的TMR2定时器有一个前置预分频和后置预分频
    发表于 11-24 06:23

    定时器的概述与结构

    2个16位定时器实际上都是16位加1计数。T0由2个8位特殊功能寄存器TH0和TL0构成,T1由TH1和TL1构成。每个
    发表于 01-17 08:57

    计数结构工作原理

    目录C51定时器计数电路定时/计数结构工作原理
    发表于 01-24 07:04

    CH579清除TMR2中断标志位失效是为什么?怎么处理?

    条件:在使用CH579 的BLE Peripheral例程时,增加了TMR2作1s周期定时器,并触发周期结束中断。现象:进入TMR2中断后,无论是直接调用函数还是直接写寄存器
    发表于 09-05 06:09

    51单片机的定时器结构工作原理详细说明

    时,两个寄存器的所有位都被清0。两个可编程的定时器/计数T1、T0。每个定时器内部结构实际上就是一个可编程的加法计数
    发表于 09-25 08:23

    定时器/计数器的结构工作原理

    定时器/计数器的结构工作原理 定时器/计数器的结构  定时器/计数器的实质是加1计
    发表于 03-29 09:08 1.9w次阅读
    <b class='flag-5'>定时器</b>/计数器的<b class='flag-5'>结构</b>和<b class='flag-5'>工作原理</b>

    PIC单片机的定时器TMR2的资料简介

    TMR2的宽度与TMR0一样的也是8位,一般伴随着CCP模块和PWM功能一起出现。 8位宽度的TMR2定时器有一个前置预分频器和后置预分频器,同时还有一个周期控制
    发表于 09-24 17:18 0次下载
    PIC单片机的<b class='flag-5'>定时器</b><b class='flag-5'>TMR2</b>的资料简介

    PIC单片机学习 TMR2

    TMR2的宽度与TMR0一样的也是8位,一般伴随着CCP模块和PWM功能一起出现。 8位宽度的TMR2定时器有一个前置预分频器和后置预分频器,同时还有一个周期控制
    发表于 11-16 12:21 1次下载
    PIC单片机学习 <b class='flag-5'>TMR2</b>

    (指南者)(二)寄存器定时器和中断

    (指南者)(二)寄存器定时器和中断寄存器定时器时钟定时器寄存器0110代码例程
    发表于 12-23 19:19 0次下载
    (指南者)(二)<b class='flag-5'>寄存器</b>、<b class='flag-5'>定时器</b>和中断