前言 CC2530有2个8位的定时器,它们分别是定时器3和定时器4。相较于传统51单片机的8位定时器来说,CC2530上的定时器具有输入捕获、输出比较、定时器计数方向可变等几个特点。
定时器计时功能寄存器配置 以定时器3为例,想要通过定时器3进行计时操需要配置T3CTL寄存器、IEN1寄存器、TIMIF寄存器。
T3CTL寄存器介绍 T3XTL是一个8位寄存器。
位 |
名称 |
复位值 |
读写权限 |
配置 |
7:5 |
DIV[2:0] |
000 |
读/写 |
定时器分频系数 |
- |
- |
- |
- |
000 :系统时钟1分频 |
- |
- |
- |
- |
001 :系统时钟2分频 |
- |
- |
- |
- |
010 :系统时钟4分频 |
- |
- |
- |
- |
011 :系统时钟8分频 |
- |
- |
- |
- |
100 :系统时钟16分频 |
- |
- |
- |
- |
101 :系统时钟32分频 |
- |
- |
- |
- |
110 :系统时钟64分频 |
- |
- |
- |
- |
111 :系统时钟128分频 |
4 |
START |
0 |
读/写 |
定时器启动标志 |
- |
- |
- |
- |
0 :关闭定时器 |
- |
- |
- |
- |
1 :开启定时器 |
3 |
OVFIM |
1 |
读/写 |
定时器溢出中断使能标志 |
- |
- |
- |
- |
0 :关闭定时器溢出中断 |
- |
- |
- |
- |
1 :开启定时器溢出中断 |
2 |
CLR |
0 |
读/写 |
定时器计数值清除位,读取该位时只能读到0 |
- |
- |
- |
- |
0 :无效 |
- |
- |
- |
- |
1 :清除定时器计数值 |
1:0 |
MODE[1:0] |
00 |
读/写 |
定时器工作模式配置 |
- |
- |
- |
- |
00 :自由运行,从0x00到0xFF反复计数 |
- |
- |
- |
- |
01 :向下计数模式,从T3CC0到0x00计数 |
- |
- |
- |
- |
10 :向上计数模式,从0x00到T3CC0反复计数 |
- |
- |
- |
- |
11 :上下计数模式,从0x00到T3CC0在到0x00反复计数 |
IEN1寄存器介绍 IEN1是一个8位寄存器。
位 |
名称 |
复位值 |
读写权限 |
配置 |
3 |
T3IE |
0 |
读/写 |
定时器3中断使能标志 |
- |
- |
- |
- |
0 :关闭定时器3中断 |
- |
- |
- |
- |
1 :开启定时器3中断 |
TIMIF寄存器介绍 TIMIF是一个8位寄存器。
位 |
名称 |
复位值 |
读写权限 |
配置 |
2 |
T3CH1IF |
0 |
读/写 |
定时器3通道1中断触发标志 |
- |
- |
- |
- |
0 :复位定时器3通道1中断触发标志 |
- |
- |
- |
- |
1 :置位定时器3通道1中断触发标志 |
1 |
T3CH0IF |
0 |
读/写 |
定时器3通道0中断触发标志 |
- |
- |
- |
- |
0 :复位定时器3通道0中断触发标志 |
- |
- |
- |
- |
1 :置位定时器3通道0中断触发标志 |
0 |
T3OVFIF |
0 |
读/写 |
定时器3溢出中断触发标志 |
- |
- |
- |
- |
0 :复位定时器3溢出中断触发标志 |
- |
- |
- |
- |
1 :置位定时器3溢出中断触发标志 |
范例
#include 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;
}
演示程序
【CC2530定时器配置笔记1(基本定时功能配置)】[1]. CC2530数据手册
推荐阅读