找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

STC15W204S单片机control ws2812B七彩流水灯程序(36灯)

查看数: 23060 | 评论数: 21 | 收藏 18
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-1-5 14:30

正文摘要:

上次程序更新后,STC15W204s控制ws2812B七彩流水灯,发现一个问题,就是keil C编译时,灯数调整为37时,一直报错说内存超出,希望高手能指点迷津,现在将36灯程序分享给大家: 单片机源码: #include<stc15.h> #in ...

回复

ID:688008 发表于 2022-10-3 14:14
mark一下,后面玩的时候再来看看
ID:613016 发表于 2022-9-29 13:31
非常感谢,正好需要,我目前控制30灯珠
ID:509408 发表于 2021-7-10 14:02
nanyexin 发表于 2021-6-16 18:54
如果要驱动1024个像素点呢?就时候1024个灯,市场上的可以做到,怎么修改……。

算一下理论时间,数据手册上发送一个bit需要1.25us左右,一个RGB像素点24bit。共需要时间 1024*1.25*24 = 30720us,即光驱动这1024颗灯需要30ms以上,这个时间已经很长了。发送过程中还不能被其他任务打断。然后你的ram资源要足够 (1024*3个byte,即3kb以上,想实现复杂花样效果就要考虑算法、硬件设计,全亮这电源起码都60安的电流了) ,
ID:468169 发表于 2021-6-16 18:54
bababibu 发表于 2020-10-20 17:25
将idata改为xdata,可以128灯,我用STC15W4K32S4仿真可以成功

#define numLEDs 128  //灯的个数
...

如果要驱动1024个像素点呢?就时候1024个灯,市场上的可以做到,怎么修改……。
ID:79544 发表于 2021-3-23 11:35
bababibu 发表于 2020-10-20 17:25
将idata改为xdata,可以128灯,我用STC15W4K32S4仿真可以成功

#define numLEDs 128  //灯的个数
...

牛人!!!!!!!!!!!!!!!!
ID:79544 发表于 2021-3-23 09:59
yuren1984 发表于 2019-1-10 05:23
已经解unsigned char idata buf_R[numLEDs] = {0};//颜色缓存 unsigned char buf_G[numLEDs] = {0};//颜色 ...

感谢分享,学习啦。这样修改的确可以驱动60个灯珠
ID:828768 发表于 2020-10-20 17:25
将idata改为xdata,可以128灯,我用STC15W4K32S4仿真可以成功

#define numLEDs 128  //灯的个数
unsigned char xdata buf_R[numLEDs] = {0};//颜色缓存
unsigned char xdata buf_G[numLEDs] = {0};
unsigned char xdata buf_B[numLEDs] = {0};

ID:436758 发表于 2020-5-22 20:52
我都用台系类PIC的,16M 2T 一样的可以做到完美时序
ID:578423 发表于 2020-5-3 18:11
楼主,如果第一个灯亮后保持到第二个亮后也保持,第三个亮后也保持,这个怎写?太感谢了
ID:578423 发表于 2020-5-1 15:42
试程序要以用
ID:712612 发表于 2020-4-2 09:35
感谢楼主
ID:311419 发表于 2020-3-25 10:57
晶振频率太低,要33M,我的可以用
ID:398994 发表于 2020-3-25 10:01
好东西
ID:406128 发表于 2019-3-28 11:25
老兄,你的头文件是对的,我的改了头文件就报错
ID:375313 发表于 2019-2-21 21:33
陈小手43970 发表于 2019-2-20 12:51
你好,我发现这个程序只能亮ff的颜色,其余0-254的颜色无法显示哎

你的是不是也只亮白色
ID:238749 发表于 2019-2-20 12:51
你好,我发现这个程序只能亮ff的颜色,其余0-254的颜色无法显示哎
ID:439460 发表于 2019-1-10 05:26
June1210 发表于 2019-1-7 15:12
楼主 可以加个好友么  我也学STC15W204S

可以啊,加我QQ 176492137
ID:439460 发表于 2019-1-10 05:25
挚爱梅儿 发表于 2019-1-8 10:05
keil设置target options------memory Model 选择large:variables in XDATA再编译一遍试试

这样编译我试了,程序能编译能通过,下载单片机里一个灯都不亮,百度了一下说要加外部RAM
ID:439460 发表于 2019-1-10 05:23
已经解unsigned char idata buf_R[numLEDs] = {0};//颜色缓存 unsigned char buf_G[numLEDs] = {0};//颜色缓unsigned char buf_B[numLEDs] = {0};//颜色缓存,这样修改最多可以点78颗灯,有兴趣的朋友可以试一试     
ID:88049 发表于 2019-1-8 10:05
keil设置target options------memory Model 选择large:variables in XDATA再编译一遍试试
ID:419125 发表于 2019-1-7 15:12
楼主 可以加个好友么  我也学STC15W204S

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

Powered by 单片机教程网

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