找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 25006|回復(fù): 47
收起左側(cè)

WS2812的極簡驅(qū)動(dòng)程序,控制芯片為STC15 1T系列單片機(jī)

  [復(fù)制鏈接]
ID:311310 發(fā)表于 2019-10-6 16:37 | 顯示全部樓層 |閱讀模式
之前網(wǎng)上找的WS2812驅(qū)動(dòng)很少并且代碼很混亂。國慶閑來無事,自己寫了一下WS2812的驅(qū)動(dòng)程序,不多說什么,反正好用;我這總共驅(qū)動(dòng)的是兩條一米60燈再加1個(gè)環(huán)形8燈共128燈完全沒毛病,速度還是非?斓模聢D為證。單片機(jī)是STC15的,試了很多型號(hào)都沒毛病,1T的單片機(jī)似乎都可以,其實(shí)個(gè)人認(rèn)為WS2812的時(shí)序并沒有手冊上說的那么嚴(yán)格,實(shí)際使用時(shí)也很輕松就實(shí)現(xiàn)了!分享給有需要的朋友,只是簡單的驅(qū)動(dòng)測試,喜歡什么花樣還請自由發(fā)揮,哈哈!

制作出來的實(shí)物圖如下:
IMG_20191003_125202.jpg IMG_20191003_124230.jpg IMG_20191006_152029.jpg

/***WS2812驅(qū)動(dòng)程序***/
/*作者:YUAN HUA FEI*/
#include<STC15.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
#define  num 128//燈泡個(gè)數(shù)

sbit DO=P3^2;//數(shù)據(jù)輸出口口

void delay1us()
{
    unsigned char a;
    for(a=3;a>0;a--);
}

void delays(uint m)
{
uchar i,j;
while(--m)
{
         for(i=6;i>0;i--)
         for(j=250;j>0;j--);
}
}

/**目前測試STC15系列9~30MHz整得成**/
/**適當(dāng)調(diào)整_NOP_(),最低8MHz也整得成***/
/*調(diào)整Re、Gr、Bl的比例可搭配出各種顏色*/
/********0~255,共256級(jí)亮度 *********/
/*****調(diào)整數(shù)字大小可調(diào)整色調(diào)及亮度*****/
//括號(hào)內(nèi)分別代表(紅、綠、藍(lán))數(shù)據(jù)
void WS2812WR(uchar Re,uchar Gr,uchar Bl)
{
        uchar color=3,dat,i=8;
        DO=0;
        //依次輸出24bit GRB數(shù)據(jù)
        while(color--)
        {
          if(color==2)dat=Gr;
          if(color==1)dat=Re;
          if(color==0)dat=Bl;
                while(i--)
                {
                        if(dat & 0X80)//寫1
                        {
                                DO=1;delay1us();
                                DO=0;_nop_();
                        }
                        else          //寫0
                        {
                                DO=1;_nop_();
                                DO=0;delay1us();
                        }
                          dat <<= 1;
                }
        i=8;
  }
}
余下可下載附件查看。。。
0.png

全部資料51hei下載地址:
WS2812.zip (32.67 KB, 下載次數(shù): 1118)

評(píng)分

參與人數(shù) 1黑幣 +100 收起 理由
admin + 100 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

ID:67356 發(fā)表于 2019-10-8 07:20 | 顯示全部樓層
謝謝。程序很好!51黑有你更精彩!!!
回復(fù)

使用道具 舉報(bào)

ID:46999 發(fā)表于 2019-10-8 11:43 | 顯示全部樓層
謝謝。正好想用WS2812干點(diǎn)什么呢。
回復(fù)

使用道具 舉報(bào)

ID:428114 發(fā)表于 2019-10-8 15:44 | 顯示全部樓層
不錯(cuò)!
回復(fù)

使用道具 舉報(bào)

ID:146045 發(fā)表于 2019-10-10 23:09 來自觸屏版 | 顯示全部樓層
資料不錯(cuò),值得學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

ID:385637 發(fā)表于 2019-10-11 11:42 | 顯示全部樓層
好資料,簡單明了,學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

ID:284598 發(fā)表于 2019-10-12 07:20 來自觸屏版 | 顯示全部樓層
此程序用在24燈的燈環(huán)上怎么只能點(diǎn)亮8個(gè)?
回復(fù)

使用道具 舉報(bào)

ID:311310 發(fā)表于 2019-10-15 21:27 | 顯示全部樓層
whdiy751124 發(fā)表于 2019-10-12 07:20
此程序用在24燈的燈環(huán)上怎么只能點(diǎn)亮8個(gè)?

1t的單片機(jī)嗎,這個(gè)要注意調(diào)整時(shí)序,適當(dāng)調(diào)整_nop_()和延時(shí);還有燈的數(shù)量有改了嗎,我這個(gè)是128顆的
回復(fù)

使用道具 舉報(bào)

ID:58591 發(fā)表于 2019-12-31 08:57 | 顯示全部樓層
感謝分享,樓主很帥!
回復(fù)

使用道具 舉報(bào)

ID:419909 發(fā)表于 2020-1-3 16:22 | 顯示全部樓層
感謝分享,正需要用來做一個(gè)東西.開源區(qū)需要像你們這樣的人.我的東西做好.到時(shí)也會(huì)開源.
回復(fù)

使用道具 舉報(bào)

ID:66872 發(fā)表于 2020-3-31 16:59 來自觸屏版 | 顯示全部樓層
正在學(xué)習(xí)STC15單片機(jī),感謝樓主分享。
回復(fù)

使用道具 舉報(bào)

ID:909887 發(fā)表于 2021-4-21 20:19 | 顯示全部樓層
Mark 插個(gè)眼 回頭好好研究下
回復(fù)

使用道具 舉報(bào)

ID:156220 發(fā)表于 2021-4-23 11:09 | 顯示全部樓層
好資料,謝謝樓主的分享
回復(fù)

使用道具 舉報(bào)

ID:4240 發(fā)表于 2021-4-23 14:20 | 顯示全部樓層
昨天買了個(gè)25個(gè)的WS2812,沒驅(qū)動(dòng)起來,看看你的;
回復(fù)

使用道具 舉報(bào)

ID:88256 發(fā)表于 2021-9-4 00:21 | 顯示全部樓層
下載一個(gè)看看,謝謝了!
回復(fù)

使用道具 舉報(bào)

ID:721169 發(fā)表于 2021-9-6 19:27 來自觸屏版 | 顯示全部樓層
剛好有個(gè)小燈串,可以試驗(yàn)一下
回復(fù)

使用道具 舉報(bào)

ID:411116 發(fā)表于 2021-9-21 21:00 | 顯示全部樓層
WS2812的極簡驅(qū)動(dòng)程序,控制芯片為STC15 1T系列單片機(jī)
回復(fù)

使用道具 舉報(bào)

ID:399179 發(fā)表于 2021-12-14 21:44 來自觸屏版 | 顯示全部樓層
這個(gè)程序怎么指定哪一個(gè)燈亮?亮什么顏色?謝謝!
回復(fù)

使用道具 舉報(bào)

ID:541089 發(fā)表于 2021-12-17 14:25 | 顯示全部樓層
樓主我想畫個(gè)板子,想問一下您這用的哪個(gè)型號(hào)額
回復(fù)

使用道具 舉報(bào)

ID:399179 發(fā)表于 2021-12-27 21:24 來自觸屏版 | 顯示全部樓層
qiaomuyouzhi 發(fā)表于 2021-12-17 14:25
樓主我想畫個(gè)板子,想問一下您這用的哪個(gè)型號(hào)額

這程序我用的stc15f104,可以正常運(yùn)行,輸出口不要用3.3
回復(fù)

使用道具 舉報(bào)

ID:977831 發(fā)表于 2022-3-24 17:46 | 顯示全部樓層
點(diǎn)不亮
回復(fù)

使用道具 舉報(bào)

ID:1019511 發(fā)表于 2022-4-20 19:33 | 顯示全部樓層
你這個(gè)有配套的模擬嗎?
回復(fù)

使用道具 舉報(bào)

ID:783755 發(fā)表于 2022-5-16 02:13 | 顯示全部樓層

資料不錯(cuò),值得學(xué)習(xí)
回復(fù)

使用道具 舉報(bào)

ID:311310 發(fā)表于 2022-5-19 17:31 | 顯示全部樓層
張家四少 發(fā)表于 2022-4-20 19:33
你這個(gè)有配套的模擬嗎?

51單片機(jī)全彩光立方制作

這個(gè)是我利用WS2812制作的一個(gè)例子,也許可以幫到你。
回復(fù)

使用道具 舉報(bào)

ID:1030451 發(fā)表于 2022-5-28 16:28 | 顯示全部樓層
看看樓主怎么實(shí)現(xiàn)的,我的時(shí)序一直調(diào)不對(duì)
回復(fù)

使用道具 舉報(bào)

ID:748788 發(fā)表于 2022-5-31 09:51 來自觸屏版 | 顯示全部樓層
張家四少 發(fā)表于 2022-4-20 19:33
你這個(gè)有配套的模擬嗎?

模擬的并不好玩,真機(jī)的動(dòng)感效果是模擬不出來的
回復(fù)

使用道具 舉報(bào)

ID:297903 發(fā)表于 2022-7-19 21:38 | 顯示全部樓層
程序簡單有效,我移植到PIC16F690上,小小調(diào)試后成功點(diǎn)亮ws2812,謝謝!
回復(fù)

使用道具 舉報(bào)

ID:825397 發(fā)表于 2022-7-29 15:25 | 顯示全部樓層
程序有效。在stc12c5a60上通過,應(yīng)該是1T芯片都行,感謝分享!
回復(fù)

使用道具 舉報(bào)

ID:531090 發(fā)表于 2022-8-2 13:46 | 顯示全部樓層
樓主這種控制RGB燈帶的級(jí)聯(lián)芯片NOP是怎么調(diào)的
回復(fù)

使用道具 舉報(bào)

ID:466997 發(fā)表于 2022-8-3 11:15 | 顯示全部樓層
很好,這正是我想要的
回復(fù)

使用道具 舉報(bào)

ID:504289 發(fā)表于 2022-8-26 09:31 | 顯示全部樓層
這個(gè)好啊 萬分感謝大神分享的代碼 幫到大忙了
回復(fù)

使用道具 舉報(bào)

ID:1043068 發(fā)表于 2022-8-27 13:48 | 顯示全部樓層
學(xué)習(xí), 感謝版主分享
回復(fù)

使用道具 舉報(bào)

ID:1043068 發(fā)表于 2022-8-27 13:49 | 顯示全部樓層
學(xué)習(xí)了,感謝版主分享,好好看看
回復(fù)

使用道具 舉報(bào)

ID:613016 發(fā)表于 2022-9-30 10:28 | 顯示全部樓層
正好非常需要,非常感謝樓主的資料,省了我不少時(shí)間
回復(fù)

使用道具 舉報(bào)

ID:958310 發(fā)表于 2022-11-8 10:45 | 顯示全部樓層
下個(gè)項(xiàng)目準(zhǔn)備玩一下。
回復(fù)

使用道具 舉報(bào)

ID:1038987 發(fā)表于 2023-4-21 23:00 | 顯示全部樓層
這個(gè)好,這個(gè)上來也沒點(diǎn)亮,把線接返了,F(xiàn)在接對(duì)了。調(diào)試成功。stc15w204s  12MHZ 三線 數(shù)據(jù)口 P3^7
回復(fù)

使用道具 舉報(bào)

ID:933601 發(fā)表于 2023-4-22 13:53 | 顯示全部樓層
WS2812驅(qū)動(dòng)不錯(cuò)
回復(fù)

使用道具 舉報(bào)

ID:369177 發(fā)表于 2023-7-31 15:17 | 顯示全部樓層
就是不知道怎么寫變化
回復(fù)

使用道具 舉報(bào)

ID:740741 發(fā)表于 2023-8-1 09:24 | 顯示全部樓層
怎么控制特定的燈亮
回復(fù)

使用道具 舉報(bào)

ID:48241 發(fā)表于 2023-8-5 14:40 | 顯示全部樓層
開發(fā)板正好要用,感謝分享。
回復(fù)

使用道具 舉報(bào)

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表