RBG软灯带是,等灯饰配件中常见的负载。一般作为背景灯装修,以及护栏管。程序完成功用,使用墙面开关,操控RGB灯带,分红4档,榜首档:RGB之间完成突变作用。第二档:R亮,第三档,B亮,第四档:G亮。当然还有其他许多把戏。本程序难点,结构简略有用的RGB突变函数,第二,如安在突变中检测交流电掉电。试验器件:PIC12F509一片,RGB灯带一条,RGB操控线路板一块。
程序如下:
#include
__CONFIG(0X01A);
#define uchar unsigned char
#define uint unsigned int
#define TIME_MAX 1000
uint key2_time_cnt;//按键去抖计数器
uchar num;
uchar key_flag;
uint PWM;
uint a,c;
uchar i,p,num,f,k;
uint r,g,b;
void delay(uint x)
{
uint c,d;
for(c=x;c>0;c–)
for(d=110;d>0;d–);
}
void timer1(uint t)
{
uint n;
for(n=0;n {
if(GP5==0)//
{
key2_time_cnt++;
if(key2_time_cnt==TIME_MAX)
{
key_flag=1;
}
}
else
{
key2_time_cnt=0;
if(key_flag==1)
{
key_flag=0;
num=1;
}
}
}
}
void timer2(uint t)
{
uint n;
for(n=0;n {
if(GP5==0)//
{
key2_time_cnt++;
if(key2_time_cnt==TIME_MAX)
{
key_flag=1;
}
}
else
{
key2_time_cnt=0;
if(key_flag==1)
{
key_flag=0;
num=3;
}
}
}
}