STC15W408AS用PWM做RGB全彩 ,手上有STC15W408AS 想做個5050RGB全彩 硬件和軟件CCP模塊PWM固定不變的三色已經調通,現在遇到一個問題 如何讓三路CCP,PWM的寬度如由 紅 綠 藍 紅藍 紅綠 綠藍 不同的PWMW寬度合成多種色 我想問的是在主程序中如何同時幾個CCPL和CCPH的值而改變PWM的寬度重而達改變顏色,下面是我改的值 根本行不通, 望高手們指點
單片機源程序如下:
void main()
{
// P1=0X00;
// P1M1 &= 0XFC;//P1.0設置為推挽輸出
// P1M0 |= 0x03;
P1M1 &= 0XFC;//P1.0設置為推挽輸出
P1M0 |= 0x03;
Timer0Init();
Pwm_Init();
// P1=0X00;
while(1)
{
// P1M1 &= 0XFC;//P1.0設置為推挽輸出
// P1M0 |= 0x03;
/* if(SW1 == 0)
{
delayms(100);
if(SW1 == 0);
{
while(SW1!=0);
// led=~led;
// led=1;
TR0=1;
// CR = !CR; //反轉控制位,啟動/關閉PCA計時器
//P1 =~P1;
// P1=~P1;
// delayms(100);
}
} */
// delayms(1);
// for(x=z;x>0;x--)
r=r-10;
if(r<0)
{
r=0xff ;
}
CCAP1L = r; //PWM占空比為50%[(40H-20H)/40H]
CCAP1H =r ;
b= b+10 ;
if(b>0xfe)
{
b=0;
}
CCAP2L = b; //PWM占空比為87.5%[(100H-20H)/100H] 1.5 0~255
CCAP2H =b;
}
}
|