|
STC15W408AS用PWM做RGB全彩 ,手上有STC15W408AS 想做個(gè)5050RGB全彩 硬件和軟件CCP模塊PWM固定不變的三色已經(jīng)調(diào)通,現(xiàn)在遇到一個(gè)問(wèn)題 如何讓三路CCP,PWM的寬度如由 紅 綠 藍(lán) 紅藍(lán) 紅綠 綠藍(lán) 不同的PWMW寬度合成多種色 我想問(wèn)的是在主程序中如何同時(shí)幾個(gè)CCPL和CCPH的值而改變PWM的寬度重而達(dá)改變顏色,下面是我改的值 根本行不通, 望高手們指點(diǎn)
單片機(jī)源程序如下:
void main()
{
// P1=0X00;
// P1M1 &= 0XFC;//P1.0設(shè)置為推挽輸出
// P1M0 |= 0x03;
P1M1 &= 0XFC;//P1.0設(shè)置為推挽輸出
P1M0 |= 0x03;
Timer0Init();
Pwm_Init();
// P1=0X00;
while(1)
{
// P1M1 &= 0XFC;//P1.0設(shè)置為推挽輸出
// P1M0 |= 0x03;
/* if(SW1 == 0)
{
delayms(100);
if(SW1 == 0);
{
while(SW1!=0);
// led=~led;
// led=1;
TR0=1;
// CR = !CR; //反轉(zhuǎn)控制位,啟動(dòng)/關(guān)閉PCA計(jì)時(shí)器
//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;
}
}
|
|