一、定时/计数器的基本原理
定时/计数器 ,是一种能够对内部时钟信号或外部输入信号进行计数,当计数值达到设定要求时向 CPU 提出中断处理请求,从而实现定时或者计数功能的外设。定时/计数器的最基本工作原理是进行计数。不管是定时器还是计数器,本质上都是计数器,可以进行加 1(减1)计数,每出现一个计数信号,计数器就会自动加 1(自动减1),当计数值从0变成最大值(或从最大值变成 0)溢出时,定时/计数器就会向 CPU 提出中断请求。
二、CC2530 的定时/计数器
CC2530 共有5 个定时/计数器,其中定时器1是一个 16 位的定时器,为 CC2530 中功能最全的一个定时/计数器,在 应用中应优先选用。定时器1的工作模式有三种:
<1>自由运行模式:计数器从 0x0000 开始,在每个活动 时钟边沿增加 1,当计数器达到0xFFFF 时溢出,计 数器重新载入 0x0000 并开始新一轮的递增计数。该 模式的计数周期是固定值0xFFFF,当达到最终计数 值 0xFFFF 时,标志位 T1IF 和 OVFIF 被设置。
<2>模模式:计数器从 0x0000 开始,在每个活动时钟边 沿增加 1,当计数器达到 T1CCO 寄存器保存的值时 溢出,计数器又将从 0x0000 开始新一轮的递增计数, 模模式的计数周期可由用户自行设定。
<3>正计数/倒计数模式:计数器反复从 0x0000 开始,正计数到 TICC0 保存的最终计数值然后再倒计数回 0x0000,当达到最终计数值时,标志位 T1IF 和 OVFIF 被设置。










