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