zoukankan      html  css  js  c++  java
  • PIC学习5定时器

    TMR0为8位宽,有一个可选的预分频器,用于通用目的,可用于定时和计数。

    TMR1为16位宽,附带一个可编程的预分频器和一个可选的低频时基振荡器,适合与CPP模块配合使用来实现输入捕扣或输出比较功能,也可于定时和计数。

    TMR2为8位宽,附带一个配合使用来实现PWM脉冲宽度调制信号的产生,只能用于定时。

    TMR0用作定时器时,定时器时钟=系统时钟/4;
    写TMR0时,会产生2个周期的的延时,如果不使用前置分频器,可通过设置
    初值进行补偿。
    例如 需要定时200个时钟周期时,TMR0 = 256 -200 + 2= 58

    OPTION_REG:

    bit5 T0CS:TMR0 Clock Source Select bit

           1 = Transition on T0CKI pin

           0 = Internal instruction cycle clock(CLKO)

    bit 4 T0SE:TMR0 Source Edge Select bit

           1 = Increment on high-to-low transition on T0CKI pin

           0 = Increment on low-to-high transition on T0CKI pin

    bit 3 PSA:Prescaler Assignment bit

          1 = Prescaler is assigned to the WDT

          0 = Prescaler is assigned to the Timer0 module

    bit2-0 PS2:PS0:Prescaler Rate Select bits

    任何时候对TMR0寄存器进行一次写操作后,其计数功能将被禁止2个指令周期。

    给大家一个意见:如果想用TMR0实现精确的定时,一旦用了预分频器后就不要对TMR0做任何写操作。

    注意:在中断服务程序中查询TMR0中断时,既要查询T0IE位,还要查询T0IF位。

  • 相关阅读:
    PhpStorm中如何调整字体大小
    PhpStorm-2017.1.2破解步骤
    Eclipse/MyEclipse 最最常用的快捷键
    Invalid result location value/parameter
    系统重装--相关问题
    喜马拉雅||亲爱的,慢慢行走
    QQ聊天界面模式切换
    myeclipse中如何修改项目的名称
    软考-程序设计语言基础(编译原理)
    软考-计算机组成原理、体系机构与网络安全
  • 原文地址:https://www.cnblogs.com/hnrainll/p/1918447.html
Copyright © 2011-2022 走看看