当前位置: 首页 > news >正文

深圳建设局网站军事人才招聘网官网2023岗位表

深圳建设局网站,军事人才招聘网官网2023岗位表,营业执照怎么申报年报,玛沁县网站建设公司WS2812B是一颗集控制与发光于一体的智能LED光源,采用24bit单线串行协议来实现RGB三色的控制,每颗灯珠可以实现256级亮度,16777216种全真色彩显示。看到B站网友发布的关于点亮WS2182视频后,RGB三原色混合后能得到不同的亮度和不同的…

WS2812B是一颗集控制与发光于一体的智能LED光源,采用24bit单线串行协议来实现RGB三色的控制,每颗灯珠可以实现256级亮度,16777216种全真色彩显示。看到B站网友发布的关于点亮WS2182视频后,RGB三原色混合后能得到不同的亮度和不同的颜色,感觉灯珠的确很炫,萌生了买一条来玩玩的想法。2022年从淘宝上买了一条8位的灯条,放了两年,近期一时兴起打开测试,几经测试只能点亮三颗,一度认为是编程上出现了问题,调试了半天没有任何进展最终还是放弃,决定重新淘上一块来测试验证,新品到货点亮后一切正常。下面将使用C51单片机驱动灯珠的过程记录下来。

一、硬件平台:

1、C51测试平台:

目前手上能用的测试C51平台有两块,一块是老平台STC89C52RD时钟为12M,还有一块是STC15W408AS。网上说STC89C52这种12T的单片机不能驱动WS2812,这里纠正一下,不是不能驱动,而是当前时钟为12M时不能驱动,当时钟频率为12M时一个机器周期大约为1us,而驱动灯珠最低需要0.35us,提高时钟频率至33M以上还是能驱动的。另外一块STC15W408AS的单片机属于1T的单片机,在12M的时钟频率下一个机器周期0.08us右左,为了省事自然是选择了后者。

2、WS2812测试灯条:

   从淘宝上购买的灯条外观如下图:

电路的连接方式采用串联方式,如下图所示:

二、硬件连接:

序号

C51平台

灯条

1

+5V

+5V

2

GND

GND

3

P12

IN

三、时序分析:

1、输入码型:

WS2812输入的码型总共三种,分别为0码、1码、Reset码。其中0码和1码通过高低电平时长来区分,每条码大约1.5us左右。而Reset码即复位码,通过拉低一定时长来识别区分,每条码50us左右,其在时序中的用于间隔两个数据帧。

下表为传输时间表:

2、单个灯珠的传输:

单个WS2812灯珠的数据结构如下图,每个灯珠以24bit位+复位码为基础一帧数据,24bit的组成8bit绿+8bit红+8bit蓝组成,由绿红蓝三原色混合成不同的颜色,其中三种单色有28种即256种颜色。

3、8个灯珠的传输:

8个灯珠采用串接方式,即D1的DO接D2的DI,D2的DO接D3的DI,如下图所示

第一个复合帧的结构如下:

D1(24bit)+ D2(24bit)+ D2(24bit)+...+ D8(24bit)+复位码

四、部分源码:


void setWs2812(unsigned char flag,unsigned char G,unsigned char R,unsigned char B)
{unsigned char i,j,temp;unsigned char p[3];if(flag)//当flag的值为1时显示点亮灯珠{p[0]=G;p[1]=R;p[2]=B;}else//当flag的值为0时显示关闭灯珠{p[0]=p[1]=p[2]=0x00;}for(i=0;i<3;i++)//发送24bit{temp=p[i];for(j=0;j<8;j++){if(temp&0x80)//1码{DI=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();DI=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();		}else//0码{DI=1;_nop_();_nop_();			DI=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();			}temp=(temp<<1);}}	}void setWs2812Frame(unsigned char id,unsigned G,unsigned char R,unsigned char B)
{unsigned char i;for(i=0;i<id;i++){setWs2812(1,G,R,B);/****if(i==(id-1)){setWs2812(1,G,R,B);}else{setWs2812(0,G,R,B);}****/}ResetLed();
}
//点亮单颗WS2812
void setWs2812(unsigned char flag,unsigned char G,unsigned char R,unsigned char B)
{unsigned char i,j,temp;unsigned char p[3];if(flag)//当flag的值为1时显示点亮灯珠{p[0]=G;p[1]=R;p[2]=B;}else//当flag的值为0时显示关闭灯珠{p[0]=p[1]=p[2]=0x00;}for(i=0;i<3;i++)//发送24bit{temp=p[i];for(j=0;j<8;j++){if(temp&0x80)//1码{DI=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();DI=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();		}else//0码{DI=1;_nop_();_nop_();			DI=0;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();			}temp=(temp<<1);}}	
}
//复位码
void ResetLed()
{DI=0;Delay60us();}
//点亮8颗
void setWs2812Frame(unsigned char id,unsigned G,unsigned char R,unsigned char B)
{unsigned char i;for(i=0;i<id;i++){setWs2812(1,G,R,B);		}ResetLed();
}

五、效果展示:

http://www.yayakq.cn/news/17769/

相关文章:

  • 网站盈利方式微信电商网站开发
  • 做问卷的网站有那些帝国cms 网站地图标签
  • 保定网站制作案例wordpress修改站名
  • 微网站建设报价方案模板下载wordpress仿知乎
  • 可以做一键拨号和导航的网站c2c的网站有哪些
  • 电脑网站页面怎么调大小松江老城做网站
  • jsp网站维护怎么制作网站上传视频
  • 下载 公司网站 程序 需要ftp权限全国注册信息查询系统
  • 工信部网站备案查询验证码错误企业网站需求文档
  • 大连网站推广排名开网店怎么找货源啊
  • 旅游网站的设计与制作html网站空间地址
  • 广西网站设计公司排行榜深圳手机网站建设联系电话
  • 徐州建筑工程招投标网站中关村丰台园
  • 东莞寮步网站建设编程入门自学软件
  • 信丰县建设局网站网站活动策划怎么做
  • 卧龙区微网站开发网站怎么进入后台管理
  • 电子商城网站开发合同成都便宜网站建设公司
  • 网站建设皿金手指谷哥壹柒营销策划公司名称
  • 怎么更改网站关键词南京微信网站建设哪家好
  • 钦州做网站手机网速
  • 个人网站带后台源码新加坡网站建设公司
  • 吉利汽车网站开发环境分析北京东宏建设网站
  • 玉溪市住房和建设局公布网站网站建设广州天河区
  • 网站建设服务电话网页app制作教程
  • 福建祥盛建设有限公司网站小型网站搭建
  • 学做西点的网站西安设计网站的公司
  • 浏阳做网站的有哪几家wordpress 主题排
  • 论述站点的几种推广方式wordpress 伪原创插件
  • 会展中心网站平台建设方案域名空间多少钱
  • 新余专业的企业网站建设公司怎么做类似清风dj网站