我有个程序,但只是控制开发板上的LED灯的,不知道对你有帮助没。
我没有控制过5050灯带。
#include <reg52.h>
#define PWM P2
bit DIR;
unsigned int count,value,timer1;
void Time1Config();
void main(void)
{
Time1Config();
while(1)
{
if(count>100)
{
count=0;
if(DIR==1)
{
value++;
}
if(DIR==0)
{
value--;
}
}
if(value==1000)
{
DIR=0;
}
if(value==0)
{
DIR=1;
}
if(timer1>1000)
{
timer1=0;
}
if(timer1 <value)
{
PWM=0xff;
}
else
{
PWM=0x00;
}
}
}
void Time1Config()
{
TMOD|= 0x10;
TH1 = 0xFF;
TL1 = 0xff;
ET1 = 1;
EA = 1;
TR1 = 1;
}
void Time1(void) interrupt 3
{
TH1 = 0xff;
TL1 = 0xff;
timer1++;
count++;
}
|