Zigbee实现呼吸灯效果

news/2025/2/21 7:56:15/

**

CC2530实现呼吸灯效果

**

编程实现 PWM 输出驱动 LED , 控制 PWM 电平的宽度,逐渐改变 PWM 的占空比来使得 LED 能够模拟呼吸过程长 —— 由渐暗到渐亮,渐亮到渐暗, 如此反复,利用 LED 余辉和人眼的暂留效应,实现模拟呼吸过程。
我们利用CC2530的定时器1的自由运行模式输出PWM,控制P1.1实现呼吸灯效果。
CC2530定时器1是一个独立的16位定时器,支持定时/计数功能(输入捕获、输出比较和PWM功能),
在自由运行模式下,不用配置定时器1计数器高(T1CNTH)、低(T1CNTL)字节,因为自由运行模式的计数周期是固定值0xffff,当计数器达到最终计数值0xffff时,系统自动设置标志位IRCON.T1IF和·T1STAT.OVFFIF。
请添加图片描述

PWM调光就是利用在一定的时间下I/O口输出的高电平和低电平的多少即占空比达到调整电压、电流、功率的方法,最终达到调整光亮度。

请添加图片描述
CC2530外设I/O引脚映射
定时器1一共5个通道它们相互独立,互不影响。
有映射表看出P1_1是定时器1的通道1
![请添加图片描述](https://img-blog.csdnimg.cn/a5d8b37dfde3496ab4547998964a4c63.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBA6IGq5piO55qE6IOc5ZWK,size_18,color_FFFFFF,t_70,g_se,x_16
请添加图片描述

TxCTL寄存器请添加图片描述 我们选择1分频,自由运行模式
T1CTL |= 0x01; //00000001

TxSTAT寄存器
请添加图片描述
不使用中断则不设置

PxDIR寄存器
请添加图片描述
使用P1_1,为避免直接赋值会冲掉P1其他输出端口,用“|”来表示 P1DIR |= 0x02; //00000010

PERCFG寄存器
请添加图片描述
使用定时器1备通道0 PERCFG |= 0x20; //00100000

PxSEL寄存器
请添加图片描述
将P1_1设为外设功能 P1SEL |= 0x20; //00000010

TxCCTLx
请添加图片描述
设置定时器1向上比较清除输出 比较模式 T1CCTL2|= 0x64; //01100100

定时器捕获比较值寄存器

TxCCxH寄存器
请添加图片描述
TxCCxL寄存器
请添加图片描述

#include "iocc2530.h"#define LED1 P1_0       //D3
#define LED2 P1_1       //D4
#define LED3 P1_3       //D5
#define LED4 P1_4       //D6#define sw1 P1_2unsigned char h;      ////引脚初始化
void IO_Init()
{P1SEL &= ~0x1f;           //11100000P1DIR |= 0x1b;            //00011011LED1=LED2=LED3=LED4=0;
}void InitT1(){T1CTL |= 0x01;        //定时器1时钟频率1分频,自动重装0x0000-0xFFFFPERCFG=0x40;       //定时器1选择外设位置2P1SEL|=0x02;         //P1_0选择外设功能0x01T1CCTL1=0x64;       //定时器1通道2向上比较,比较模式T1CC1L=0xff;        T1CC1H=h;}void main(void)
{unsigned char a=1;          //a=1为渐亮,a=2为渐灭IO_Init();InitT1()
;while(1){if((T1STAT&0x02)>0)  {T1STAT=T1STAT&0xfd;   //清除中断标志if(a==1)      //渐亮h=h+1;else          //渐灭h=h-1;T1CC1L=0xff;  //重装比较值T1CC1H=h;if(h>=254)     //最大亮度a=2;       //设为渐灭if(h==0)       //最小亮度a=1;        //设为渐亮}}
}

请添加图片描述


http://www.ppmy.cn/news/788849.html

相关文章

智能家居DIY的又一神器ESPEasy For ioBroker

上一期我们讲了ESPHome,大家觉得简单吗?今天我给大家带来的是另外一个完全不用代码的ESPEasy! 首先我们在官网下载最新版本的ESPEasy,如果大家因为墙的原因无法下载,我在这里提供百度网盘下载,版本是20200…

动态规划之343 整数拆分(第6道)

题目: 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k > 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积 。 示例: 解法: 其实可以从1开始遍历 j ,然后有两种…

蓝牙MESH氛围灯智能方案

智能氛围灯可以根据自身照明需要(如颜色、温度、亮度和方向等)来设定自己喜欢的场景情景照明效果,根据各自要求、场景情况,在不同的空间和时间选择并控制光的亮度、灰度、颜色的变化。便捷的智能手机也提供了更人性化的智能控制渠…

五路Homekit智能球泡灯

五路Homekit智能球泡灯,实际瓦数:9W,E27接口,支持苹果Homekit扫码直连Siri控制,也可在Cozylife app内绑定智能音箱搭配使用,支持包括(Alexa、Google Home、小爱音箱、天猫精灵、小度音箱等&…

LidarPhone攻击将智能吸尘器变成麦克风,小米扫地机器人被黑

LidarPhone攻击的工作原理是将智能真空的激光雷达导航组件转换成一个激光麦克风。 一组学者本周详细介绍了一项新研究,该研究将智能吸尘器改造成能够记录附近对话的麦克风。 这项名为 LidarPhone的技术通过使用真空吸尘器中内置的基于激光雷达的 LiDAR导航组件&…

小米LED灯带你玩转HomeKit,让智汀家庭云成为你私人管家

通过本篇教程,你将在智汀家庭云中接入小米智能家居设备,并在安装部署HomeKit插件包后,实现多个跨场景联动,即在ios系统中控制这些设备。 引言 目前,国内众多的智能家居交互入口都将通过智能音箱,天猫精灵.…

智能吸顶灯Homekit控制

LED智能吸顶灯中拥有起居,入睡,唤醒,就餐,聚会,爱情,音乐,光疗等八大类灯光效果,无论什么生活场景,无论什么心情,都可以选择合适的灯光效果。 Cozylife:使用…

网络的构成要素【图解TCP/IP(笔记七)】

文章目录 网络的构成要素通信媒介与数据链路网卡中继器网桥/2层交换机路由器/3层交换机4~7层交换机网关各种设备及其对应网络分层概览 网络的构成要素 通信媒介与数据链路 计算机之间通过电缆相互连接。电缆可以分为很多种,包括双绞线电缆、光纤电缆、同…