久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 13127|回復: 17
收起左側

51單片機控制RGB5050全彩LED燈

  [復制鏈接]
ID:162229 發表于 2017-1-24 19:37 來自手機 | 顯示全部樓層 |閱讀模式
自己在淘寶買了個全彩LED,但是卻不知道怎么用。有沒有大神給知道一下怎么接線,怎么用單片機控制啊?
IMG_20170124_193207.jpg
回復

使用道具 舉報

ID:155507 發表于 2017-1-24 21:11 | 顯示全部樓層
WS2812B是一個集控制電路與發光電路于一體的智能外控LED光源。其外型與一個5050LED燈珠相同,每個元件即為一個像素點。像素點內部包含了智能數字接口數據鎖存信號整形放大驅動電路,還包含有高精度的內部振蕩器和12V高壓可編程定電流控制部分,有效保證了像素點光的顏色高度一致。
數據協議采用單線歸零碼的通訊方式,像素點在上電復位以后,DIN端接受從控制器傳輸過來的數據,首先送過來的24bit數據被第一個像素點提取后,送到像素點內部的數據鎖存器,剩余的數據經過內部整形處理電路整形放大后通過DO端口開始轉發輸出給下一個級聯的像素點,每經過一個像素點的傳輸,信號減少24bit。像素點采用自動整形轉發技術,使得該像素點的級聯個數不受信號傳送的限制,僅僅受限信號傳輸速度要求。
LED具有低電壓驅動,環保節能,亮度高,散射角度大,一致性好,超低功率,超長壽命等優點。將控制電路集成于LED上面,電路變得更加簡單,體積小,安裝更加簡便。

僅以此貼獻給剛剛學會流水燈的孩子,學會這個就可以搞任意顏色搭配的流水燈了,而且根本不用考慮引腳個數(碎碎念:只用一個引腳就可以控制幾百個以上的燈珠,每個燈珠顏色是255*255*255種)

  1. /********************************************************/
  2. /*程序功能:用51單片機控制ws2812 RGB輸出,顯示全色彩
  3. /*備 注:51單片機晶振24M
  4. /********************************************************/

  5. #include<reg52.h>
  6. #include<intrins.h>
  7. #define uchar unsigned char

  8. sbit Send_Dat=P1^0;     //數據輸出,接IN腳
  9. sbit Key=P1^1;          //按鍵等待
  10. sbit Send_Dat1=P1^2;   //中斷狀態燈
  11. uchar RGB_BUF[24];
  12. void delay();
  13. void delays();
  14. void init();

  15. uchar Led_Tab[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x88,0x83,0xC6,0xA1,0x86,0x8E};        
  16. //存儲一個轉化后的RGB2進制數  共24bits
  17. struct My_24bits                  //結構體
  18. {
  19.         uchar G_VAL;                 //綠色  0-255
  20.         uchar R_VAL;                  //紅色 0-255
  21.         uchar B_VAL;                  //藍色0-255
  22. };


  23. /*寫入數據時序*/
  24. void Send_A_bit(uchar VAL)
  25. {
  26.         //     Send_Dat=0;
  27.         if (VAL==1)
  28.         {
  29.                 //     Send_Dat=0;
  30.                 Send_Dat=1;
  31.                 _nop_();
  32.                 //_nop_();
  33.                 Send_Dat=0;     //2.17us
  34.                 //_nop_();
  35.                 //     Send_Dat=1;    //2.17us
  36.         }
  37.         else
  38.         {
  39.                 // Send_Dat=0;
  40.                 Send_Dat=1;
  41.                 //_nop_();
  42.                 //_nop_();
  43.                 Send_Dat=0;           
  44.                 _nop_();
  45.                 // Send_Dat=1;
  46.         }           
  47.        
  48. }


  49. /*發送24位字符(包含RGB信息各8位)*/
  50. void Send_24bits(struct My_24bits RGB_VAL )                     
  51. {
  52.         uchar i;
  53.         for   (i=0;i<8;i++)
  54.         {
  55.                 RGB_BUF[i]=RGB_VAL.R_VAL>>i&0x01;      //轉化R_VAL
  56.         }
  57.         for   (i=8;i<16;i++)
  58.         {
  59.                 RGB_BUF[i]=RGB_VAL.G_VAL>>(i-8)&0x01;  //轉化G_VAL
  60.         }
  61.         for   (i=16;i<24;i++)                     //轉化B_VAL
  62.         {
  63.                 RGB_BUF[i]=RGB_VAL.B_VAL>>(i-16)&0x01;     
  64.         }
  65.         for (i=0;i<24;i++)
  66.         {
  67.                 Send_A_bit(RGB_BUF[i]);
  68.         }
  69.        
  70. }

  71. /*主函數*/
  72. void main()
  73. {

  74.         struct My_24bits a,b,c,d,e,f,g;
  75.         a.R_VAL=0xff;
  76.         a.G_VAL=0x00;                      //1        顏色順序,下同
  77.         a.B_VAL=0x00;

  78.         b.R_VAL=0x00;
  79.         b.G_VAL=0xff;                       //2
  80.         b.B_VAL=0x00;

  81.         c.R_VAL=0x00;
  82.         c.G_VAL=0x00;                      //3
  83.         c.B_VAL=0xff;

  84.         d.R_VAL=0xff;                       //4
  85.         d.G_VAL=0xff;
  86.         d.B_VAL=0x00;

  87.         e.R_VAL=0xff;
  88.         e.G_VAL=0x00;                       //5
  89.         e.B_VAL=0xff;

  90.         f.R_VAL=0x00;
  91.         f.G_VAL=0xff;                       //6
  92.         f.B_VAL=0xff;

  93.         g.R_VAL=0xff;                       //7
  94.         g.G_VAL=0xff;
  95.         g.B_VAL=0xff;
  96.         init();
  97.         while(1)
  98.         {
  99.                 Send_Dat=0;
  100.                 Send_24bits(a);
  101.                 Send_Dat=0;   P0=0xF9;
  102.                 delays();
  103.                 while(Key==1);                                        //按鍵等待,當Key=1時停止,等于0時七種顏色流水燈循環,下同(主要方便觀察顏色)

  104.                 Send_24bits(b);
  105.                 Send_Dat=0;    P0=0xa4;      //共陰極數碼管顯示顏色順序,下同
  106.                 delays();
  107.                 while(Key==1);

  108.                 Send_24bits(c);
  109.                 Send_Dat=0;   P0=0xb0;
  110.                 delays();
  111.                 while(Key==1);

  112.                 Send_24bits(d);
  113.                 Send_Dat=0;   P0=Led_Tab[4];
  114.                 delays();
  115.                 while(Key==1);

  116.                 Send_24bits(e);
  117.                 Send_Dat=0;   P0=Led_Tab[5];
  118.                 delays();
  119.                 while(Key==1);

  120.                 Send_24bits(f);
  121.                 Send_Dat=0;   P0=Led_Tab[6];
  122.                 delays();
  123.                 while(Key==1);

  124.                 Send_24bits(g);
  125.                 Send_Dat=0;   P0=Led_Tab[7];
  126.                 delays();
  127.                 while(Key==1);
  128.                 //     PCON|=0x01;      //空閑模式
  129.                
  130.         }
  131. }



  132. /*中斷喚醒測試函數*/
  133. void INT1_ISR(void) interrupt 2
  134. {
  135.         P2=1;
  136. }


  137. /*小延時函數*/
  138. /*大概1S吧,隨便寫的*/
  139. void delay()
  140. {
  141.         uchar i,j;
  142.         for (i=0;i<250;i++)
  143.         {
  144.                 for (j=0;j<250;j++);
  145.         }
  146. }


  147. /*大延時函數*/
  148. /*十幾秒*/
  149. void delays()
  150. {
  151.         delay();
  152.         delay();
  153.         delay();
  154.         delay();
  155.         delay();
  156.         delay();
  157.         delay();
  158.         delay();
  159.         delay();  
  160.         delay();
  161.         delay();
  162.         delay();
  163. }



  164. /*系統初始化*/
  165. void init()
  166. {
  167.         P0=0x00;
  168.         P1=0x00;
  169.         P2=0x00;
  170.         P3=0x00;

  171.         TCON=0x05;
  172.         TMOD=0x00;
  173.         TH0=0x00;
  174.         TL0=0x00;
  175.         TH1=0x00;
  176.         TL1=0x00;

  177.         T2CON=0x00;
  178.         RCAP2H=0x00;
  179.         RCAP2L=0x00;

  180.         IP=0x00;
  181.         IE=0x85;
  182.         PCON=0x00;
  183.         SCON=0x00;
  184. }

復制代碼
回復

使用道具 舉報

ID:162841 發表于 2017-1-24 22:48 來自手機 | 顯示全部樓層
這個可以找店家要資料阿,他賣這個東西肯定有阿
回復

使用道具 舉報

ID:162229 發表于 2017-1-25 14:10 | 顯示全部樓層
angmall 發表于 2017-1-24 21:11
WS2812B是一個集控制電路與發光電路于一體的智能外控LED光源。其外型與一個5050LED燈珠相同,每個元件即為 ...

好厲害,謝謝,正在研究中
回復

使用道具 舉報

ID:162229 發表于 2017-1-25 14:11 | 顯示全部樓層
199419zzq 發表于 2017-1-24 22:48
這個可以找店家要資料阿,他賣這個東西肯定有阿

恩恩,不過他那個店里提供的都是一些簡單的資料,沒有技術支持的
回復

使用道具 舉報

ID:162841 發表于 2017-1-25 20:49 來自手機 | 顯示全部樓層
你問店家要資料啊
回復

使用道具 舉報

ID:185907 發表于 2017-8-23 21:46 | 顯示全部樓層
angmall 發表于 2017-1-24 21:11
WS2812B是一個集控制電路與發光電路于一體的智能外控LED光源。其外型與一個5050LED燈珠相同,每個元件即為 ...

一樓的大佬  看到255還以為是PWM調制彩燈  請問有不是7色 是256*256*256色的彩燈程序嗎 想參考下 謝謝
回復

使用道具 舉報

ID:229170 發表于 2017-8-24 16:59 | 顯示全部樓層
有沒有資料分享下
回復

使用道具 舉報

ID:227956 發表于 2017-8-24 21:25 | 顯示全部樓層
謝謝,正在研究中
回復

使用道具 舉報

ID:65882 發表于 2018-6-21 13:52 | 顯示全部樓層
angmall 發表于 2017-1-24 21:11
WS2812B是一個集控制電路與發光電路于一體的智能外控LED光源。其外型與一個5050LED燈珠相同,每個元件即為 ...

這個是直接單片機 IO 就可以控制室吧, 不需要外加三極管什么的
回復

使用道具 舉報

ID:356094 發表于 2018-6-21 15:39 | 顯示全部樓層
學習了
回復

使用道具 舉報

ID:173054 發表于 2018-6-21 17:53 | 顯示全部樓層
LED好接,主要是單片機要編程,這個要看資料啊
回復

使用道具 舉報

ID:356372 發表于 2018-6-21 20:39 | 顯示全部樓層
正在研究中....
回復

使用道具 舉報

ID:571570 發表于 2019-6-27 08:38 來自手機 | 顯示全部樓層
請問一下有沒有原理圖,和仿真圖
回復

使用道具 舉報

ID:586048 發表于 2020-8-7 20:23 | 顯示全部樓層
angmall 發表于 2017-1-24 21:11
WS2812B是一個集控制電路與發光電路于一體的智能外控LED光源。其外型與一個5050LED燈珠相同,每個元件即為 ...

回復

使用道具 舉報

ID:106821 發表于 2020-9-16 11:50 | 顯示全部樓層
應該是被編碼了的,需要知道編碼規則
回復

使用道具 舉報

ID:941748 發表于 2021-6-21 17:14 | 顯示全部樓層
51單片機要買啥樣的?
回復

使用道具 舉報

ID:941748 發表于 2021-6-21 17:15 | 顯示全部樓層
51單片機要買什么配置的
回復

使用道具 舉報

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

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产成人精品一区二区三 | 99免费精品 | 精品一区二区免费视频 | 久久精品国产一区 | 超碰在线97国产 | 成人免费片 | 欧美一级片免费看 | 91精品国产综合久久精品 | 日本黄色大片免费看 | 91在线精品秘密一区二区 | 国产精品久久久久久久免费观看 | 久久久一区二区三区四区 | 暴草美女 | 蜜臀网 | 亚洲午夜视频 | 久久国产成人精品国产成人亚洲 | 国产精品久久久久久久久久久新郎 | 久久99精品久久久久久国产越南 | 天天在线操 | 亚洲一区中文字幕 | 岛国视频 | 国产成人精品久久久 | 亚洲狠狠 | 91福利网址| 亚洲国产精品99久久久久久久久 | 久久精品青青大伊人av | 毛片免费观看视频 | 一区二区三区高清 | 国产精品毛片一区二区三区 | 在线观看成人精品 | 久久大陆 | 久久九精品 | 久久精品97 | 日韩中文字幕高清 | 日韩国产中文字幕 | 国产伦精品一区二区三区精品视频 | 国产精品一区一区 | 亚洲欧美日本在线 | 黄色大片免费观看 | 国产日韩欧美一区二区在线播放 | 日本久久精品视频 |