通過三路ADC對WS2812控制
(年代太過久遠,引腳定義啥的忘了)
單片機源程序如下:
- #include"stc15f2k60s2.h"
- #ifndef __WS2812_H__
- #define __WS2812_H__
- sbit WS2812_IO=P5^5;
- void Delay100us() //@11.0592MHz
- {
- unsigned char i, j;
- _nop_();
- _nop_();
- i = 2;
- j = 15;
- do
- {
- while (--j);
- } while (--i);
- }
- void ws2812_write_byte(unsigned char dat)
- {
- unsigned char i = 8;
- dat <<= 1;
- while(i)
- {
- WS2812_IO = 1;
- // 如果主頻較高可在此處適當增加_nop_():
- // 將下面的dat <<= 1;移至此處也可以
- WS2812_IO = CY;
- WS2812_IO = 0;
- dat <<= 1;
- i--;
- }
- }
- void WS2812Write(unsigned char gree,re,blu)
- {
- ws2812_write_byte(gree);
- ws2812_write_byte(re);
- ws2812_write_byte(blu);
- }
- #endif
復制代碼
所有程序51hei提供下載:
ADC WS2812的控制.zip
(58.11 KB, 下載次數: 55)
2021-2-13 02:03 上傳
點擊文件名下載附件
|