找回密码
 立即注册
楼主: VECEN***

USB,STC8H8K64U放烟花,高速/安全,驱动900颗烟花灯,过年了

[复制链接]
  • TA的每日心情
    开心
    昨天 09:04
  • 签到天数: 79 天

    [LV.6]常住居民II

    11

    主题

    157

    回帖

    475

    积分

    中级会员

    积分
    475
     楼主| 发表于 2024-2-3 16:04:09 | 显示全部楼层
    30级渐变,显示

    47941f1768a949c17aaffafd001c1477.mp4

    19.52 MB, 下载次数: 91

    专注LED灯控,25年LED从业经验,因为专注所以专业,欢迎大家沟通交流!
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    2024-1-24 13:08
  • 签到天数: 1 天

    [LV.1]初来乍到

    8

    主题

    705

    回帖

    1178

    积分

    超级版主

    积分
    1178
    发表于 2024-2-4 09:31:17 | 显示全部楼层
      900颗WS2812灯焊接也是大工程!看了视频效果很震撼!楼主YYDS!!@USB,STC8H8K64U,PWM功能真是太强大了!


    截图202402040931071616.jpg


    STC官网:https://www.stcai.com/
    QQ:2593903262
    微信号:18106296598
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 09:04
  • 签到天数: 79 天

    [LV.6]常住居民II

    11

    主题

    157

    回帖

    475

    积分

    中级会员

    积分
    475
     楼主| 发表于 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[j]=0x000000;
             }
             for(j=0;j<24;j++)
             {
                    temp[j]=seku1[j];
             }
             for(x=0;x<260;x=x+sd)
            {
                    if(x<202)
                    {
                    for(j=0;j<210;j++)
             {
                     WsDat[j]=0x000000;
             }
    }
                   
                    if(x<202)
                    {
                            WsDat[x]=caihongseku[color][7];
                            WsDat[x+1]=caihongseku[color][6];
                            WsDat[x+2]=caihongseku[color][5];
                            WsDat[x+3]=caihongseku[color][4];
                            WsDat[x+4]=caihongseku[color][3];
                            WsDat[x+5]=caihongseku[color][2];
                            WsDat[x+6]=caihongseku[color][1];
                            WsDat[x+7]=caihongseku[color][0];
                    }
              if(x>202&&x<205)
                    {
                            sd=1;
                            for(y=0;y<6;y++)
             {
                            for(x1=0;x1<120;x1++)
                            {
                              WsDat[180+x1+y*120]=LBX[x1];
                            }
                                    }
                            }
                    if(x>209)
                    { for(x1=0;x1<24;x1++)
                            {
                    switch(x1)
                    {                       
                      case(0):if((x+x1*30+7)<=899)        {WsDat[x+x1*30]=caihongseku[color][7];WsDat[x+x1*30+1]=caihongseku[color][6];WsDat[x+x1*30+2]=caihongseku[color][5];WsDat[x+x1*30+3]=caihongseku[color][4];WsDat[x+x1*30+4]=caihongseku[color][3];WsDat[x+x1*30+5]=caihongseku[color][2];WsDat[x+x1*30+6]=caihongseku[color][1];WsDat[x+x1*30+7]=caihongseku[color][0];}break;
                      case(1):if((x+x1*30-29+7)<=899)        {        WsDat[x+x1*30-29]=caihongseku[color][7];WsDat[x+x1*30-29+1]=caihongseku[color][6];WsDat[x+x1*30-29+2]=caihongseku[color][5];WsDat[x+x1*30-29+3]=caihongseku[color][4];WsDat[x+x1*30-29+4]=caihongseku[color][3];WsDat[x+x1*30-29+5]=caihongseku[color][2];WsDat[x+x1*30-29+6]=caihongseku[color][1];WsDat[x+x1*30-29+7]=caihongseku[color][0];}break;
                      case(2):if((x+x1*30+7)<=899)        {        WsDat[x+x1*30]=caihongseku[color][7];WsDat[x+x1*30+1]=caihongseku[color][6];WsDat[x+x1*30+2]=caihongseku[color][5];WsDat[x+x1*30+3]=caihongseku[color][4];WsDat[x+x1*30+4]=caihongseku[color][3];WsDat[x+x1*30+5]=caihongseku[color][2];WsDat[x+x1*30+6]=caihongseku[color][1];WsDat[x+x1*30+7]=caihongseku[color][0];}break;
                      case(3):if((x+x1*30-29+7)<=899)        {        WsDat[x+x1*30-29]=caihongseku[color][7];WsDat[x+x1*30-29+1]=caihongseku[color][6];WsDat[x+x1*30-29+2]=caihongseku[color][5];WsDat[x+x1*30-29+3]=caihongseku[color][4];WsDat[x+x1*30-29+4]=caihongseku[color][3];WsDat[x+x1*30-29+5]=caihongseku[color][2];WsDat[x+x1*30-29+6]=caihongseku[color][1];WsDat[x+x1*30-29+7]=caihongseku[color][0];}break;
                      case(4):if((x+x1*30+7)<=899)        {        WsDat[x+x1*30]=caihongseku[color][7];WsDat[x+x1*30+1]=caihongseku[color][6];WsDat[x+x1*30+2]=caihongseku[color][5];WsDat[x+x1*30+3]=caihongseku[color][4];WsDat[x+x1*30+4]=caihongseku[color][3];WsDat[x+x1*30+5]=caihongseku[color][2];WsDat[x+x1*30+6]=caihongseku[color][1];WsDat[x+x1*30+7]=caihongseku[color][0];}break;
                      case(5):if((x+x1*30-29+7)<=899)        {        WsDat[x+x1*30-29]=caihongseku[color][7];WsDat[x+x1*30-29+1]=caihongseku[color][6];WsDat[x+x1*30-29+2]=caihongseku[color][5];WsDat[x+x1*30-29+3]=caihongseku[color][4];WsDat[x+x1*30-29+4]=caihongseku[color][3];WsDat[x+x1*30-29+5]=caihongseku[color][2];WsDat[x+x1*30-29+6]=caihongseku[color][1];WsDat[x+x1*30-29+7]=caihongseku[color][0];}break;
                      case(6):if((x+x1*30+7)<=899)        {        WsDat[x+x1*30]=caihongseku[color][7];WsDat[x+x1*30+1]=caihongseku[color][6];WsDat[x+x1*30+2]=caihongseku[color][5];WsDat[x+x1*30+3]=caihongseku[color][4];WsDat[x+x1*30+4]=caihongseku[color][3];WsDat[x+x1*30+5]=caihongseku[color][2];WsDat[x+x1*30+6]=caihongseku[color][1];WsDat[x+x1*30+7]=caihongseku[color][0];}break;
                      case(7):if((x+x1*30-29+7)<=899)        {        WsDat[x+x1*30-29]=caihongseku[color][7];WsDat[x+x1*30-29+1]=caihongseku[color][6];WsDat[x+x1*30-29+2]=caihongseku[color][5];WsDat[x+x1*30-29+3]=caihongseku[color][4];WsDat[x+x1*30-29+4]=caihongseku[color][3];WsDat[x+x1*30-29+5]=caihongseku[color][2];WsDat[x+x1*30-29+6]=caihongseku[color][1];WsDat[x+x1*30-29+7]=caihongseku[color][0];}break;
                      case(8):if((x+x1*30+7)<=899)        {        WsDat[x+x1*30]=caihongseku[color][7];WsDat[x+x1*30+1]=caihongseku[color][6];WsDat[x+x1*30+2]=caihongseku[color][5];WsDat[x+x1*30+3]=caihongseku[color][4];WsDat[x+x1*30+4]=caihongseku[color][3];WsDat[x+x1*30+5]=caihongseku[color][2];WsDat[x+x1*30+6]=caihongseku[color][1];WsDat[x+x1*30+7]=caihongseku[color][0];}break;
                      case(9):if((x+x1*30-29+7)<=899)        {        WsDat[x+x1*30-29]=caihongseku[color][7];WsDat[x+x1*30-29+1]=caihongseku[color][6];WsDat[x+x1*30-29+2]=caihongseku[color][5];WsDat[x+x1*30-29+3]=caihongseku[color][4];WsDat[x+x1*30-29+4]=caihongseku[color][3];WsDat[x+x1*30-29+5]=caihongseku[color][2];WsDat[x+x1*30-29+6]=caihongseku[color][1];WsDat[x+x1*30-29+7]=caihongseku[color][0];}break;
                      case(10):if((x+x1*30+7)<=899)        {        WsDat[x+x1*30]=caihongseku[color][7];WsDat[x+x1*30+1]=caihongseku[color][6];WsDat[x+x1*30+2]=caihongseku[color][5];WsDat[x+x1*30+3]=caihongseku[color][4];WsDat[x+x1*30+4]=caihongseku[color][3];WsDat[x+x1*30+5]=caihongseku[color][2];WsDat[x+x1*30+6]=caihongseku[color][1];WsDat[x+x1*30+7]=caihongseku[color][0];}break;
                      case(11):if((x+x1*30-29+7)<=899)        {        WsDat[x+x1*30-29]=caihongseku[color][7];WsDat[x+x1*30-29+1]=caihongseku[color][6];WsDat[x+x1*30-29+2]=caihongseku[color][5];WsDat[x+x1*30-29+3]=caihongseku[color][4];WsDat[x+x1*30-29+4]=caihongseku[color][3];WsDat[x+x1*30-29+5]=caihongseku[color][2];WsDat[x+x1*30-29+6]=caihongseku[color][1];WsDat[x+x1*30-29+7]=caihongseku[color][0];}break;
                      case(12):if((x+x1*30+7)<=899)        {        WsDat[x+x1*30]=caihongseku[color][7];WsDat[x+x1*30+1]=caihongseku[color][6];WsDat[x+x1*30+2]=caihongseku[color][5];WsDat[x+x1*30+3]=caihongseku[color][4];WsDat[x+x1*30+4]=caihongseku[color][3];WsDat[x+x1*30+5]=caihongseku[color][2];WsDat[x+x1*30+6]=caihongseku[color][1];WsDat[x+x1*30+7]=caihongseku[color][0];}break;
                      case(13):if((x+x1*30-29+7)<=899)        {        WsDat[x+x1*30-29]=caihongseku[color][7];WsDat[x+x1*30-29+1]=caihongseku[color][6];WsDat[x+x1*30-29+2]=caihongseku[color][5];WsDat[x+x1*30-29+3]=caihongseku[color][4];WsDat[x+x1*30-29+4]=caihongseku[color][3];WsDat[x+x1*30-29+5]=caihongseku[color][2];WsDat[x+x1*30-29+6]=caihongseku[color][1];WsDat[x+x1*30-29+7]=caihongseku[color][0];}break;
                      case(14):if((x+x1*30+7)<=899)        {        WsDat[x+x1*30]=caihongseku[color][7];WsDat[x+x1*30+1]=caihongseku[color][6];WsDat[x+x1*30+2]=caihongseku[color][5];WsDat[x+x1*30+3]=caihongseku[color][4];WsDat[x+x1*30+4]=caihongseku[color][3];WsDat[x+x1*30+5]=caihongseku[color][2];WsDat[x+x1*30+6]=caihongseku[color][1];WsDat[x+x1*30+7]=caihongseku[color][0];}break;
                      case(15):if((x+x1*30-29+7)<=899)        {        WsDat[x+x1*30-29]=caihongseku[color][7];WsDat[x+x1*30-29+1]=caihongseku[color][6];WsDat[x+x1*30-29+2]=caihongseku[color][5];WsDat[x+x1*30-29+3]=caihongseku[color][4];WsDat[x+x1*30-29+4]=caihongseku[color][3];WsDat[x+x1*30-29+5]=caihongseku[color][2];WsDat[x+x1*30-29+6]=caihongseku[color][1];WsDat[x+x1*30-29+7]=caihongseku[color][0];}break;
                      case(16):if((x+x1*30+7)<=899)        {        WsDat[x+x1*30]=caihongseku[color][7];WsDat[x+x1*30+1]=caihongseku[color][6];WsDat[x+x1*30+2]=caihongseku[color][5];WsDat[x+x1*30+3]=caihongseku[color][4];WsDat[x+x1*30+4]=caihongseku[color][3];WsDat[x+x1*30+5]=caihongseku[color][2];WsDat[x+x1*30+6]=caihongseku[color][1];WsDat[x+x1*30+7]=caihongseku[color][0];}break;
                      case(17):if((x+x1*30-29+7)<=899)        {        WsDat[x+x1*30-29]=caihongseku[color][7];WsDat[x+x1*30-29+1]=caihongseku[color][6];WsDat[x+x1*30-29+2]=caihongseku[color][5];WsDat[x+x1*30-29+3]=caihongseku[color][4];WsDat[x+x1*30-29+4]=caihongseku[color][3];WsDat[x+x1*30-29+5]=caihongseku[color][2];WsDat[x+x1*30-29+6]=caihongseku[color][1];WsDat[x+x1*30-29+7]=caihongseku[color][0];}break;
                      case(18):if((x+x1*30+7)<=899)        {        WsDat[x+x1*30]=caihongseku[color][7];WsDat[x+x1*30+1]=caihongseku[color][6];WsDat[x+x1*30+2]=caihongseku[color][5];WsDat[x+x1*30+3]=caihongseku[color][4];WsDat[x+x1*30+4]=caihongseku[color][3];WsDat[x+x1*30+5]=caihongseku[color][2];WsDat[x+x1*30+6]=caihongseku[color][1];WsDat[x+x1*30+7]=caihongseku[color][0];}break;
                      case(19):if((x+x1*30-29+7)<=899)        {        WsDat[x+x1*30-29]=caihongseku[color][7];WsDat[x+x1*30-29+1]=caihongseku[color][6];WsDat[x+x1*30-29+2]=caihongseku[color][5];WsDat[x+x1*30-29+3]=caihongseku[color][4];WsDat[x+x1*30-29+4]=caihongseku[color][3];WsDat[x+x1*30-29+5]=caihongseku[color][2];WsDat[x+x1*30-29+6]=caihongseku[color][1];WsDat[x+x1*30-29+7]=caihongseku[color][0];}break;
                      case(20):if((x+x1*30+7)<=899)        {        WsDat[x+x1*30]=caihongseku[color][7];WsDat[x+x1*30+1]=caihongseku[color][6];WsDat[x+x1*30+2]=caihongseku[color][5];WsDat[x+x1*30+3]=caihongseku[color][4];WsDat[x+x1*30+4]=caihongseku[color][3];WsDat[x+x1*30+5]=caihongseku[color][2];WsDat[x+x1*30+6]=caihongseku[color][1];WsDat[x+x1*30+7]=caihongseku[color][0];}break;
                      case(21):if((x+x1*30-29+7)<=899)        {        WsDat[x+x1*30-29]=caihongseku[color][7];WsDat[x+x1*30-29+1]=caihongseku[color][6];WsDat[x+x1*30-29+2]=caihongseku[color][5];WsDat[x+x1*30-29+3]=caihongseku[color][4];WsDat[x+x1*30-29+4]=caihongseku[color][3];WsDat[x+x1*30-29+5]=caihongseku[color][2];WsDat[x+x1*30-29+6]=caihongseku[color][1];WsDat[x+x1*30-29+7]=caihongseku[color][0];}break;
                      case(22):if((x+x1*30+7)<=899)        {        WsDat[x+x1*30]=caihongseku[color][7];WsDat[x+x1*30+1]=caihongseku[color][6];WsDat[x+x1*30+2]=caihongseku[color][5];WsDat[x+x1*30+3]=caihongseku[color][4];WsDat[x+x1*30+4]=caihongseku[color][3];WsDat[x+x1*30+5]=caihongseku[color][2];WsDat[x+x1*30+6]=caihongseku[color][1];WsDat[x+x1*30+7]=caihongseku[color][0];}break;
                      case(23):if((x+x1*30-29+7)<=899)        {        WsDat[x+x1*30-29]=caihongseku[color][7];WsDat[x+x1*30-29+1]=caihongseku[color][6];WsDat[x+x1*30-29+2]=caihongseku[color][5];WsDat[x+x1*30-29+3]=caihongseku[color][4];WsDat[x+x1*30-29+4]=caihongseku[color][3];WsDat[x+x1*30-29+5]=caihongseku[color][2];WsDat[x+x1*30-29+6]=caihongseku[color][1];WsDat[x+x1*30-29+7]=caihongseku[color][0];}break;
                   
            }
                    if (x>239)
                    {WsDat[x+x1*30-60]=caihongseku[color][7];WsDat[x+x1*30+1-60]=caihongseku[color][6];WsDat[x+x1*30+2-60]=caihongseku[color][5];WsDat[x+x1*30+3-60]=caihongseku[color][4];WsDat[x+x1*30+4-60]=caihongseku[color][3];WsDat[x+x1*30+5-60]=caihongseku[color][2];WsDat[x+x1*30+6-60]=caihongseku[color][1];WsDat[x+x1*30+7-60]=caihongseku[color][0];
                    }
                    }
                    }

          DIS();//显示子程序
                           
                   
                   
                   
    }
    1 喜欢他/她就送朵鲜花吧,赠人玫瑰,手有余香!
    专注LED灯控,25年LED从业经验,因为专注所以专业,欢迎大家沟通交流!
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 09:04
  • 签到天数: 79 天

    [LV.6]常住居民II

    11

    主题

    157

    回帖

    475

    积分

    中级会员

    积分
    475
     楼主| 发表于 2024-2-4 10:50:19 | 显示全部楼层
    效果控制最麻烦就是要确定每颗灯的位置,很容易看花眼
    专注LED灯控,25年LED从业经验,因为专注所以专业,欢迎大家沟通交流!
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 09:04
  • 签到天数: 79 天

    [LV.6]常住居民II

    11

    主题

    157

    回帖

    475

    积分

    中级会员

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

    谢谢!
    专注LED灯控,25年LED从业经验,因为专注所以专业,欢迎大家沟通交流!
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 09:04
  • 签到天数: 79 天

    [LV.6]常住居民II

    11

    主题

    157

    回帖

    475

    积分

    中级会员

    积分
    475
     楼主| 发表于 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;

    效果控制最麻烦就是确定每颗灯的位置,容易看花眼
    专注LED灯控,25年LED从业经验,因为专注所以专业,欢迎大家沟通交流!
    回复 支持 1 反对 0 送花

    使用道具 举报

    该用户从未签到

    564

    主题

    9878

    回帖

    1万

    积分

    管理员

    积分
    14438
    发表于 2024-2-4 10:55:25 | 显示全部楼层
    回复 支持 反对 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 09:04
  • 签到天数: 79 天

    [LV.6]常住居民II

    11

    主题

    157

    回帖

    475

    积分

    中级会员

    积分
    475
     楼主| 发表于 2024-2-4 11:05:08 | 显示全部楼层
    神农鼎 发表于 2024-2-4 10:55
    最近 梁工他们在推荐 DMA-SPI 直接涮 WS2812

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

    有测试过,只刷到300颗
    专注LED灯控,25年LED从业经验,因为专注所以专业,欢迎大家沟通交流!
    回复 支持 反对 送花

    使用道具 举报

    该用户从未签到

    564

    主题

    9878

    回帖

    1万

    积分

    管理员

    积分
    14438
    发表于 2024-2-4 11:07:13 | 显示全部楼层
    你电话 梁工 【139-2282,9991】 拜个早年,请他交代下,为何 ?
    可以用 STC32G12K64 / STC32G12K128, 这些 【DMA-SPI 的缓冲区】 可以 8K
    可以用 STC32G8K48 / STC32G8K64, 这些 【DMA-SPI 的缓冲区】 可以 6K

    截图202402070820431338.jpg

    回复 支持 1 反对 0 送花

    使用道具 举报

  • TA的每日心情
    开心
    昨天 16:09
  • 签到天数: 128 天

    [LV.7]常住居民III

    12

    主题

    144

    回帖

    1298

    积分

    荣誉版主

    积分
    1298
    发表于 2024-2-4 11:13:11 | 显示全部楼层

    截图202402070822156482.jpg

    能体会到发现一个不理解的现象然后找原因然后要么解决掉问题要么被问题解决掉的那种快乐是我的幸运
    回复 支持 反对 送花

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|深圳国芯人工智能有限公司 ( 粤ICP备2022108929号-2 )

    GMT+8, 2024-6-12 05:57 , Processed in 0.073082 second(s), 67 queries .

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表