找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5270|回复: 3
打印 上一主题 下一主题
收起左侧

WS2813断点续传LED流水灯STM32单片机源程序

[复制链接]
跳转到指定楼层
楼主
WS2813是深圳市华彩威科技于2016年最新推出的一款专利新产品,它是在之前WS2812S和WS2812B的基础上升级而来的一个产品,结合多年的市场应用反馈经验,它有以下显著特征:
1.. 只有5mm*5mm体积,其外形与一个5050灯珠相同,每个元件即为一个像素点,内置LED驱动IC且含概了外围所有元器件,线路简单。相比WS2812系列产品大大降低外围元器件所占用的面积,在柔性产品的应用中降低了损坏率,因为一般灯条使用的环境相对比较恶劣,灯条容易折弯,之前的产品就很容易出现折弯导致线路断路,像素点损坏不能正常显示,高度集成外围所有元器件这一革新具有划时代的意义,使产品使用便利。
2.. 新增断点续传功能,这是最大的突破。因为在工程应用中由于不同因素,难免会引起个别点失效损坏,以至于后续的点都跟着不能正常显示。还有在使用中也许恶劣环境也会导致个别点损坏。WS2813就解决了这个重大难题,额外增加一路信号线,实现双路信号传输,任何一个点损坏都不会影响信号的级联传输,其他的像素点都正常显示。WS2813在使用中如果个别点损坏就完全不影响整体显示效果了。
3..电源反接保护。安装过程中不小心将电源反接,如果没有电源反接保护,可能导致整条灯条短路损坏。WS2813增加的电源反接保护就能解决这一问题,方便安装使用。
4..长达 250us的RESET时间,方便工程师的程序控制,控制协议和线路板完全兼容,大大降低了成本,使用便利。
5..高达2khz的RGB端口刷新频率。高清显示屏标准,每个像素点的三基色颜色可实现256级亮度显示,完成16777216中颜色的全真色彩显示,在高清摄像头的拍照下和动态运动下不会出现频闪。

主要应用领域:
1..LED全彩发光字灯串,LED全彩软灯条硬灯条,LED护栏管。
2..LED点光源,LED像素屏,LED异形屏等


单片机源程序如下:
  1. #include "delay.h"
  2. #include "sys.h"
  3. #include "led.h"
  4. #include "stm32f10x_flash.h"
  5. u8  Table_Color[TM1804_IC][3]={0};//显示缓存数组
  6. //配置系统时钟,使能各外设时钟
  7. void RCC_Configuration(void)
  8. {
  9.         RCC_DeInit();        //复位系统时钟
  10.         RCC_HSEConfig(RCC_HSE_ON);    //开启HSE
  11.         if(RCC_WaitForHSEStartUp() == SUCCESS)//等待HSE起振
  12.         {

  13.                 RCC_HCLKConfig(RCC_SYSCLK_Div1);  //选择HCLK时钟源为SYSCLK1分频
  14.                 RCC_PCLK2Config(RCC_HCLK_Div1);   //选择PCLK2的时钟源为HCLK1分频
  15.                 RCC_PCLK1Config(RCC_HCLK_Div2);     //选择PCLK1的时钟源为HCLK2分频

  16.                 FLASH_SetLatency(FLASH_Latency_2);
  17.                 FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
  18.                
  19.                 RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_12);        //选择PLL时钟源为HSE1分频,10倍频
  20.                 RCC_PLLCmd(ENABLE);           //使能PLL
  21.                 while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET);   //等待PLL输出稳定
  22.                 RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);   //系统时钟为PLL
  23.                 while(RCC_GetSYSCLKSource() != 0x08);   //等待PLL为系统时钟源
  24.         }
  25. }


  26. int main(void)
  27. {
  28.         u8 i=0,IC,n=1,HD,LD;
  29.         RCC_Configuration();
  30.         delay_init();                     //延时函数初始化         
  31.         NVIC_Configuration();          //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
  32.         LED_Init();                             //LED端口初始化
  33.         LED_Reset();
  34.         while(1)
  35.         {        
  36.                 for(n=0;n<255;n+=13)
  37.                 {
  38.                         for(IC=TM1804_IC;IC>0;IC--)
  39.                         {
  40. //                                LED_Meteor_rain_light(0x12-n,0x20+n,0x77+n,IC,10);
  41.                                 LED_Meteor_rain_light(0xff,0xff,0xff,IC,20);
  42.                                 delay_ms(30);
  43.                         }
  44.                 }               
  45.         }
  46. }        
复制代码

所有资料51hei提供下载:
32程序WS2813B.7z (306.21 KB, 下载次数: 80)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:228360 发表于 2020-5-26 12:57 | 只看该作者
谢谢分享,学习一下。
回复

使用道具 举报

板凳
ID:412631 发表于 2020-11-28 16:40 | 只看该作者
本帖最后由 LH20181020 于 2020-11-28 17:25 编辑

谢谢分享,请问这种集成IC的LED做成像素显示屏,显示汉字,或者简音的图案,程序复杂吗,能不能做成一个应用软件,让普通用户通过软件随意修改内容
回复

使用道具 举报

地板
ID:892532 发表于 2021-3-16 13:52 | 只看该作者
LH20181020 发表于 2020-11-28 16:40
谢谢分享,请问这种集成IC的LED做成像素显示屏,显示汉字,或者简音的图案,程序复杂吗,能不能做成一个应 ...

可以用qt这种去做一个上位机去生成显示数据,不过这种灯灯珠比较大,做成显示屏感觉没什么意义,不如直接用一个彩色显示屏,如果你用外部内存的话还好点,用单片机的内存存这些数据的话,数据量有点大的,显示最好还是显示屏
回复

使用道具 举报

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

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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