|
|
WS2812小燈可以多種芯片控制板內(nèi)集成STC8
Altium Designer畫的原理圖和PCB圖如下:(51hei附件中可下載工程文件)
捕獲3.PNG (68.84 KB, 下載次數(shù): 65)
下載附件
2019-11-27 09:28 上傳
捕獲2.PNG (158.54 KB, 下載次數(shù): 68)
下載附件
2019-11-27 09:28 上傳
捕獲.PNG (147.37 KB, 下載次數(shù): 64)
下載附件
2019-11-27 09:28 上傳
捕獲1.PNG (37.72 KB, 下載次數(shù): 83)
下載附件
2019-11-27 09:28 上傳
單片機(jī)源程序如下:
- #include<STC15.h>
- #include<intrins.h>
- #define uchar unsigned char
- #define uint unsigned int
- #define num 12//燈泡個數(shù)
- sbit DO=P1^6;//數(shù)據(jù)輸出口口
- void delay1us()
- {
- unsigned char a;
- for(a=3;a>0;a--);
- }
- void delays(uint m)
- {
- uchar i,j;
- while(--m)
- {
- for(i=56;i>0;i--)
- for(j=250;j>0;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;//藍(lán)
- while(i--)
- {
- if(dat & 0X80)//寫1
- {
- DO=1;delay1us();
- DO=0;_nop_();
- }
- else //寫0
- {
- DO=1;_nop_();
- DO=0;delay1us();
- }
- dat <<= 1;
- }
- i=8;
- }
- }
- void zi()
- {
- uchar i,j;
- for(j=0;j<num;j++)
- {
- for(i=0;i<num;i++)
- {
-
- WS2812WR(0,0,255);
-
- }
- delays(100);//反正每次整完一組
-
-
- }
- }
- void main()
- {
- uint i,j;
- zi();
- while(1)
- {
-
- for(j=0;j<num;j++)
- {
- for(i=0;i<num;i++)
- {
- if(i==j-2)
- WS2812WR(200,0,200); //粉紅
- if(i==j-1)
- WS2812WR(0,200,200); //青蘭
- if(i==j)
- WS2812WR(200,200,0); //橙黃
- if(i==j+1)
- WS2812WR(200,200,200);//正白
-
-
- else
- WS2812WR(255,255,0);//藍(lán)色底色
-
- }
- delays(100);//反正每次整完一組
-
-
- }
- }
- }
復(fù)制代碼
51hei.png (4.26 KB, 下載次數(shù): 79)
下載附件
2019-11-27 12:29 上傳
所有資料51hei提供下載:
WS2812.zip
(999.24 KB, 下載次數(shù): 156)
2019-11-27 09:30 上傳
點(diǎn)擊文件名下載附件
PCB文件 下載積分: 黑幣 -5
WS2812全彩.zip
(39.08 KB, 下載次數(shù): 132)
2019-11-27 09:32 上傳
點(diǎn)擊文件名下載附件
程序代碼,可自己進(jìn)行配色 下載積分: 黑幣 -5
|
評分
-
查看全部評分
|