欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 5031|回復(fù): 4
打印 上一主題 下一主題
收起左側(cè)

哪位大佬有驅(qū)動ws2812b的源程序 求分享

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:443823 發(fā)表于 2018-12-11 09:33 來自觸屏版 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
如題
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

沙發(fā)
ID:155507 發(fā)表于 2018-12-30 11:43 | 只看該作者
程序分享出來給需要的人作參考
  1. /*------------------------------------------------------------------------------------
  2. * 項目名稱:
  3. 帶單片機8位全彩流水燈模板程序V1.0
  4. * 功能描述:
  5. 1、兩個按鍵采用中斷形式,一個控制顯示模式,一個控制顯示顏色
  6. * 歷史版本:
  7.      2016-01-27:
  8.        - 初始版本 V1.0.0;
  9. * 配置說明:
  10.           - MCU    :STC15W204S
  11.          - CPU頻率:30MHz
  12. -------------------------------------------------------------------------------------*/

  13. /**************************************子函數(shù)聲明*************************************/

  14. //子程序名稱:IO_Init(void)        功能:端口初始化,使能中斷
  15. void System_Init(void);

  16. /**************************************包含頭文件*************************************/

  17. #include "STC15W.h"
  18. #include "ws2812.h"                 //包含LED驅(qū)動程序
  19. #include "delay.h"                 //包含延時程序

  20. /***************************************硬件接口**************************************/

  21. sbit BTN1 = P3^2;         //按鈕1連接P3.2
  22. sbit BTN2 = P3^3;         //按鈕2連接P3.3

  23. /***************************************全局變量**************************************/
  24. unsigned char mode=0;                  //控制顯示模式
  25. unsigned char color=0;                  //控制顯示顏色

  26. //9種顏色數(shù)據(jù)
  27. code unsigned char  colorArr[9][3]={{126,249,7},{242,212,241},{122,14,197},{42,238,27}
  28. ,{234,251,38},{35,218,3},{64,24,114},{250,18,20},{18,231,250}};

  29. //定義一個二維,每個括號內(nèi)的三個數(shù)據(jù)對應(yīng)一個像素點
  30. //16像素點的數(shù)組,每個像素點的顏色由3個字節(jié)絕對{綠,紅,藍(lán)}
  31. unsigned char s[16][3]={{50,5,5},{50,5,5},{50,5,5},{50,5,5},{50,5,5},{50,5,5},
  32. {50,5,5},{50,5,5},{50,5,5},{50,5,5},{50,5,5},{50,5,5},{50,5,5},{50,5,5},
  33. {50,5,5},{50,5,5}};        

  34. //8像素點的數(shù)組,每個像素點的顏色由3個字節(jié)絕對{綠,紅,藍(lán)}
  35. //unsigned char s[16][3]={{50,5,5},{50,5,5},{50,5,5},{50,5,5},{50,5,5},{50,5,5},
  36. //{50,5,5},{50,5,5}};        

  37. //定義一個拖尾數(shù)組
  38. unsigned char tail[5][3]={{50,5,5},{50,5,5},{50,5,5},{50,5,5},{50,5,5}};

  39. //定義一個消減比例
  40. code unsigned char cut[5]={3,2,0,2,3};
  41. code unsigned char cut2[5]={1,2,3,2,1};

  42. /***************************************主程序****************************************/

  43. void  main()
  44. {
  45.         unsigned char i,j,k;
  46.         unsigned char side=0;
  47.         
  48.         DelayMs(100);                          //上電延時
  49.         System_Init();                          //系統(tǒng)初始化
  50.     EA = 1;                                          //使能中斷

  51.         //上電讓所有LED滅掉
  52.         for(i=0;i<16;i++)
  53.         {
  54.                 s[i][0]=0;                      //修改數(shù)組中的數(shù)據(jù)
  55.                 s[i][1]=0;
  56.                 s[i][2]=0;
  57.         }
  58.         SendOneFrame(s);                  //顯示數(shù)組中的數(shù)據(jù)
  59.         Delay100Ms(1);
  60.                
  61.         //主循環(huán)
  62.         while(1)
  63.         {
  64.                 //計算拖尾色
  65.                 for(j=0;j<5;j++)
  66.                 {                                
  67.                         tail[j][0]=colorArr[8-color][0]>>cut[j];
  68.                         tail[j][1]=colorArr[8-color][1]>>cut[j];
  69.                         tail[j][2]=colorArr[8-color][2]>>cut[j];
  70.                 }
  71.                
  72.                 for(j=0;j<SNUM+5;j++)
  73.                 {
  74.                         //先上底色
  75.                         for(i=0;i<SNUM;i++)
  76.                         {
  77.                                 s[i][0]=colorArr[color][0];
  78.                                 s[i][1]=colorArr[color][1];
  79.                                 s[i][2]=colorArr[color][2];
  80.                         }
  81.                         //修改數(shù)值
  82.                         for(i=j,k=0;i>0&&k<5;i--,k++)
  83.                         {
  84.                                 if(i<=SNUM)
  85.                                 {
  86.                                         //s[i-1][0]=(colorArr[color][0]>>cut2[k])+tail[k][0];
  87.                                         //s[i-1][1]=(colorArr[color][1]>>cut2[k])+tail[k][1];
  88.                                         //s[i-1][2]=(colorArr[color][2]>>cut2[k])+tail[k][2];
  89.                                         s[i-1][0]=tail[k][0];
  90.                                         s[i-1][1]=tail[k][1];
  91.                                         s[i-1][2]=tail[k][2];
  92.                                 }                                       
  93.                         }
  94.                         SendOneFrame(s);                  //顯示數(shù)組中的數(shù)據(jù)
  95.                         DelayMs(50);
  96.                 }               
  97.         }
  98. }

  99. //-------------------------------------------------------------------------------
  100. //子程序名稱:System_Init(void)
  101. //功能:端口初始化,使能中斷
  102. //-------------------------------------------------------------------------------
  103. void System_Init(void)
  104. {
  105.         BTN1=1;
  106.         BTN2=1;

  107.         //使能INT0中斷
  108.         INT0 = 1;
  109.     IT0 = 1;                    //設(shè)置INT0的中斷類型 (1:僅下降沿 0:上升沿和下降沿)
  110.     EX0 = 1;                    //使能INT0中斷
  111.         
  112.         //使能INT1中斷
  113.         INT1 = 1;
  114.     IT1 = 1;                    //設(shè)置INT1的中斷類型 (1:僅下降沿 0:上升沿和下降沿)
  115.     EX1 = 1;                    //使能INT1中斷
  116. }
  117. /**************************************中斷服務(wù)程序*********************************/
  118. //按鍵1中斷入口:模式切換
  119. void Btn1Int() interrupt 0         
  120. {
  121.         //進來先關(guān)中斷
  122.         EA = 0;
  123.         INT_CLKO &= 0xEF;           
  124.         INT_CLKO &= 0xDF;  
  125.         
  126.         //延時一段時間
  127.         DelayMs(40);
  128.         
  129.         mode++;
  130.         if(mode==4)
  131.         {
  132.                 mode=0;
  133.         }
  134.         //走時開中斷
  135.         EA = 1;
  136.         INT_CLKO |= 0x10;              
  137.         INT_CLKO |= 0x20;                                 
  138. }
  139. //按鍵2中斷入口:控制顏色切換
  140. void Btn2Int() interrupt 2        
  141. {
  142.         //進來先關(guān)中斷
  143.         EA = 0;
  144.         INT_CLKO &= 0xEF;           
  145.         INT_CLKO &= 0xDF;  
  146.         
  147.         //延時一段時間
  148.         DelayMs(40);
  149.         
  150.         color++;
  151.         if(color==9)
  152.         {
  153.                 color=0;
  154.         }

  155.         //走時開中斷
  156.         EA = 1;
  157.         INT_CLKO |= 0x10;              
  158.         INT_CLKO |= 0x20;                 
  159. }



  160. /************************結(jié)束*******************************************************/
復(fù)制代碼

全部資料51hei下載地址:
ws2812B模塊資料.7z (10.02 MB, 下載次數(shù): 142)



評分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 回帖助人的獎勵!

查看全部評分

回復(fù)

使用道具 舉報

板凳
ID:502412 發(fā)表于 2019-4-3 16:02 | 只看該作者
angmall 發(fā)表于 2018-12-30 11:43
程序分享出來給需要的人作參考

全部資料51hei下載地址:

謝謝分享
回復(fù)

使用道具 舉報

地板
ID:67634 發(fā)表于 2019-4-21 16:01 | 只看該作者
學(xué)習(xí)學(xué)習(xí)
回復(fù)

使用道具 舉報

5#
ID:791100 發(fā)表于 2020-11-14 09:57 | 只看該作者
非常感謝,資料非常齊全,謝謝
回復(fù)

使用道具 舉報

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

本版積分規(guī)則

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

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

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