標(biāo)題: STC單片機(jī)PWM做RGB全彩程序,如何同時(shí)幾個(gè)CCPL和CCPH的值而改變PWM的寬度? [打印本頁]

作者: 阿飛7812    時(shí)間: 2022-9-12 21:37
標(biāo)題: STC單片機(jī)PWM做RGB全彩程序,如何同時(shí)幾個(gè)CCPL和CCPH的值而改變PWM的寬度?
STC15W408AS用PWM做RGB全彩 ,手上有STC15W408AS 想做個(gè)5050RGB全彩 硬件和軟件CCP模塊PWM固定不變的三色已經(jīng)調(diào)通,現(xiàn)在遇到一個(gè)問題 如何讓三路CCP,PWM的寬度如由 紅 綠 藍(lán) 紅藍(lán) 紅綠 綠藍(lán) 不同的PWMW寬度合成多種色 我想問的是在主程序中如何同時(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;

        }         
}






歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1