标题: STC15单片机的WS2812控制程序,ADC版本 [打印本页]

作者: 天蓝色的Toto    时间: 2021-2-13 02:04
标题: STC15单片机的WS2812控制程序,ADC版本
通过三路ADC对WS2812控制
(年代太过久远,引脚定义啥的忘了)

单片机源程序如下:
  1. #include"stc15f2k60s2.h"

  2. #ifndef __WS2812_H__
  3. #define __WS2812_H__
  4. sbit WS2812_IO=P5^5;


  5. void Delay100us()                //@11.0592MHz
  6. {
  7.         unsigned char i, j;

  8.         _nop_();
  9.         _nop_();
  10.         i = 2;
  11.         j = 15;
  12.         do
  13.         {
  14.                 while (--j);
  15.         } while (--i);
  16. }


  17. void ws2812_write_byte(unsigned char dat)
  18. {
  19.         unsigned char i = 8;

  20.         dat <<= 1;
  21.         while(i)
  22.         {
  23.                 WS2812_IO = 1;
  24.         // 如果主频较高可在此处适当增加_nop_():
  25.         // 将下面的dat <<= 1;移至此处也可以
  26.                 WS2812_IO = CY;
  27.                 WS2812_IO = 0;
  28.                 dat <<= 1;
  29.                 i--;
  30.         }
  31. }

  32. void WS2812Write(unsigned char gree,re,blu)
  33. {
  34. ws2812_write_byte(gree);
  35. ws2812_write_byte(re);
  36. ws2812_write_byte(blu);
  37. }

  38. #endif
复制代码

所有程序51hei提供下载:
ADC WS2812的控制.zip (58.11 KB, 下载次数: 55)



作者: 人人学会单片机    时间: 2021-2-22 20:17
89C52驱动WS2812 http://www.51hei.com/bbs/dpj-170855-1.html




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1