VECENT_LIN 发表于 2024-2-3 16:04:09

30级渐变,显示
{:4_166:}{:4_166:}{:4_168:}

AI-32位8051 发表于 2024-2-4 09:31:17

900颗WS2812灯焊接也是大工程!看了视频效果很震撼!楼主YYDS!!@USB,STC8H8K64U,PWM功能真是太强大了!





VECENT_LIN 发表于 2024-2-4 10:42:16

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();//显示子程序
                       
               
               
               
}

VECENT_LIN 发表于 2024-2-4 10:50:19

效果控制最麻烦就是要确定每颗灯的位置,很容易看花眼{:4_167:}{:4_167:}{:4_167:}

VECENT_LIN 发表于 2024-2-4 10:52:31

STCAI-32位8051 发表于 2024-2-4 09:31
900颗WS2812灯焊接也是大工程!看了视频效果很震撼!楼主YYDS!!@USB,STC8H8K64U,PWM功能真是太强大了! ...

谢谢!

VECENT_LIN 发表于 2024-2-4 10:55:11

VECENT_LIN 发表于 2024-2-4 10:42
void M5(unsigned char color,unsigned char sd,unsigned int time)       
{u16 j,x;
        u32 x1,y;


效果控制最麻烦就是确定每颗灯的位置,容易看花眼{:4_167:}

神农鼎 发表于 2024-2-4 10:55:25

最近 梁工他们在推荐 DMA-SPI 直接涮 WS2812

【新提醒】SPI DMA 输出控制WS2812三基色彩灯程序,不加反相器,STC8/STC32 - DMA: 支持4组串口,3组SPI,I2C,TFT-i8080/M6800,ADC - 国芯论坛-STC全球32位8051爱好者互助交流社区 - STC全球32位8051爱好者互助交流社区 (stcaimcu.com)

VECENT_LIN 发表于 2024-2-4 11:05:08

神农鼎 发表于 2024-2-4 10:55
最近 梁工他们在推荐 DMA-SPI 直接涮 WS2812

【新提醒】SPI DMA 输出控制WS2812三基色彩灯程序,不加反相 ...

有测试过,只刷到300颗{:4_167:}

神农鼎 发表于 2024-2-4 11:07:13

你电话 梁工 【139-2282,9991】 拜个早年,请他交代下,为何 ?
可以用 STC32G12K64 / STC32G12K128, 这些 【DMA-SPI 的缓冲区】 可以 8K
可以用 STC32G8K48 / STC32G8K64, 这些 【DMA-SPI 的缓冲区】 可以 6K


大明狐 发表于 2024-2-4 11:13:11

{:4_202:}{:4_202:}{:4_202:}


页: 1 2 [3] 4 5 6 7 8 9 10 11 12
查看完整版本: USB型MCU, 8H8K64U驱动900颗WS2812烟花灯放烟花,高速/安全,过年了 !