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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 19023|回復: 15
打印 上一主題 下一主題
收起左側

WS2811燈光單片機程序 實現2片TM1812幻彩變化 修改變量IC可修改TM1812數量

  [復制鏈接]
跳轉到指定樓層
樓主
ID:170548 發表于 2017-3-14 10:38 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
WS2811芯片燈光控制程序分享給大家

源程序:
  1. /******************************************************************************
  2. //*版權信息:深圳市天微電子
  3. //*文 件 名:TM1812-V1.0
  4. //*當前版本:V1.0
  5. //*MCU 型號:STC15W104
  6. //*開發環境:Keil uVision4
  7. //*晶震頻率:33MHZ(內部時鐘)      
  8. //*完成日期:2015-07-10
  9. //*程序功能:1.該程序可實現2片TM1812幻彩變化。
  10. //           2.修改變量IC可修改TM1812數量。
  11. //*免責聲明:1.此程序為TM1812驅動LED點亮演示程序,僅作參考之用。
  12. //           2.如有直接使用本例程程序造成經濟損失的,本公司不承擔任何責任。            
  13. /*******************************************************************************/
  14. #include <reg52.h>                //MCU頭文件
  15. #include "intrins.h"                //包含nop指令頭文件

  16. #define nop  _nop_();   
  17.                    //宏定義
  18. /********************************定義控制端口***********************************/
  19. sbit DO=P3^3;                    //定義信號輸出DO

  20. /**********************************定義變量*************************************/
  21. unsigned int IC=2;                          //控制TM1812個數
  22. unsigned int LED_PX;                        //像素點數
  23. unsigned char PWM=255;                      //TM1812灰度數據
  24. unsigned char Rda,Gda,Bda;                  //R、G、B灰度數據
  25. unsigned char bdata LED_data;               //可位操作的數據發送暫存變量聲明
  26. sbit bit0=LED_data^0;                        //被發送的數據各位定義
  27. sbit bit1=LED_data^1;
  28. sbit bit2=LED_data^2;
  29. sbit bit3=LED_data^3;
  30. sbit bit4=LED_data^4;
  31. sbit bit5=LED_data^5;
  32. sbit bit6=LED_data^6;
  33. sbit bit7=LED_data^7;
  34. bit flag=0;                                 //定義一個標志位

  35. /**********************************延時函數*************************************/
  36. void delay(unsigned int n)                  //n=1,延時500us
  37. {
  38.     unsigned int i;
  39.     while(n--)
  40.         for(i=0;i<860;i++);
  41. }

  42. /********************發送0碼函數,高電平400ns,周期1.25us************************/
  43. void send_data_0()   
  44. {
  45.      DO=1;
  46.      nop;nop;nop;nop;nop;
  47.      nop;nop;nop;nop;nop;      
  48.      DO=0;
  49.      nop;nop;nop;nop;nop;nop;nop;
  50.      nop;nop;nop;nop;nop;nop;nop;
  51. }

  52. /*******************發送1碼函數,高電平800ns,周期1.25us*************************/
  53. void send_data_1()   
  54. {
  55.      DO=1;
  56.      nop;nop;nop;nop;nop;nop;
  57.      nop;nop;nop;nop;nop;
  58.      nop;nop;nop;nop;nop;nop;
  59.      nop;nop;nop;nop;nop;
  60.      DO=0;   
  61. }

  62. /***********************發送1個字節數據,高位先發*******************************/
  63. void send_data(unsigned char DATA)        
  64. {
  65.     LED_data=DATA;                          
  66.     if(bit7)  send_data_1();  else send_data_0();
  67.     if(bit6)  send_data_1();  else send_data_0();
  68.     if(bit5)  send_data_1();  else send_data_0();
  69.     if(bit4)  send_data_1();  else send_data_0();
  70.     if(bit3)  send_data_1();  else send_data_0();
  71.     if(bit2)  send_data_1();  else send_data_0();
  72.     if(bit1)  send_data_1();  else send_data_0();
  73.     if(bit0)  send_data_1();  else send_data_0();
  74. }
  75. /******************************發送1幀數據*************************************/
  76. void send_px()
  77. {
  78.     unsigned int i;
  79.     for(i=0;i<LED_PX;i++)
  80.     {
  81.         send_data(Rda);             //發送R灰度數據
  82.         send_data(Gda);             //發送G灰度數據
  83.         send_data(Bda);             //發送B灰度數據
  84.     }
  85. }
  86. /*===============================主函數=======================================*/
  87. void main()
  88. {
  89.     unsigned char i;
  90.     LED_PX=3*IC;                        //1個TM1812等于4個像素
  91.     Rda=Gda=Bda=0;                      //R、G、B灰度數據復位清零
  92.     while(1)
  93.     {
  94.         for(i=0;i<PWM;i++)          //紅色漸亮  
  95.         {
  96.             Rda=i;              //灰度計算
  97.             send_px();          //發送灰度數據
  98.             delay(50);          //復位延時
  99.         }
  100.         flag=1;                     //標志位置位
  101.         while(flag)                 //標志位置位后循環函數
  102.         {
  103.             for(i=0;i<PWM;i++)  //紅色漸滅,綠色漸亮
  104.             {
  105.                 Gda=i;
  106.                 Rda=PWM-i;  //灰度計算
  107.                 send_px();  //發送灰度數據
  108.                 delay(50);  //復位延時
  109.             }
  110.             for(i=0;i<PWM;i++)  //綠色漸滅,藍色漸亮
  111.             {
  112.                 Bda=i;           
  113.                 Gda=PWM-i;  //灰度計算
  114.                 send_px();  //發送灰度數據
  115.                 delay(50);  //復位延時
  116.             }
  117.             for(i=0;i<PWM;i++)  //藍色漸滅,紅色漸亮
  118.             {
  119.                 Rda=i;
  120.                 Bda=PWM-i;  //灰度計算
  121.                 send_px();  //發送灰度數據
  122.                 delay(50);  //復位延時
  123.             }
  124.         }
  125.     }
  126. }
  127. /*================================結束==========================================*/
復制代碼

51單片機22路全彩控制器:http://www.zg4o1577.cn/bbs/dpj-53297-1.html

評分

參與人數 2黑幣 +10 收起 理由
江南云者 + 5 很給力!
colerwei + 5 很給力!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏16 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:36520 發表于 2017-10-15 02:45 | 只看該作者
謝謝樓主,下載來參考下。
回復

使用道具 舉報

板凳
ID:243162 發表于 2017-10-26 16:06 | 只看該作者
好經典的程序
回復

使用道具 舉報

地板
ID:245815 發表于 2017-11-13 19:42 | 只看該作者
這個非常給力,代碼寫得很清晰
回復

使用道具 舉報

5#
ID:245815 發表于 2017-11-13 19:44 | 只看該作者
對于做燈的人來說,這個東西真的很有幫助,感謝分享
回復

使用道具 舉報

6#
ID:282538 發表于 2018-2-6 14:43 | 只看該作者
我以為有22種狀態,把剩下的發給大家參考
                                Rda=i;
                                Bda=PWM-i;  //灰度計算
                                send_px();  //發送灰度數據
                                delay(50);  //復位延時
                        }
                }
        }
}
回復

使用道具 舉報

7#
無效樓層,該帖已經被刪除
8#
無效樓層,該帖已經被刪除
9#
無效樓層,該帖已經被刪除
10#
ID:316697 發表于 2018-4-25 22:38 | 只看該作者
要用什么軟件打開,keil 打不開的
回復

使用道具 舉報

11#
無效樓層,該帖已經被刪除
12#
ID:432112 發表于 2018-11-23 22:39 | 只看該作者

謝謝樓主,下載來參考下。
回復

使用道具 舉報

13#
ID:69115 發表于 2019-4-7 03:14 | 只看該作者
51單片機能驅動WS2811,很好很實用.
回復

使用道具 舉報

14#
無效樓層,該帖已經被刪除
15#
無效樓層,該帖已經被刪除
16#
無效樓層,該帖已經被刪除
17#
ID:467751 發表于 2019-6-28 02:09 | 只看該作者
很好,很有幫助
回復

使用道具 舉報

18#
無效樓層,該帖已經被刪除
19#
ID:69115 發表于 2019-11-11 11:00 | 只看該作者
這個程序不錯,好玩
回復

使用道具 舉報

20#
無效樓層,該帖已經被刪除
21#
無效樓層,該帖已經被刪除
22#
無效樓層,該帖已經被刪除
23#
無效樓層,該帖已經被刪除
24#
無效樓層,該帖已經被刪除
25#
無效樓層,該帖已經被刪除
26#
無效樓層,該帖已經被刪除
27#
ID:99525 發表于 2022-1-7 15:27 | 只看該作者
這個不錯,直接驅動就行了!
回復

使用道具 舉報

28#
ID:199698 發表于 2022-3-10 09:22 | 只看該作者
唉,編程考運氣的我只能東抄抄西改改
回復

使用道具 舉報

29#
ID:1008454 發表于 2022-3-10 09:57 | 只看該作者
什么說明也沒有,我們能明白什么呢?,22路是指什么?.WS2811芯片是個什么芯片?
回復

使用道具 舉報

30#
無效樓層,該帖已經被刪除
31#
ID:1009425 發表于 2022-4-7 15:46 | 只看該作者
這是TM1812芯片,WS2811的時序不同
回復

使用道具 舉報

32#
ID:826754 發表于 2022-4-23 11:06 | 只看該作者
大神怎么只是發個原廠的樣品程序呀,22種狀態呢,怎么沒有,讓我又減了5黑幣,本來就不多。可以發一下那22種狀態的嗎?想要流水效果的,從左向右、從右向左、中間向兩邊的。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 狠狠狠干| 国产一区二区电影 | 蜜桃av鲁一鲁一鲁一鲁 | 欧美精品a∨在线观看不卡 欧美日韩中文字幕在线播放 | 丝袜久久| 亚洲精品高清视频 | 噜久寡妇噜噜久久寡妇 | 欧美日韩综合精品 | 午夜在线小视频 | 真人毛片 | 色婷婷综合网站 | 国产三区av | 99色播| 亚洲成人综合社区 | 日韩在线观看视频一区 | 天天做日日做 | 91色在线视频 | 精品一区二区久久久久久久网站 | 在线播放一区二区三区 | 国产亚洲www | 野狼在线社区2017入口 | 97精品视频在线观看 | 国产在线视频三区 | 国产馆 | 九九综合九九 | 天天干,夜夜操 | 亚洲精品欧美精品 | 国产精品一区一区三区 | 欧美在线天堂 | 在线看黄免费 | 国产一区二区三区久久 | 久久精品福利视频 | 少妇性l交大片免费一 | 成人免费在线视频 | 成人午夜精品 | 99免费 | 欧美亚洲日本 | 九九热免费看 | 亚洲风情在线观看 | 亚洲国产一区视频 | 日本午夜免费福利视频 |