CC2530定时器配置笔记1(基本定时功能配置)

前言

CC2530有2个8位的定时器,它们分别是定时器3和定时器4。相较于传统51单片机的8位定时器来说,CC2530上的定时器具有输入捕获、输出比较、定时器计数方向可变等几个特点。

定时器计时功能寄存器配置

以定时器3为例,想要通过定时器3进行计时操需要配置T3CTL寄存器、IEN1寄存器、TIMIF寄存器。

T3CTL寄存器介绍

T3XTL是一个8位寄存器。

名称复位值读写权限配置
7:5DIV[2:0]000读/写定时器分频系数
----000 :系统时钟1分频
----001 :系统时钟2分频
----010 :系统时钟4分频
----011 :系统时钟8分频
----100 :系统时钟16分频
----101 :系统时钟32分频
----110 :系统时钟64分频
----111 :系统时钟128分频
4START0读/写定时器启动标志
----0 :关闭定时器
----1 :开启定时器
3OVFIM1读/写定时器溢出中断使能标志
----0 :关闭定时器溢出中断
----1 :开启定时器溢出中断
2CLR0读/写定时器计数值清除位,读取该位时只能读到0
----0 :无效
----1 :清除定时器计数值
1:0MODE[1:0]00读/写定时器工作模式配置
----00 :自由运行,从0x00到0xFF反复计数
----01 :向下计数模式,从T3CC0到0x00计数
----10 :向上计数模式,从0x00到T3CC0反复计数
----11 :上下计数模式,从0x00到T3CC0在到0x00反复计数

IEN1寄存器介绍

IEN1是一个8位寄存器。

名称复位值读写权限配置
3T3IE0读/写定时器3中断使能标志
----0 :关闭定时器3中断
----1 :开启定时器3中断

TIMIF寄存器介绍

TIMIF是一个8位寄存器。

名称复位值读写权限配置
2T3CH1IF0读/写定时器3通道1中断触发标志
----0 :复位定时器3通道1中断触发标志
----1 :置位定时器3通道1中断触发标志
1T3CH0IF0读/写定时器3通道0中断触发标志
----0 :复位定时器3通道0中断触发标志
----1 :置位定时器3通道0中断触发标志
0T3OVFIF0读/写定时器3溢出中断触发标志
----0 :复位定时器3溢出中断触发标志
----1 :置位定时器3溢出中断触发标志

范例

    #include <ioCC2530.h>

    void Timer3_Init( void )
    {
        //    TIMIF &= ~0x01;
        //    IEN1 |= 0x08;
        //    T3CTL = 0xFC;

        // 复位T3CTL寄存器
        T3CTL = 0x00;

        // 配置定时器3时钟为系统时钟128分频
        T3CTL |= 0xE0;
        // 清空定时器3计数器
        T3CTL |= 0x04;
        // 复位定时器溢出中断标志
        TIMIF &= ~0x01;
        // 开启定时器3溢出中断
        T3CTL |= 0x08;
        // 开启定时器3中断
        IEN1 |= 0x08;

        // 启动定时器3
        T3CTL |= 0x10;

        // 开启单片机总中断
        EA = 1;
    }

    int main( void )
    {
        Timer3_Init();
        while(1);
    }

    #pragma vector = T3_VECTOR
    __near_func __interrupt void TIM3_ISR_Handler( void )
    {
        // 复位定时器3中断溢出标志
        TIMIF &= ~0x01;
    }

演示程序

[1]. CC2530数据手册

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值