CC2530之定时器T3

在本次学习中,主要通过定时器T3周期性的控制LED的亮灭。

首先,先查看相关电路图。由图可知,当CC2530端口1的0号引脚输出低电平时,LED1将被点亮。

接下来,先查看与LED(P1_0)配置相关的寄存器。

  1. 端口1功能选择寄存器(P1SEL)。这是一个8位的寄存器,对应端口1的8个引脚,将相应位设为0,表示将相应引脚设置为普通的I/O口,若设置为1,则将相关引脚设为外设I/O,默认值都为0。

  2. 端口1方向选择寄存器(P1DIR)。这是一个8位的寄存器,对应端口1的8个引脚,将相应位设为0,表示将相应引脚设置为输入引脚,若设置为1,则将相关引脚设为输出引脚,默认值都为0。

  3. 端口1输入模式寄存器(P1INP)。这是一个8位的寄存器,对应端口1的8个引脚,将相应位设为0,表示将相应引脚设置为上拉/下拉模式,若设置为1,则将相关引脚设为三态模式,其中P1_0和P1_1没有上拉/下拉功能,可以不用配置,默认值都为0。

再来看看与定时器T3相关的寄存器

  1. 定时器3的控制寄存器(T3CTL)
    bit7~bit5:设置分频值
bit7:5 描述
000 分频值为1
001 分频值为2
010 分频值为4
011 分频值为8
100 分频值为16
101 分频值为32
110 分频值为64
111 分频值为128

bit4:定时器T3的启动/停止位。写1表示启动,写0表示停止
bit3:溢出中断掩码。写1表示打开溢出中断,写0表示关闭溢出中断。
bit2:清计数器。写1表示将计数器设置为0并初始化所有相关引脚。
bit1~bit0:设置计数器的计数模式。

bit1:0 描述
00 自由计数,从0x0000计数到0xFFFF,不断重复计数
01 向下计数一次,由T3CC0计数到0,
10 模计数,从0x0000计数到T1CC0,不断重复计数
11 向上/向下计数,从0x0000计数到T1CC0再从T1CC0计数到0x0000,不断重复

  1. 定时器3通道0捕获/比较控制寄存器。
    bit6:通道0中断掩码。写1表示使能中断,写0表示禁用中断。
    bit5~bit3:通道0比较输出模式选择。
bit5:3 描述
000 在比较中设置输出
001 在比较中清除输出
010 在比较中切换输出
011 在比较正计数时设置输出,在0时清除
100 在比较正计数时清除输出,在0时设置
101 在比较时设置输出,在0xFF时清除
110 在比较时清除输出,在0时设置
111 初始化输出引脚。 CMP[2:0]不变

bit2:定时器3通道0的模式。0表示捕获模式,1表示比较模式。
bit1~bit0:捕获模式选择

bit1:0 描述
00 无捕获
01 在上升沿捕获
10 在下降沿捕获
11 在所有边沿都捕获

  1. 定时器3通道0捕获/比较值寄存器
    当T3CCTL0.MODE=1(比较模式)时写该寄存器会导致T3CC0.VAL[7:0]更新到写入值延迟到T3CNT.CNT[7:0]=0x00

  2. 定时器1/3/4中断掩码/标志寄存器
    bit1:定时器3通道0中断标志。0:无中断未决;1:中断未决
    bit0:定时器3溢出中断标志。0:无中断未决;1:中断未决

  3. 中断标志4寄存器
    bit3:定时器3中断标志,当中断发生时置为1,当CPU向量指向中断服务例程时置为0

  4. 中断使能寄存器1
    bit3:定时器3中断使能。1:中断使能;0:中断失能。

  5. 中断使能寄存器0
    bit7:总中断使能。

/*利用定时器3,间隔约0.5s将LED电平翻转一次*/
#include <ioCC2530.h>typedef unsigned char uchar;
typedef unsigned int uint;#define LED1 P1_0void LEDInit(void)
{P1SEL &= ~0x01; //普通IOP1DIR |= 0x01;  //输出模式
}void TIM3Init(void)
{T3CTL |= 0xE0; //128分频T3CTL &= ~0x03;  //自由计数T3CTL |= 0x08;  //使能定时器3溢出中断T3IE = 1;  //定时器3中断使能,相当于IEN1 |= 0x08T3CTL |= 0x10; //启动定时器3 EA = 1;  //开启总中断,相当于IEN0 |= 0x80
}uint count;
#pragma vector = T3_VECTOR
__interrupt void T3_ISR(void)
{ IRCON = 0x00;//清中断标志,也可由硬件自动完成/*产生245次中断后,LED发生翻转,时间间隔大概为128*255*245/16000000 = 0.5s*/if(count++ > 244) {                 count = 0;LED1 = !LED1;}
}void main(void)
{LEDInit();TIM3Init();while(1);
}

CC2530之定时器T3相关推荐

  1. 8、ZigBee 开发教程之基础篇—CC2530 定时器T3的使用

    文章目录 1.实验目的 2.实验设备 3.实验相关电路图 4.实验相关寄存器 5.源码分析 1.实验目的 1)通过实验掌握 CC2530 芯片 GPIO 的配置方法 2)掌握 Led 驱动电路及开关 ...

  2. CC2530————通过定时器T1查询方式控制LED1周期性闪烁(模模式)

    CC2530----通过定时器T1查询方式控制LED1周期性闪烁(模模式) 宏定义与函数声明 初始化 主函数 宏定义与函数声明 /*********************************** ...

  3. ZigBee——使用CC2530的定时器生成指定的PWM波

    由于在使用zigbee网络时往往有对电机.灯具等执行器进行控制的需要,而出于成本和简化系统的需求,我们又往往希望在CC2530上实现相关的控制及ZigBee的组网工作,使用CC2530芯片实现PWM输 ...

  4. ZigBee无线传感——CC2530单片机定时器1PWM输出

    定时器1(16位) 时器1是一个独立的16位定时器,支持典型的定时/计数功能,比如输入捕获,输出比较和PWM功能. 定时器有五个独立的捕获/比较通道.每个通道定时器使用一个I/O引脚.定时器用于范围广 ...

  5. CC2530使用定时器实现灯的闪烁,计数器原理和应用

    #include <ioCC2530.h> #define D1 P1_0 #define D2 P1_1 #define SW1 P1_2 int count = 0;//用于定时器计数 ...

  6. 13、ZigBee 开发教程之基础篇—CC2530 睡眠定时器唤醒系统

    文章目录 1.实验目的 2.实验设备 3.实验相关电路图 4.实验相关寄存器 5.源码分析 6.实验现象 1.实验目的 1)为什么要睡眠?   ZigBee 的特点是远距离低功耗的无线传输设备,节点模 ...

  7. cc2530 定时器控制LED灯以不同的频率闪烁

    1.cc2530有两个LED灯: 定时器有4种工作方式; 可通过定时器 T1 以及 定时器 T3同时来分别控制LED灯的闪烁,我们让定时器1处于8分频的自由模式下,T1 为16位的计数器,计数器每8/ ...

  8. T1与T3定时器的使用

    一.T1定时器 <span style="font-size:18px;color:#cc6600;">#include<iocc2530.h>#defin ...

  9. CC2530基础实验:(11)系统睡眠唤醒--定时器唤醒

     目录 前言 一.实验相关电路图 二.实验相关理论与寄存器 三.源码分析 前言 1) 为什么要睡眠? Zigbee的特点就是远距离低功耗的无线传输设备,节点模块闲时可以 进入睡眠模式,在需要传输数据时 ...

  10. TI CC2530基础实验(定时器1查询方式——自由运行模式)

    本实验实现通过CC2530的定时器1(16位)查询方式控制LED1以1S的周期性闪烁,此实验使用的三个寄存器T1CTL(定时器1控制寄存器),T1STAT(定时器1状态寄存器),IRCON. 有关CC ...

最新文章

  1. kangle php集成环境包,PHP探针-UPUPW环境集成包KANGLE专用版 | bftxjc.com contacts
  2. JupyterLab 3.0发布!
  3. ElementUI中el-table在表格最下方添加一列汇总小计行
  4. delete if only one note header
  5. Python机器学习实践:决策树判别汽车金融违约用户
  6. Mac 编译安装 Redis-3.2.3
  7. elasticsearch中cluster和transport知识
  8. java中HashMap的用法
  9. leetcode [209]长度最小的子数组/Minimum Size Subarray Sum 【暴力解法】【滑动窗口解法】
  10. java matcher方法_Java正则表达式入坑指南:正则表达式使用的类有哪些吗?
  11. JDBC下载及连接数据库处理
  12. 微信小程序怎样关闭直播插件
  13. 简述apache和php工作流程,php工作流程
  14. ligerui combobox ajax,jquery ligerUI中ligerComboBox 初始值有关问题
  15. 【京东】会员激励体系,会员体系结构分析
  16. Android百度地图+OSS图片拍照上传+导航+idea
  17. 【看表情包学Linux】环境安装 | 安装XShell | 基本的账号管理
  18. AI 图像识别的测试
  19. 搭建日志服务器 rsyslog
  20. PAT-2019年冬季考试-乙级-7-3String复读机

热门文章

  1. Iocomp ActiveX/VCL Ultra Pack Crack
  2. 大数据Spark技术数据分析综合实验:出租车数据分析
  3. C语言制作小游戏——贪吃蛇
  4. eclipse的java插件,25个最好的免费Eclipse插件
  5. 3dsmax2021软件安装教程
  6. Python入门到精通(一):入门必备知识
  7. Android电视远程桌面,【当贝市场】教你使用小米电视远程控制Windows桌面
  8. 前端开发写代码哪个软件更好用?
  9. python爬图代码实例_python爬虫爬取图片简单代码示例
  10. NetAssist.exe网络调试工具