[STC单片机] STC 15系列硬件PWM 呼吸灯看过来

[复制链接]
1358|1
 楼主| YO拉里多 发表于 2020-5-7 13:57 | 显示全部楼层 |阅读模式
最近想写个用PWM 做全彩呼吸灯,实现三路随机数字(比如R10,G180,B200)特定色彩呼吸程序,根据范例程序调试 输出三路PWM是可以的,但是呼吸程序怎么加进去呢,特定颜色三路想要同时到达(比如1S),需要怎么计算呢??下面代码是可以单路呼吸到最大值
  1. void main()
  2. {
  3.     Init_PWM();

  4.     while(1)
  5.     {
  6.         modify_duty();
  7.     }
  8. }

  9. void Init_PWM()         //  
  10. {
  11.     CMOD = 0X02;        //  

  12.     CCAPM0 = 0X42;      //  
  13.     PCA_PWM0 = 0X00;    //  
  14.     CCAP0L = 0x00;      //  
  15.     CCAP0H = 0X00;      //  
  16.    
  17.                 PCA_PWM1 = 0x00;
  18. CCAP1L=0x00;
  19. CCAP1H=0x00;
  20. CCAPM1=0x42;

  21. PCA_PWM2 = 0x00;
  22. CCAP2L=0x00;
  23. CCAP2H=0x00;
  24. CCAPM2=0x42;
  25.        
  26.        
  27.         CL=0;   //
  28.     CR =1;  //
  29. }

  30. void modify_duty()
  31. {
  32.    int i;
  33.        
  34.          for(i=255;i>=1;i--)
  35.    {
  36.        CCAP0H = i;
  37.                  CCAP1H = 0XFF;
  38.                  CCAP2H = 0XFF;
  39.        delay();
  40.    }
  41.    for(i=0;i<255;i++)
  42.    {
  43.        CCAP0H = i;
  44.                  CCAP1H = 0XFF;
  45.                  CCAP2H = 0XFF;
  46.        delay();
  47.    }
  48.   
  49.           for(i=255;i>=1;i--)
  50.    {
  51.        CCAP1H = i;
  52.                  CCAP0H = 0XFF;
  53.                  CCAP2H = 0XFF;
  54.        delay();
  55.    }
  56.          for(i=0;i<255;i++)
  57.    {
  58.        CCAP1H = i;
  59.                  CCAP0H = 0XFF;
  60.                  CCAP2H = 0XFF;
  61.        delay();
  62.    }
  63.   
  64.           for(i=255;i>=1;i--)
  65.    {
  66.        CCAP2H = i;
  67.                  CCAP0H = 0XFF;
  68.                  CCAP1H = 0XFF;
  69.        delay();
  70.    }
  71.          for(i=0;i<255;i++)
  72.    {
  73.        CCAP2H = i;
  74.                  CCAP0H = 0XFF;
  75.                  CCAP1H = 0XFF;
  76.        delay();
  77.    }
  78.   
  79. }

 楼主| YO拉里多 发表于 2020-5-7 15:24 | 显示全部楼层
**NT018 发表于 2020-5-7 15:07
如下图,ISP下载软件里有现成的范例程序,楼主先测试样一下

可以加您的联系方式在线请教下么?这个我烧进去RGB灯显示白色...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

72

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部