|
/****************************************
使用12c5a60s2
使用24Mhz
***************************************/
*[free]#include "RGB.H"
#include "delay.h"
#include "USART.h"
u8 Display[24];
/*******************************************************
* 函数名: RGB_LOW
* 描述 :0码
* 输入 :无
* 输出 :无
* 备注 :
*******************************************************/
void RGB_LOW()
{
Din=1;
_nop_();
Din=0;
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
}
/*******************************************************
* 函数名: RGB_High
* 描述 :1码
* 输入 :无
* 输出 :无
* 备注 :
*******************************************************/
void RGB_High()
{
Din=1;
_nop_(); _nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
_nop_();_nop_();_nop_();_nop_();
Din=0;
_nop_();_nop_(); _nop_(); _nop_();
}
/*******************************************************
* 函数名: RGB_RESET
* 描述 :复位
* 输入 :无
* 输出 :无
* 备注 :
*******************************************************/
void RGB_RESET()
{
Din = 0;
delay_us(60);
}
/*******************************************************
* 函数名:RGB_display
* 描述 :颜色写入
* 输入 :r:红色
g;蓝色
b;绿色
len;灯的个数
* 输出 :无
* 备注 :0-255级亮度
*******************************************************/
void RGB_display(u8 g,u8 r ,u8 b,u8 len)// g绿色 r红色 b蓝色 len 为灯珠个数
{
u8 i;
RGB_RESET();
for(i=0;i<len;i++)
{
RGB_BYTE(g);
RGB_BYTE(r);
RGB_BYTE(b);
}
RGB_RESET();
}
/*******************************************************
* 函数名: RGB_BYTE
* 描述 :单色一个字节写入
* 输入 :X 为
r
g
b
* 输出 :无
* 备注 :
*******************************************************/
void RGB_BYTE(u8 X)
{
u8 i;
for(i=0;i<8;i++)
{
if((X&0X80))
{
RGB_High();
}
else
RGB_LOW();
X=X<<1;
}
}
/*******************************************************
* 函数名: RGB_BYTE
* 描述 :单色一个字节写入
* 输入 :X 为
r
g
b
* 输出 :无
* 备注 :
*******************************************************/
[free]#include "STC12C5A60S2.h"
#include "delay.h"
#include "USART.h"
#include "RGB.H"
void main()
{
u8 i;
uart1_init(); //串口1初始化
Din =0;
delay_ms(5);
P0M1 = 0X00;P0M0 = 0X00;
P0=1;
while(1)
{
for(i=1;i<8;i++)
{
RGB_display(0x00,0x00,0x01,i); // 绿色 红色 蓝色 0-255灰度调节 i为灯珠个数
delay_ms(500);
}
}
}
|
-
-
RGB灯带.rar
161.89 KB, 下载次数: 122, 下载积分: 黑币 -5
灯带总共7颗,可连续添加很多颗
评分
-
查看全部评分
|