STM32F103_RGB彩灯

本文介绍了如何使用STM32F103单片机控制RGB彩灯,通过理解P9813驱动芯片的工作原理和时序,实现了对彩灯的灰度调制。主要内容包括RGB彩灯介绍、硬件设计、P9813芯片详解,以及发送数据的详细步骤和代码实现。
摘要由CSDN通过智能技术生成

1、 RGB彩灯介绍
因为所有的颜色都是由三原色组合而成,这个RGB彩灯就是让我们给它红绿蓝三种不同在这里插入图片描述
比例就可以显示出各种颜色.

2、 硬件设计
在这里插入图片描述
在这里插入图片描述
由原理图可以知道,我们要让RGB灯珠亮起来,需要控制P9813(RGB驱动芯片),在这个驱动芯片上有两个数据管脚,DIN和CIN。
DIN:数据数,颜色数据就是从这个管脚输入进来
CIN:时钟线,控制数据什么时候才能传输数据
所以我们的重点就是要知道如何操作这两个线

3、 P9813简介
P9813 是一款全彩点光源 LED 驱动芯片,采用 CMOS 工艺,提供三路恒流驱动及 256级灰度调制输出。采用双线传输方式(DATA与 CLK),内建再生,可提升传输距离。用于驱动显示灯光变换、各式字符变换、彩色动漫图案。 根据不同控制器和客户不同形式要求,进行脱机或联机运行。 在这里插入图片描述
.
时序:时间和顺序
在这里插入图片描述

1.前32 位“0”为起始帧,在Cin 上升沿时打入,并且时序DIN要先于CIN;
2.标志位为两个“1”;
3.校验数据“B7’”与“B6’”为蓝色灰度数据的“B7”与“B6”的反码;
4.灰度级数据要高位先入,并且是蓝绿红顺序。

如何发送一位数据? DIN=0/1 CIN=0; 延时–200us CIN=1; 延时–200us

发送32位数据函数(u32 data) { 高位在前 } RGB彩灯控制函数(u8 r,u8 g,u8 b) {
利用r、g、b组合成32位灰度数据 发送32bit起始帧 发送32bit灰度数据 发送32bit灰度数据

}

4、功能框图
在这里插入图片描述

代码:
代码初始化

void RBG_Init
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梨花落-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值