WS2812B灯带STC驱动程序.docxVIP

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
光二极管,简称为LED,是一种常用的发光器件,通过电子与空穴复合释放能量发光,它在照明领域应用广泛。

关于 WS2812B 我就不多说了,规格说明书讲的很详细。 目前网上分享的 2812 驱动比较少,而且说明不详,使用起来不是很方便, 本着共同进步的精神在这里和大家分享一下我的调试经验。 MCU:STC12C5A08S2晶振:24M //经验:2812 时序要求还是比较严,对传统 51 来说实现真的有难度,之前网上共享的 STC89C52 的驱动,即使真的点亮了灯带,估计也达不到我们的控制要求。因为 1T 的 51 加上 24M 的晶振,我在调试时也有点勉强,一次IO 的翻转就要 300ns。 下面是灯带的驱动程序,可直接用: sbit Din = P3^2; uint8 bdata LED_DAT;//可位操作的数据发送暂存变量声明sbit bit0 = LED_DAT^0; //被发送的数据各位定义 sbit bit1 = LED_DAT^1; sbit bit2 = LED_DAT^2; sbit bit3 = LED_DAT^3; sbit bit4 = LED_DAT^4; sbit bit5 = LED_DAT^5; sbit bit6 = LED_DAT^6; sbit bit7 = LED_DAT^7; //复位码:低电平50us void Reset() { uint8 i; Din = 0; for(i = 0; i 50; i++) ; } //================================================================ //发送 RGB 数据,一个 nop 为 40ns, 刷新一次 32*24*1.25us=960us //================================================================ //1 码 高电平 850ns,低电平 400ns 实测 863,424 #define CODE1 {Din = 1;_nop_();_nop_();_nop_();_nop_();_nop_();\ _nop_();_nop_();_nop_();_nop_();_nop_();\ _nop_();_nop_();_nop_();_nop_();_nop_();\ _nop_();_nop_(); \ Din = 0;_nop_();_nop_();\ } //0 码 高电平 400ns,低电平 850ns 实测 343,704 #define CODE0 {Din = 1;_nop_();_nop_();_nop_();_nop_();  \ Din = 0;_nop_();_nop_();_nop_();_nop_();_nop_();\ _nop_();_nop_();_nop_();_nop_(); \ } void SendData(uint8 *dat) //数据格式 G7-G0-R7-R0-B7-B0 { LED_DAT = *dat++; if(bit7==1) {CODE1} else {CODE0} if(bit6==1) {CODE1} else {CODE0} if(bit5==1) {CODE1} else {CODE0} if(bit4==1) {CODE1} else {CODE0} if(bit3==1) {CODE1} else {CODE0} if(bit2==1) {CODE1} else {CODE0} if(bit1==1) {CODE1} else {CODE0} if(bit0==1) {CODE1} else {CODE0} LED_DAT = *dat++; if(bit7==1) {CODE1} else {CODE0} if(bit6==1) {CODE1} else {CODE0} if(bit5==1) {CODE1} else {CODE0} if(bit4==1) {CODE1} else {CODE0} if(bit3==1) {CODE1} else {CODE0} if(bit2==1) {CODE1} else {CODE0} if(bit1==1) {CODE1} else {CODE0} if(bit0==1) {CODE1} else {CODE0} LED_DAT = *dat; if(bit7==1) {CODE1} else {CODE0} if(bit6==1) {CODE1} else {CODE0} if(bit5==1) {CODE1} else {CODE0} if(bit4==1) {CODE1} else {CODE0} if(bit3==1) {CODE1} else {CODE0} if

文档评论(0)

宋停云 + 关注
实名认证
文档贡献者

特种工作操纵证持证人

尽我所能,帮其所有;旧雨停云,以学会友。

领域认证该用户于2023年05月20日上传了特种工作操纵证

1亿VIP精品文档

相关文档