WS2812B灯带STC驱动.doc

上传人:yyf 文档编号:6276068 上传时间:2020-10-11 格式:DOC 页数:8 大小:26.50KB
返回 下载 相关 举报
WS2812B灯带STC驱动.doc_第1页
第1页 / 共8页
WS2812B灯带STC驱动.doc_第2页
第2页 / 共8页
WS2812B灯带STC驱动.doc_第3页
第3页 / 共8页
WS2812B灯带STC驱动.doc_第4页
第4页 / 共8页
WS2812B灯带STC驱动.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《WS2812B灯带STC驱动.doc》由会员分享,可在线阅读,更多相关《WS2812B灯带STC驱动.doc(8页珍藏版)》请在三一文库上搜索。

1、.关于WS2812B我就不多说了,规格说明书讲的很详细。目前网上分享的2812驱动比较少,而且说明不详,使用起来不是很方便,本着共同进步的精神在这里和大家分享一下我的调试经验。MCU:STC12C5A08S2晶振:24M/经验:2812时序要求还是比较严,对传统51来说实现真的有难度,之前网上共享的STC89C52的驱动,即使真的点亮了灯带,估计也达不到我们的控制要求。因为1T的51加上24M的晶振,我在调试时也有点勉强,一次IO的翻转就要300ns。下面是灯带的驱动程序,可直接用:sbit Din = P32;uint8 bdata LED_DAT;/可位操作的数据发送暂存变量声明sbit

2、bit0 = LED_DAT0; /被发送的数据各位定义sbit bit1 = LED_DAT1;sbit bit2 = LED_DAT2;sbit bit3 = LED_DAT3;sbit bit4 = LED_DAT4;sbit bit5 = LED_DAT5;sbit bit6 = LED_DAT6;sbit bit7 = LED_DAT7;/复位码:低电平50us精品.void Reset()uint8 i;Din = 0;for(i = 0; i BSRR = 0x00000040)#define LED_OFF (GPIOA-BSRR = 0x00400000)void LED_G

3、PIO_Init() RCC-AHBENR |= 0x00020000 ; /enable the clock of PORTA GPIOA-MODER |= 0x00001000 ; / PA6 out GPIOA-OTYPER &= 0x00000000 ; /pull out GPIOA-OSPEEDR |= 0x00003000 ; / high speed 50MHZ GPIOA-PUPDR |= 0x00002000 ; / PUPD = DOWN GPIOA-BSRR |= 0x00400000 ; / reset PA5 void Send_8bits(uint8_t dat)

4、 uint8_t a;精品. for(a=0;a8;a+) LED_ON; if(dat & 0x80) asm(nop);asm(nop);asm(nop);asm(nop);asm(nop);asm(nop); asm(nop);asm(nop);asm(nop);asm(nop);asm(nop);asm(nop); asm(nop);asm(nop);asm(nop);asm(nop);asm(nop);asm(nop); asm(nop);asm(nop);asm(nop);asm(nop);asm(nop);asm(nop); asm(nop);asm(nop);asm(nop);

5、asm(nop);asm(nop);asm(nop); asm(nop);asm(nop);asm(nop);asm(nop);asm(nop);asm(nop); dat=dat1; LED_OFF; asm(nop);asm(nop);asm(nop);asm(nop);asm(nop);asm(nop); else asm(nop);asm(nop);asm(nop);asm(nop);asm(nop);asm(nop); dat=dat1; LED_OFF; asm(nop);asm(nop);asm(nop);asm(nop);asm(nop);asm(nop); asm(nop);

6、asm(nop);asm(nop);asm(nop);asm(nop);asm(nop);精品. asm(nop);asm(nop);asm(nop);asm(nop);asm(nop);asm(nop); asm(nop);asm(nop);asm(nop);asm(nop);asm(nop);asm(nop); asm(nop);asm(nop);asm(nop);asm(nop);asm(nop);asm(nop); asm(nop);asm(nop);asm(nop);asm(nop);asm(nop);asm(nop); void Send_2811_24bits(uint8_t dat1,uint8_t dat2,uint8_t dat3) Send_8bits(dat1); Send_8bits(dat2); Send_8bits(dat3);void rst() uint16_t i; LED_OFF; for(i=0;i100;i+);如有侵权请联系告知删除,感谢你们的配合!精品

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1