久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10168|回復: 37
收起左側

ws2811燈帶stc11f60xe二十多種彩虹等模式變換程序

  [復制鏈接]
ID:219527 發表于 2019-9-30 11:44 | 顯示全部樓層 |閱讀模式
單片機源程序如下:
  1. #ifndef __CAIDENGSHU_H__
  2. #define __CAIDENGSHU_H__

  3. #include <STC/STC12C5A60S2.h>
  4. #include <intrins.h>

  5. void WaterLampToCol19();
  6. void WaterLampToCol20();
  7. void WaterLampToCol21();
  8. void WaterLampToCol22();
  9. void WaterLampToCol23();
  10. void WaterLampToCol24();
  11. void WaterLampToCol25();
  12. void WaterLampToCol26();

  13. void WaterLampToCol27();
  14. void WaterLampToCol28();
  15. void WaterLampToCol29();  
  16. void WaterLampToCol30();
  17. void WaterLampToCol31();

  18. void WaterLampToCol32();     //藍光整段,,彩虹后面往前面流水,整段從左往右           七彩效果
  19. void WaterLampToCol33();    //藍光整段,,彩虹后面往前面流水,整段從右往左         
  20. void WaterLampToCol34();    //整段不發光,中間往兩邊流水,加兩邊向中間流水,循環三次

  21. void WaterLampToCol35();    //彩虹波浪流水,分許多8個為一組的小段
  22. void WaterLampToCol36();   //8個為一組的小段,,重點是變化的彩虹波浪

  23. void WaterLampToCol37();   //每七段一節,紅色流水,左右來回
  24. void WaterLampToCol41();   // 每八段一節,藍色流水,左右來回
  25. void WaterLampToCol42();    // 每七段一節,藍色流水,左右來回
  26. void WaterLampToCol43();    // 每七段一節,黃色流水,左右來回
  27. void WaterLampToCol44();    // 每七段一節,粉色流水,左右來回
  28.        

  29. void WaterLampToCol38();    //八燈一節,,七彩流水跑馬效果

  30. void WaterLampToCol39();    //藍光整段,,彩虹從左到右流過去      真正彩虹效果  
  31. void WaterLampToCol40();    //整段不發光,中間往兩邊流水,加兩邊向中間流水,循環三次

  32. void WaterLampToCol45();   //水滴向上升騰效果   綠光
  33. void WaterLampToCol46();    //水滴向上升騰效果   紅光
  34. void WaterLampToCol47();    //水滴向上升騰效果   藍光



  35. #endif
復制代碼

  1. #include "main.h"
  2. #include <STC/STC12C5A60S2.h>
  3. #include <intrins.h>                //因為要用到左右移函數,所以加入這個頭文件
  4. #include "caidengshu.h"

  5. unsigned long WsDat[nWs];

  6. //#define MAIN_Fosc                24000000L        //定義主時鐘   

  7. #define Black       0x000000  // 黑色


  8. sbit LED=P0^0;        


  9.   

  10.   unsigned char q;
  11.   unsigned char  h;
  12.                                                                  
  13.                                                                  
  14. void WS_SET(unsigned long color,unsigned char num);//燈條開指定的燈
  15. void WS_SET_Water_lamp(unsigned long color,unsigned int time);//流水燈不連接
  16. void WS_SET_Water_lamp_two(unsigned long color,unsigned int time);//流水燈連接
  17. void WS_SET_Water_lamp_two1(unsigned long color,unsigned int time);
  18. void Breathing_lamp(unsigned long color,unsigned int time);//呼吸燈-僅支持三原色
  19. void Breathing_lamp_Alternate(unsigned int time);//三色漸變交替
  20. void yigedianliushui(unsigned long color,unsigned int time);   //一個IC流水到左邊
  21. void WaterLampToCol2(unsigned long _uColor, unsigned int _uTime);
  22. void WS_L_SetAll();
  23. void WaterLampToCol3(unsigned long _uColor, unsigned int _uTime);
  24. void WaterLampToCol12(unsigned long  _uColor0,unsigned long  _uColor1, unsigned int  _uTime);
  25. void WaterLampToCol11( unsigned int uTime);
  26. void WaterLampToCol18( unsigned int uTime);
  27. void qingling();
  28. void WaterLampToCol11( unsigned int uTime);
  29. void yigedianliushui10(unsigned int time);


  30. void Delay1s()                //@24.000MHz
  31. {
  32.         unsigned char i, j;

  33.         _nop_();
  34.         _nop_();
  35.         i = 24;
  36.         j = 84;
  37.         do
  38.         {
  39.                 while (--j);
  40.         } while (--i);
  41. }




  42. void Delay1ms()                //@24.000MHz
  43. {
  44.         unsigned char i, j;

  45.         _nop_();
  46.         _nop_();
  47.         i = 24;
  48.         j = 84;
  49.         do
  50.         {
  51.                 while (--j);
  52.         } while (--i);
  53. }

  54. void delay_ms(unsigned int i)               
  55. {
  56.    while(i--)
  57.          {
  58.            Delay1ms();         
  59.          }
  60. }


  61. void Delay20ms()                //@24.000MHz
  62. {
  63.         unsigned char i, j, k;

  64.         i = 2;
  65.         j = 211;
  66.         k = 231;
  67.         do
  68.         {
  69.                 do
  70.                 {
  71.                         while (--k);
  72.                 } while (--j);
  73.         } while (--i);
  74. }




  75. void main ()   //主函數
  76. {  
  77.         
  78.    unsigned int x;
  79.         
  80.           qingling();
  81.                 P0M0=0X00;
  82.           P0M1=0X00;
  83.         
  84.         
  85.         // q=1;
  86.   //  ColorToColor(0X000000,0XFF0000);
  87.   //   ColorToColor(0XFF0000,0xFFFF00);
  88.   // ColorToColor(0xFFFF00,0Xffffff);
  89.   // ColorToColor(0Xffffff,0X00ffff);
  90.   //  ColorToColor(0X00ffff,0X0000ff);
  91.   //   ColorToColor(0X0000ff,0X000000);
  92.   // ColorToColor(0X000000,0X00FF00);
  93.   //  ColorToColor(0X00FF00,0x0FFFF0);
  94.   //  ColorToColor(0x0FFFF0,0Xffffff);
  95.   // ColorToColor(0Xffffff,0XFF00ff);
  96.   // ColorToColor(0XFF00ff,0XF0000f);
  97.   //  ColorToColor(0XF0000f,0X000000);

  98.     while(1)
  99.                 {
  100.                         
  101.                 Breathing_lamp_Alternate(5);//三色漸變交替
  102.                 delay_ms(1000);  
  103.                
  104.                           x=3;
  105.                         while(x--)
  106.                         {
  107.         WaterLampToCol45();    //水滴向上升騰效果    綠光
  108.                         }
  109.                         
  110.                                 x=3;
  111.                         while(x--)
  112.                         {
  113.         WaterLampToCol46();    //水滴向上升騰效果   紅光
  114.                         }
  115.                         
  116.                                 x=3;
  117.                         while(x--)
  118.                         {
  119.         WaterLampToCol47();    //水滴向上升騰效果   藍光
  120.                         }
  121.                         
  122.                         
  123.     WaterLampToCol38();    //八燈一節,,七彩流水跑馬效果

  124.                 WaterLampToCol39();    //藍光整段,,彩虹從左到右流過去      真正彩虹效果   

  125.                 WaterLampToCol40();    //整段不發光,中間往兩邊流水,加兩邊向中間流水,循環三次  

  126.           WaterLampToCol27();                   //粉光里流水三個藍光                     
  127.     delay_ms(200);
  128.                         
  129.       x=10;
  130.             while(x--)                      //七彩模式燈
  131.                  {
  132.                  WaterLampToCol19();
  133.                  delay_ms(200);        

  134.                  WaterLampToCol20();
  135.                         delay_ms(200);

  136.                  WaterLampToCol21();
  137.                   delay_ms(200);

  138.                  WaterLampToCol22();
  139.                   delay_ms(200);  

  140.                         WaterLampToCol23();                                       
  141.                    delay_ms(200);
  142.                         
  143.                         WaterLampToCol25();                                       
  144.                   delay_ms(200);
  145.                         
  146.                         WaterLampToCol25();                                       
  147.                    delay_ms(200);
  148.                         
  149.                         WaterLampToCol26();                                       
  150.                   delay_ms(200);
  151.                 }                                            

  152.                
  153.                   WaterLampToCol34();    //整段不發光,中間往兩邊流水,加兩邊向中間流水,循環三次
  154.    
  155.                   x=3;
  156.                   while(x--)
  157.                         {
  158.                     WaterLampToCol36();   //8個為一組的小段,,重點是變化的彩虹波浪  
  159.                         }                                
  160.                         
  161.                   WaterLampToCol37();   // 每七段一節,紅色流水,左右來回        
  162.             WaterLampToCol41();   // 每八段一節,藍色流水,左右來回
  163.                         WaterLampToCol42();    // 每七段一節,藍色流水,左右來回
  164.       WaterLampToCol43();    // 每七段一節,黃色流水,左右來回
  165.       WaterLampToCol44();    // 每七段一節,粉色流水,左右來回
  166.                


  167.                 x=3;                               //黃綠紅交替變換閃爍
  168.                 while(x--)   
  169.                         
  170.                 {
  171.                         WaterLampToCol28();
  172.                 }        
  173.                
  174.                 x=3;
  175.                 while(x--)
  176.                 {
  177.                   WaterLampToCol29();  
  178.                 }
  179.                 x=3;
  180.                 while(x--)
  181.                 {
  182.                   WaterLampToCol30();  
  183.                 }  
  184.                
  185.                     WS_SET_Water_lamp_two(0x00ff00,100);        //左邊往右邊黃光流水
  186.         
  187.                

  188.                   WS_SET_Water_lamp_two1(0x00ff00,100);    //右邊往左邊黃光流水

  189.                
  190.         
  191.                         
  192.                                 
  193.                 /*        WaterLampToCol3(0x10ff50 ,100);
  194.                          delay_ms(1000);        
  195.                          WaterLampToCol2(0x10ff50,100);
  196.                          delay_ms(1000);        
  197.                         WS_SET_Water_lamp_two(0x10ff50,100);//流水燈連接
  198.                          delay_ms(1000);        
  199.                           yigedianliushui(0x10ff50,100);
  200.                          delay_ms(1000);        
  201.                    WS_SET_Water_lamp_two1(0x10ff50,100);//流水燈連接
  202.                    delay_ms(1000);               
  203.              Breathing_lamp(0x10ff50,100);
  204.                          delay_ms(1000);
  205.                    DisP_R_G_B(20);
  206.                                  delay_ms(1000);  */        
  207.                                 

  208.                 }   

  209. }

  210. void yigedianliushui10(unsigned int time)   //粉光里面黃光流水
  211. {
  212.      unsigned char j,x,m;
  213.            unsigned long led,xishu,xishu1;
  214.      led=0x01;        
  215.            xishu=1;
  216.            xishu1=0;
  217.         
  218.            for(x=0;x<LED_N;x++)
  219.            {                             
  220.                            for(j=12;j>0;j--)
  221.                      {
  222.                                          led=_crol_(led,1);
  223.                                          for(m=0;m<8;m++)
  224.                                          {
  225.                                                  xishu1=xishu*2;
  226.                                                  xishu1=led/xishu;
  227.                                                  if(xishu1==1)
  228.                                                  {
  229.                                                          DisP_Color(0x20ff50);
  230.                                                  }                        
  231.                                                 else
  232.                                                 {
  233.                                                    DisP_Color(0x20ff00);                        
  234.                                                 }        
  235.                                    }
  236.                                  }
  237.          reset();                        
  238.          delay_ms(time);                                 
  239.                  }           
  240. }



  241. void delay(unsigned int time)   //延時
  242. {  
  243.         
  244.         unsigned int i,j,k;
  245.    for(j=0;j<time;j++)
  246.            for(i=0;i<time;i++)
  247.        for(k=0;k<time;k++)
  248.           Delay();
  249. }



  250. void Delay()                //@24.000MHz
  251. {
  252.         _nop_();
  253. }


  254. void reset(void)
  255. {
  256.    int i;
  257.    LED=0;
  258. for(i=0;i<50;i++)
  259. {
  260.          Delay();
  261. }  
  262. }


  263. void T0(void)
  264. {
  265.   LED=1;
  266.   LED=0;
  267.   Delay();         
  268. }


  269. void T1(void)
  270. {
  271.   LED=1;
  272.   Delay();
  273.   LED=0;
  274. }



  275. void  qingling()
  276. {
  277.                 unsigned char i;
  278.                 for(i=0;i<nWs;i++)
  279.         {
  280.                 DisP_Color(WsDat[0x000000]);
  281.         }
  282.         reset();
  283. }
  284. void DisP_Color(unsigned long dat)                                 //控制一個燈
  285. {           unsigned int i;
  286.              for(i=0;i<24;i++)
  287.                    {  
  288.                                  if(0x800000 == (dat & 0x800000))  T1();
  289.                 else       T0();
  290.                 dat<<=1;                                                        //左移一位
  291.                    }
  292. }

  293. void DisP_ALLColor(unsigned long dat)         //控制所有燈         
  294. {
  295.          int j;         
  296.    for(j=0;j<LED_N;j++) DisP_Color(dat);
  297.    reset();
  298. }



  299. void DisP_R_G_B(unsigned int j)                    //RGB漸變
  300. {  
  301.     unsigned long i=0;
  302.     while(i<0xffffff)
  303.           {
  304.              if(i<0xff)  DisP_ALLColor(i++);         
  305.                    else if(i<0xffff)
  306.         {
  307.                                 i=i+0x100;
  308.                                 DisP_ALLColor(i);
  309.                                 }
  310.                   else if(i<0xffffff)
  311.         {i=i+0x10000;
  312.                                 DisP_ALLColor(i);
  313.                                 }
  314.               delay(j);
  315.          }                  
  316.         while(i>0)
  317.          {
  318.          if(i>0xffff00)  DisP_ALLColor(i--);         
  319.                    else if(i>0xff0000) {i=i-0x100;        DisP_ALLColor(i);}
  320.                 else if(i>0)  {i=i-0x10000;DisP_ALLColor(i);}
  321.                 delay(j);
  322.          }        
  323.         reset();
  324. }



  325. unsigned char abs0(int num)
  326. {
  327.         if(num>0) return num;
  328.         
  329.         num = -num;
  330.         return (unsigned char) num;
  331. }
  332.          
  333. unsigned long ColorToColor(unsigned long color0, unsigned long color1)
  334. {
  335.         unsigned char Red0, Green0, Blue0;  // 起始三原色
  336.         unsigned char Red1, Green1, Blue1;  // 結果三原色
  337.         int  RedMinus, GreenMinus, BlueMinus;        // 顏色差(color1 - color0)
  338.         unsigned char NStep;                                                         // 需要幾步
  339.         float    RedStep, GreenStep, BlueStep;                // 各色步進值
  340.         unsigned long color;                                                        // 結果色
  341.         unsigned char i;
  342.         
  343.         // 綠 紅 藍 三原色分解
  344.         Red0   = color0>>8;
  345.         Green0 = color0>>16;
  346.         Blue0  = color0;
  347.         
  348.         Red1   = color1>>8;
  349.         Green1 = color1>>16;
  350.         Blue1  = color1;
  351.         
  352.         // 計算需要多少步(取差值的最大值)
  353.         RedMinus   = Red1 - Red0;
  354.         GreenMinus = Green1 - Green0;
  355.         BlueMinus  = Blue1 - Blue0;
  356.         
  357.         NStep = ( abs0(RedMinus) > abs0(GreenMinus) ) ? abs0(RedMinus):abs0(GreenMinus);
  358.         NStep = ( NStep > abs0(BlueMinus) ) ? NStep:abs0(BlueMinus);
  359.         
  360.         // 計算出各色步進值
  361.         RedStep   = (float)RedMinus   / NStep;
  362.         GreenStep = (float)GreenMinus / NStep;
  363.         BlueStep  = (float)BlueMinus  / NStep;
  364.         
  365.         // 漸變開始
  366.         for(i=0; i<NStep; i++)
  367.         {
  368.                 Red1   = Red0   + (char)(RedStep   * i);
  369.                 Green1 = Green0 + (char)(GreenStep * i);
  370.                 Blue1  = Blue0  + (char)(BlueStep  * i);
  371.                
  372.                 color  = (((unsigned long)Green1<<16)&0XFF0000) | ((Red1<<8)&0XFF00) | Blue1&0XFF;         // 合成  綠紅藍                        
  373.                 WsDat[i] = color;
  374.                 DisP_ALLColor(color) ;
  375.                         
  376.                           delay(15)  ;                                          // 漸變速度
  377.         }
  378.         
  379.         
  380.         return color;
  381. }




  382. void WS_SET(unsigned long color,unsigned char num)    //
  383. {
  384.      unsigned char j;
  385.            for(j=0;j<LED_N;j++)
  386.            {
  387.                      if(j<num)
  388.                                  {
  389.                                          DisP_Color(color);
  390.                                  }
  391.          else
  392.          {
  393.             DisP_Color(Black);                        
  394.                                  }                                         
  395.                  }         
  396.        reset();
  397. }
  398. void WS_SET_Water_lamp(unsigned long color,unsigned int time)
  399. {
  400.      unsigned char j,x;
  401.            for(x=0;x<LED_N;x++)
  402.            {
  403.                            for(j=0;j<LED_N;j++)
  404.                      {
  405.                                           if(j==x)
  406.                                                 {
  407.                                                    DisP_Color(color);
  408.                                                 }
  409.                                                 else
  410.                                                 {
  411.                                                    DisP_Color(0x20ff00);                        
  412.                                                 }        
  413.                                  }
  414.          reset();                                 
  415.         delay_ms(time);                                 
  416.                  }           
  417. }
  418. void WS_SET_Water_lamp_two(unsigned long color,unsigned int time)   //左邊往右邊流水
  419. {
  420.      unsigned char j,x;
  421.            for(x=0;x<nWs;x++)
  422.            {
  423.                            for(j=0;j<nWs;j++)
  424.                      {
  425.                                           if(j<x)
  426.                                                 {
  427.                                                    DisP_Color(color);
  428.                                                 }
  429.                                                 else
  430.                                                 {
  431.                                                   DisP_Color(0x9f9f9f);                        
  432.                                                 }        
  433.                                  }
  434.          reset();                        
  435.         delay_ms(time);                                 
  436.                  }           
  437. }
  438. void WS_SET_Water_lamp_two1(unsigned long color,unsigned int time)   //右邊往左邊流水
  439. {
  440.      unsigned char j,x;
  441.            for(x=0;x<nWs;x++)
  442.            {
  443.                            for(j=nWs;j>0;j--)
  444.                      {
  445.                                           if(j<x)
  446.                                                 {
  447.                                                    DisP_Color(color);
  448.                                                 }
  449.                                                 else
  450.                                                 {
  451.                                                   DisP_Color(0x9f9f9f);                        
  452.                                                 }        
  453.                                  }
  454.          reset();                        
  455.          delay_ms(time);                                 
  456.                  }           
  457. }

  458. void yigedianliushui(unsigned long color,unsigned int time)   //一個IC流水到左邊
  459. {
  460.      unsigned char j,x,m;
  461.            unsigned long led,xishu,xishu1;
  462.      led=0x01;        
  463.            xishu=1;
  464.            xishu1=0;
  465.            for(x=0;x<LED_N;x++)
  466.            {                             
  467.                            for(j=12;j>0;j--)
  468.                      {
  469.                                          led=_crol_(led,1);
  470.                                          for(m=0;m<8;m++)
  471.                                          {
  472.                                                  xishu1=xishu*2;
  473.                                                  xishu1=led/xishu;
  474.                                                  if(xishu1==1)
  475.                                                  {
  476.                                                          DisP_Color(color);
  477.                                                  }                        
  478.                                                 else
  479.                                                 {
  480.                                                   DisP_Color(0x9f9f9f);                        
  481.                                                 }        
  482.                                    }
  483.                                  }
  484.          reset();                        
  485.          delay_ms(time);                                 
  486.                  }           
  487. }


  488. void Breathing_lamp(unsigned long color,unsigned int time)
  489. {
  490.      unsigned char j,x,r,g,b,move;
  491.           unsigned long color0,color1;
  492.            r=color>>8;
  493.            g=color;
  494.            b=color>>16;
  495.            if(r!=0)
  496.                  {
  497.                          color0=r;move=8;
  498.      }
  499.                  if(g!=0)
  500.                  {
  501.                          color0=g;move=0;
  502.                  }         
  503.                  if(b!=0)        
  504.      {
  505.                          color0=b;move=16;                 
  506.      }
  507.                  for(x=0;x<127;x++)
  508.            {
  509.                            color1=color0<<move;
  510.                            for(j=0;j<LED_N;j++)
  511.                      {
  512.                                           DisP_Color(color1);
  513.                                             
  514.                                  }
  515.                                  color0=color0-2;
  516.          reset();                        
  517.         delay_ms(time);                                 
  518.                  }
  519.                  for(x=0;x<127;x++)
  520.            {
  521.                            color1=color0<<move;
  522.                            for(j=0;j<LED_N;j++)
  523.                      {
  524.                                            DisP_Color(color1);
  525.                                             
  526.                                  }
  527.                                  color0=color0+2;
  528.          reset();                        
  529.         delay_ms(time);                                 
  530.                  }
  531. }
  532. void Breathing_lamp_Alternate(unsigned int time)
  533. {
  534.             unsigned char j,x,num,move;
  535.             unsigned long color0,color1;
  536.             for(num=0;num<3;num++)
  537.             {
  538.                                   color0=0;
  539.           move=8*num;                                                
  540.                                         for(x=0;x<127;x++)
  541.                                         {
  542.                                                   color1=color0<<move;
  543.                                                         for(j=0;j<LED_N;j++)
  544.                                                         {
  545.                                                                  DisP_Color(color1);
  546.                                                         }
  547.                                                         color0=color0+2;
  548.                                                           reset();                 
  549.                                                         delay_ms(time);                                 
  550.                                         }
  551.                                          for(x=0;x<127;x++)
  552.                                          {
  553.                                                    color1=color0<<move;
  554.                                                          for(j=0;j<LED_N;j++)
  555.                                                          {
  556.                                                                          DisP_Color(color1);
  557.                                                                                 
  558.                                                          }
  559.                                                          color0=color0-2;
  560.                                                           reset();                        
  561.                                                         delay_ms(time);                                 
  562.                                          }
  563.                   }                                         
  564. }

  565. /*
  566. *********************************************************************************************************
  567. *        函 數 名: WaterLampToCol2
  568. *        功能說明: 單組燈移位顯示
  569. *        形    參:_uColor         點亮顏色
  570. *                          _uTime        移位速度
  571. *        返 回 值: 無
  572. *********************************************************************************************************
  573. */
  574. void WaterLampToCol2(unsigned long _uColor, unsigned int _uTime)
  575. {
  576.         unsigned char i, j;
  577.         unsigned long Red2,Green2, Blue2;  // 三原色
  578.         
  579.         Red2  = _uColor>>8;
  580.         Green2 = _uColor>>16;
  581.         Blue2  = _uColor;
  582.         
  583.         for (i = 0; i < nWs; i++)
  584.         {
  585.                 for (j = 0; j < i; j++)
  586.                 {
  587.                 //        Red2 = Red2 + 0x22;
  588.                         //Green2 = Green2 + 0x22;
  589.                         Blue2 = Blue2 + 0x22;
  590.                         _uColor = Green2<<16 | Red2<<8 | Blue2;
  591.                         
  592.                    //        _uColor = _uColor + 0xfffff*i;
  593.                         WsDat[j] = _uColor;
  594.                 }
  595.                 WS_L_SetAll();
  596.                 delay_ms(_uTime);
  597.         //        memset(WsDat, 0, sizeof(WsDat));
  598.         }
  599. }
  600. /*
  601. *********************************************************************************************************
  602. *        函 數 名: WaterLampToCol3
  603. *        功能說明: 從中點向兩端移動
  604. *        形    參:_uColor         點亮顏色
  605. *                          _uTime        移位速度
  606. *        返 回 值: 無
  607. *********************************************************************************************************
  608. */
  609. void WaterLampToCol3(unsigned long _uColor, unsigned int _uTime)
  610. {
  611.         unsigned char i;
  612.         
  613.         for (i = nWs/2; i < nWs; i++)
  614.         {
  615.                 _uColor = _uColor + 0xfffff*i;
  616.                 WsDat[i] = _uColor;
  617.                 WsDat[nWs/2 -(i - nWs/2)] = _uColor;
  618.                 WS_L_SetAll();
  619.                 delay_ms(_uTime);
  620.         }

  621. }


  622. void WS_L_SetAll()
  623. {
  624.         unsigned char j;
  625.         
  626.         for (j=0; j<nWs; j++)
  627.         {
  628.                 DisP_Color(WsDat[j]);  // j 級聯個數/ 0
  629.         }
  630.         reset();
  631. }
  632. /*
  633. *********************************************************************************************************
  634. *        函 數 名: WaterLampToCol12(可用)
  635. *        功能說明: 從后向前移動(跳一個)
  636. *        形    參:_uColor         點亮顏色
  637. *                          _uTime        移位速度
  638. *        返 回 值: 無
  639. *********************************************************************************************************
  640. */
  641. void WaterLampToCol12(unsigned long  _uColor0,unsigned long  _uColor1, unsigned int  _uTime)
  642. ……………………

  643. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有程序51hei提供下載:
caideng - 七彩燈帶 各種 104IC.zip (142.88 KB, 下載次數: 568)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

回復

使用道具 舉報

ID:219527 發表于 2019-9-30 11:46 | 顯示全部樓層
效果絕對好看,只要時序改一下,和IC芯片改一下,可以應用到各種類型IC上
回復

使用道具 舉報

ID:396274 發表于 2020-6-8 00:46 | 顯示全部樓層
謝謝樓主的共享,太有用了!
回復

使用道具 舉報

ID:107984 發表于 2020-6-23 17:15 | 顯示全部樓層
期待,謝謝樓主
回復

使用道具 舉報

ID:837776 發表于 2020-11-3 16:01 | 顯示全部樓層
好東西,果斷下載
回復

使用道具 舉報

ID:652804 發表于 2020-12-19 14:44 | 顯示全部樓層
謝謝樓主的共享,太有用了!
回復

使用道具 舉報

ID:161093 發表于 2021-1-9 11:25 | 顯示全部樓層
謝謝樓主的分享,好東西,果斷下載
回復

使用道具 舉報

ID:143767 發表于 2021-1-9 21:20 | 顯示全部樓層
問下樓主,多少個彩燈是一組,總共可帶多少彩燈,謝謝
回復

使用道具 舉報

ID:230742 發表于 2021-1-10 22:24 | 顯示全部樓層
51黑有你更精彩!感謝分享!
回復

使用道具 舉報

ID:918068 發表于 2021-5-9 15:08 | 顯示全部樓層
問下樓主,彩虹混色的的算法里面有沒?
回復

使用道具 舉報

ID:156220 發表于 2021-5-11 09:05 | 顯示全部樓層
謝謝樓主的共享,太有用了!
回復

使用道具 舉報

ID:620326 發表于 2021-5-13 12:43 | 顯示全部樓層
這個很牛啊,好長的一個程序
回復

使用道具 舉報

ID:927015 發表于 2021-6-3 11:10 | 顯示全部樓層
謝謝開源,看看
回復

使用道具 舉報

ID:849826 發表于 2021-12-29 17:44 來自手機 | 顯示全部樓層
誰做出來了 發個效果圖看看
回復

使用道具 舉報

ID:88256 發表于 2021-12-29 19:21 | 顯示全部樓層
如果有視頻參考就好了
回復

使用道具 舉報

ID:423238 發表于 2022-1-2 15:23 來自手機 | 顯示全部樓層
樓主提供個單片機引腳圖,網上搜不到
回復

使用道具 舉報

ID:826754 發表于 2022-4-22 11:33 | 顯示全部樓層
很有用,正在用TM1804的來做,參考一下
回復

使用道具 舉報

ID:465596 發表于 2022-11-3 17:25 | 顯示全部樓層
謝謝分享,準備做一個酒柜燈
回復

使用道具 舉報

ID:433219 發表于 2022-11-7 20:41 | 顯示全部樓層
流水燈 加強版
回復

使用道具 舉報

ID:685503 發表于 2022-11-16 03:39 來自手機 | 顯示全部樓層
看下效果
回復

使用道具 舉報

ID:433219 發表于 2022-11-17 16:46 | 顯示全部樓層
加強版的mcu流水燈?   要有視頻就更好了
回復

使用道具 舉報

ID:701896 發表于 2022-12-27 13:14 | 顯示全部樓層
很實用,用空試下效果
回復

使用道具 舉報

ID:399179 發表于 2023-4-11 21:05 來自手機 | 顯示全部樓層
有沒有試過最多能帶多少個燈?
回復

使用道具 舉報

ID:46750 發表于 2023-5-17 22:33 | 顯示全部樓層
謝謝樓主的共享,太有用了!
回復

使用道具 舉報

ID:224580 發表于 2023-8-17 10:40 | 顯示全部樓層
謝謝樓主,已下載,回來慢慢研究。
回復

使用道具 舉報

ID:224580 發表于 2023-8-23 12:16 | 顯示全部樓層
下載研究了幾天,還是很多看不懂,還是要多多向大神學習。
回復

使用道具 舉報

ID:169559 發表于 2023-8-26 16:11 | 顯示全部樓層
還是很多看不懂
回復

使用道具 舉報

ID:27499 發表于 2023-10-16 23:37 | 顯示全部樓層
好東西要好好研究下
回復

使用道具 舉報

ID:433219 發表于 2023-10-17 08:08 | 顯示全部樓層
ws2811  燈珠都好大,有沒有類似0805大小的封裝???
回復

使用道具 舉報

ID:432633 發表于 2023-10-20 09:19 | 顯示全部樓層
WS2812的燈珠 能用嗎
回復

使用道具 舉報

ID:1096871 發表于 2023-10-23 16:33 | 顯示全部樓層
想下載測試一下,感謝樓主
回復

使用道具 舉報

ID:1096871 發表于 2023-10-23 16:34 | 顯示全部樓層
wkman 發表于 2023-10-17 08:08
ws2811  燈珠都好大,有沒有類似0805大小的封裝???

2020封裝應該是最小的了吧,我用的WS2812B-2020
回復

使用道具 舉報

ID:399179 發表于 2023-12-21 10:31 來自手機 | 顯示全部樓層
有做成功的嗎?
回復

使用道具 舉報

ID:433219 發表于 2023-12-21 16:18 | 顯示全部樓層
發表于 2023-10-23 16:34
2020封裝應該是最小的了吧,我用的WS2812B-2020

找到個1.3mm尺寸的    WS2812E-1313  應該最小了吧 ??? 立創/6342412.html
回復

使用道具 舉報

ID:433219 發表于 2023-12-22 08:14 | 顯示全部樓層
珠與淚的結合 發表于 2023-10-23 16:34
2020封裝應該是最小的了吧,我用的WS2812B-2020

被你這一說還去搜索了下,1615更小,,,又找到個1313更小,,,還有個1010,才是最小!!!

回復

使用道具 舉報

ID:983339 發表于 2024-12-2 14:53 | 顯示全部樓層
謝謝樓主的共享,太有用了!
回復

使用道具 舉報

ID:1128870 發表于 2024-12-7 09:41 | 顯示全部樓層
謝謝開源,學習了!不知道能不能移植到其他的單片機使用
回復

使用道具 舉報

ID:685503 發表于 2024-12-8 07:16 | 顯示全部樓層
本帖最后由 jochina 于 2024-12-8 11:18 編輯

沒啥好玩的,隨便就做了,。

24燈板.jpg
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人免费网站 | 国产成人麻豆免费观看 | 一区二区三区视频在线 | 在线日韩视频 | 久久免费精品视频 | 欧美一级欧美三级在线观看 | av在线一区二区 | 中文字幕视频一区 | 日日夜夜草 | 欧美成视频 | aaa天堂| 精品精品 | 国产999精品久久久 午夜天堂精品久久久久 | av播播 | 久久国产精品一区二区三区 | 亚洲成人免费视频 | 精品久久久久久18免费网站 | 国产欧美在线视频 | 美女国产一区 | 成人精品一区二区三区中文字幕 | 日本一区二区不卡 | 午夜激情影院 | 日韩一级电影免费观看 | www97影院| 在线欧美视频 | 国产精品一区二区在线 | 一区二区三区免费 | 一级毛片免费看 | 国产精品日韩欧美一区二区三区 | 精品在线观看一区 | 91av在线免费播放 | 美日韩中文字幕 | 欧美日韩在线一区二区 | 久久久久久成人 | 久久精品国产亚洲一区二区三区 | 中文字幕一区二区三区在线视频 | 久久99精品久久久97夜夜嗨 | 成人h视频在线观看 | 波多野结衣精品 | 国产一级在线观看 | 99热这里只有精品8 激情毛片 |