罗程峰820 发表于 2024-10-17 16:23:14

VECENT_LIN 发表于 2024-9-27 19:32
WS2812 烟花灯
晚上的效果还是杠杠嘀!
Ai8051U, 灯光控制板,


楼主,能借鉴你这个烟花的算法吗?想学学关于2812的图形显示

VECENT_LIN 发表于 2024-10-18 17:32:31

罗程峰820 发表于 2024-10-17 16:23
楼主,能借鉴你这个烟花的算法吗?想学学关于2812的图形显示

这个要跟硬件电路的接法,然后再确定每个灯的位置,再控制就可以了{:5_272:}

angalp 发表于 2024-10-28 09:12:06

{:4_250:}

是三三啊 发表于 2024-12-14 21:54:23

<p>点灯大师出山了</p>

VECENT_LIN 发表于 2024-12-15 17:42:35

罗程峰820 发表于 2024-10-17 16:23
楼主,能借鉴你这个烟花的算法吗?想学学关于2812的图形显示

void M5(unsigned char color,unsigned char sd,unsigned int time)      
{u16 j,x;
      u32 x1,y;
      
         for(j=0;j<WS_NUM;j++)
         {
               WsDat=0x000000;
         }
         for(j=0;j<24;j++)
         {
                temp=seku1;
         }
         for(x=0;x<260;x=x+sd)
      {
                if(x<202)
                {
                for(j=0;j<210;j++)
         {
               WsDat=0x000000;
         }
}
               
                if(x<202)
                {
                        WsDat=caihongseku;
                        WsDat=caihongseku;
                        WsDat=caihongseku;
                        WsDat=caihongseku;
                        WsDat=caihongseku;
                        WsDat=caihongseku;
                        WsDat=caihongseku;
                        WsDat=caihongseku;
                }
          if(x>202&&x<205)
                {
                        sd=1;
                        for(y=0;y<6;y++)
         {
                        for(x1=0;x1<120;x1++)
                        {
                        WsDat=LBX;
                        }
                              }
                        }
                if(x>209)
                { for(x1=0;x1<24;x1++)
                        {
                switch(x1)
                {                     
                  case(0):if((x+x1*30+7)<=899)      {WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
                  case(1):if((x+x1*30-29+7)<=899)      {      WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
                  case(2):if((x+x1*30+7)<=899)      {      WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
                  case(3):if((x+x1*30-29+7)<=899)      {      WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
                  case(4):if((x+x1*30+7)<=899)      {      WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
                  case(5):if((x+x1*30-29+7)<=899)      {      WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
                  case(6):if((x+x1*30+7)<=899)      {      WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
                  case(7):if((x+x1*30-29+7)<=899)      {      WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
                  case(8):if((x+x1*30+7)<=899)      {      WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
                  case(9):if((x+x1*30-29+7)<=899)      {      WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
                  case(10):if((x+x1*30+7)<=899)      {      WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
                  case(11):if((x+x1*30-29+7)<=899)      {      WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
                  case(12):if((x+x1*30+7)<=899)      {      WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
                  case(13):if((x+x1*30-29+7)<=899)      {      WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
                  case(14):if((x+x1*30+7)<=899)      {      WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
                  case(15):if((x+x1*30-29+7)<=899)      {      WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
                  case(16):if((x+x1*30+7)<=899)      {      WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
                  case(17):if((x+x1*30-29+7)<=899)      {      WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
                  case(18):if((x+x1*30+7)<=899)      {      WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
                  case(19):if((x+x1*30-29+7)<=899)      {      WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
                  case(20):if((x+x1*30+7)<=899)      {      WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
                  case(21):if((x+x1*30-29+7)<=899)      {      WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
                  case(22):if((x+x1*30+7)<=899)      {      WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
                  case(23):if((x+x1*30-29+7)<=899)      {      WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;}break;
               
      }
                if (x>239)
                {WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;WsDat=caihongseku;
                }
                }
                }

      DIS();//显示子程序
                     
               
               
               
}

markxu 发表于 2025-2-18 10:58:32

YYDS

VECENT_LIN 发表于 2025-2-21 08:59:17

markxu 发表于 2025-2-18 10:58
YYDS

{:4_196:}

香河英茂工作室 发表于 2025-5-4 17:18:35

好看
页: 1 2 [3]
查看完整版本: AI8051U, 灯光控制板, PWM-DMA 直接驱动 WS2812