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

標題: stc單片機控制4引腳Ws2812b RGB燈(VSS VDD DIN DOUT)完整純凈驅(qū)動程序 [打印本頁]

作者: 564th    時間: 2021-11-12 13:37
標題: stc單片機控制4引腳Ws2812b RGB燈(VSS VDD DIN DOUT)完整純凈驅(qū)動程序
800ns 400ns  可通過示波器進行自主調(diào)節(jié),簡單易用易學
單片機源程序如下:
  1. #include <STC8.H>
  2. #include "intrins.h"

  3. sbit ws2812b_IO=P3^3;  //控制WS2812數(shù)據(jù)輸出口
  4. u8 Loop_Speed=120; //流水燈延時變量
  5. unsigned char bdata LED_DAT; //可位操作的數(shù)據(jù)發(fā)送緩存變量

  6. sbit bit0=LED_DAT^0; //被發(fā)送數(shù)據(jù)的各位定義
  7. sbit bit1=LED_DAT^1;
  8. sbit bit2=LED_DAT^2;
  9. sbit bit3=LED_DAT^3;
  10. sbit bit4=LED_DAT^4;
  11. sbit bit5=LED_DAT^5;
  12. sbit bit6=LED_DAT^6;
  13. sbit bit7=LED_DAT^7;

  14. //*******************發(fā)送1碼**********************// 1, 18n ,0,6n              //STC燒錄器設置24M,,,不同單片機 選擇不同個數(shù)的NOP。
  15. //一個)_NOP_()為40ns 高碼850ns低碼400ns
  16. #define CODE_1 {ws2812b_IO=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();ws2812b_IO=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}            

  17.         //*******************發(fā)送0碼**********************//1 ,9n,0,15n
  18. //一個)_NOP_()為40ns 高碼400ns低碼850ns
  19. #define CODE_0 {ws2812b_IO=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();ws2812b_IO=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();}     

  20. void SendData(u8 dat)
  21. {
  22.         LED_DAT = dat;
  23.         if(bit7==1){CODE_1} else{CODE_0}
  24.         if(bit6==1){CODE_1} else{CODE_0}
  25.         if(bit5==1){CODE_1} else{CODE_0}
  26.         if(bit4==1){CODE_1} else{CODE_0}
  27.         if(bit3==1){CODE_1} else{CODE_0}
  28.         if(bit3==1){CODE_1} else{CODE_0}
  29.         if(bit1==1){CODE_1} else{CODE_0}
  30.         if(bit0==1){CODE_1} else{CODE_0}

  31. }

  32. void ON_LED(u8 GG,u8 RR,u8 BB)// 先綠色 后紅  后藍  
  33. {        
  34.                         SendData(GG);   
  35.                         SendData(RR);
  36.                         SendData(BB);        
  37. }

  38. void Delay1ms(u16 k)                //@24.000MHz       Delay1ms(50);//實測50ms
  39. {
  40.         unsigned char i, j, m;
  41.         for(m=0;m<k;m++)
  42.         {
  43.                 _nop_();
  44.                 i = 32;
  45.                 j = 40;
  46.                 do
  47.                 {
  48.                         while (--j);
  49.                 } while (--i);
  50.         }
  51. }

  52. void Delay1us(u16 v)                //@24.000MHz      Delay1us(50);//重置最小時間,實測60us
  53. {
  54.         unsigned char i ,m;
  55.         for(m=0;m<v;m++)
  56.         {
  57.                 i = 6;
  58.                 while (--i);
  59.         }
  60. }

  61. void init ()
  62. {
  63.           P3M0=0;
  64.                 P3M1=0;
  65.                 P5M0=0;
  66.                 P5M1=0;
  67. }

  68. void main()
  69. {
  70.         init();
  71.         while(1)
  72.         {
  73.                 ON_LED(0X00,0XFF,0X00);//一行代碼對應一個燈, 三個255數(shù)字對應3燈亮度,可以組合任意顏色 ,重置發(fā)送數(shù)據(jù)時間間隔  Delay1us(50);就重新從第一個地址為發(fā)送。
  74.                 ON_LED(0X00,0XFF,0X00);
  75.                 ON_LED(0X00,0XFF,0X00);
  76.                 ON_LED(0X00,0XFF,0X00);
  77.                 ON_LED(0X00,0XFF,0X00);
  78.                
  79.                 ON_LED(0X00,0X00,0XFF);
  80.                 ON_LED(0X00,0X00,0XFF);
  81.                 ON_LED(0X00,0X00,0XFF);
  82.                 ON_LED(0X00,0X00,0XFF);
  83.                 ON_LED(0X00,0X00,0XFF);
  84.                
  85.                 ON_LED(0XFF,0X00,0X00);
  86.                 ON_LED(0XFF,0X00,0X00);
  87.                 ON_LED(0XFF,0X00,0X00);
  88.                 ON_LED(0XFF,0X00,0X00);
  89.                 ON_LED(0XFF,0X00,0X00);
  90.                
  91.                 ON_LED(0X00,0XFF,0XFF);
  92.                 ON_LED(0X00,0XFF,0XFF);
  93.                 ON_LED(0X00,0XFF,0XFF);
  94.                 ON_LED(0X00,0XFF,0XFF);
  95.                 ON_LED(0X00,0XFF,0XFF);
  96.                 while(1);
  97.         }


  98. }

復制代碼


企業(yè)51hei截圖_16366951833416.png (34.87 KB, 下載次數(shù): 127)

企業(yè)51hei截圖_16366951833416.png

企業(yè)51hei截圖_16366951983577.png (42.38 KB, 下載次數(shù): 118)

企業(yè)51hei截圖_16366951983577.png

作者: liqiangcom    時間: 2022-8-9 22:44
這個比較精確
作者: nsj21n    時間: 2022-9-19 15:32
經(jīng)測試非常好用,學習到了,不過設置成1T的時候需要在>6M時再自己測試一下時間間隔,謝謝分享!
作者: 15031773670    時間: 2023-4-16 20:37
這個代碼應該好研究。謝謝
作者: xieqinfu    時間: 2024-4-28 22:32
這個代碼應該好研究。謝謝




歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 毛片网站在线观看视频 | 精品国产色 | 亚洲精品一区二区三区在线 | 欧美午夜精品理论片a级按摩 | 伊人伊人伊人 | 国产精品欧美一区二区三区 | 三级黄色片在线观看 | 男女啪啪高潮无遮挡免费动态 | 国产区在线观看 | 精品一区二区三区四区 | 高清亚洲 | 色婷婷av99xx| 日韩有码在线播放 | 亚洲精品久久久久avwww潮水 | 国产激情视频网站 | 日韩色视频 | 久久久久国产视频 | 国产一级特黄aaa大片评分 | 日韩电影免费在线观看中文字幕 | 这里精品 | 国产在线精品免费 | 欧美 日韩 亚洲91麻豆精品 | 午夜视频网 | 6080亚洲精品一区二区 | 精品1区| 国产成人99久久亚洲综合精品 | 蜜臀久久99精品久久久久野外 | 亚洲在线免费观看 | 午夜视频一区 | 精品日韩在线 | 国产精品69毛片高清亚洲 | 久久久精品视频一区二区三区 | 一区二区三区在线 | 欧 | 久久久精品一区二区 | 欧美女优在线观看 | 欧美色欧美亚洲另类七区 | 在线不卡一区 | 欧美高清dvd | 亚洲永久精品国产 | 亚洲第一天堂无码专区 | 国产高清免费 |