历史上的今天
返回首页

历史上的今天

今天是:2025年02月22日(星期六)

2020年02月22日 | 基于AVR的RGB彩灯控制芯片WS2801的控制程序

2020-02-22 来源:eefocus

简介:本文主要介绍的是基于AVR的RGB彩灯控制芯片WS2801的控制程序

#include"color.h"

#include"delay.h"

// 0.18084us

void Sbi_SDI()

{

    sbi(PORTC,1);

}

void Cbi_SDI()

{

    cbi(PORTC,1);

}

void Sbi_CKI()

{

    sbi(PORTC,0);

}

void Cbi_CKI()

{

    cbi(PORTC,0);

}

void Send_CKI()  //WS2801 上升沿

{

   Cbi_CKI();      // 时钟 拉低

   _delay_us(6);

   Sbi_CKI();      // 时钟 拉高

   _delay_us(6);

   Cbi_CKI();      // 时钟 拉低

}

void Write_WS2801_Data(unsigned char _data)  //WS2801

{

   unsigned char dai;

   unsigned char cache;

   for(dai=0;dai<8;dai++)

      {

     cache = (_data & 0x80)>>7;

if(cache)

     Sbi_SDI();

         else

     Cbi_SDI();

         Send_CKI();

_data <<= 1;

  }

}

void Write_WS2801_ColorData(unsigned char *pd)

{

   unsigned char LEDMax = 0; // LED 最大数量

   Cbi_CKI();

   Cbi_SDI();

   _delay_us(250);

   _delay_us(250);

   for(LEDMax = 0;LEDMax<27;LEDMax++)

      {

     //Write_WS2801_Data(Red);

         //Write_WS2801_Data(Green);

         //Write_WS2801_Data(Blue);

Write_WS2801_Data(*pd);

pd++;

  }

}


推荐阅读

史海拾趣

ADMOS公司的发展小趣事

在电子行业的早期,ADMOS公司以其前瞻性的技术视野和不懈的研发努力,成功开发出一款高效能、低能耗的功率管理芯片。这款芯片在市场上迅速获得了认可,为ADMOS公司赢得了良好的口碑。这一技术突破不仅奠定了ADMOS在功率管理领域的领先地位,也为公司的后续发展奠定了坚实的基础。

Amphenol(安费诺)公司的发展小趣事

在电子行业的早期,ADMOS公司以其前瞻性的技术视野和不懈的研发努力,成功开发出一款高效能、低能耗的功率管理芯片。这款芯片在市场上迅速获得了认可,为ADMOS公司赢得了良好的口碑。这一技术突破不仅奠定了ADMOS在功率管理领域的领先地位,也为公司的后续发展奠定了坚实的基础。

Fanstel公司的发展小趣事

Fanstel公司一直将产品质量视为企业的生命线。公司建立了严格的质量管理体系,从原材料采购到产品生产、检测等各个环节都进行严格控制。此外,Fanstel还不断引进先进的生产设备和检测技术,确保产品质量的稳定性和可靠性。这种对品质管理的坚持赢得了客户的信任和好评,也为公司赢得了更多的市场份额。

FEIG ELECTRONIC公司的发展小趣事

FEIG ELECTRONIC始终将技术创新作为企业发展的核心动力。公司不断投入大量资源进行技术研发和产品升级,以保持其在RFID领域的领先地位。近年来,FEIG推出了多款具有高性能、高可靠性、高安全性的RFID产品,如长距离读写器、智能门禁系统等。这些产品的推出不仅满足了客户的多样化需求,还进一步巩固了FEIG在RFID领域的市场地位。

以上五个故事大纲简要概述了FEIG ELECTRONIC在电子行业中的发展历程和关键事件。虽然每个故事的具体细节可能有所不同,但它们共同展示了FEIG在技术创新、市场拓展、合作创新、战略合作和持续创新方面的努力和成就。

aconno公司的发展小趣事

aconno公司在电子行业的崛起,始于其坚持创新驱动的发展策略。早年公司便投入大量资源进行技术研发,尤其是在物联网和嵌入式系统领域。通过不断推出具有创新性和实用性的产品,aconno逐渐在市场中建立了良好的口碑。例如,其自主研发的一款智能传感器,因其高灵敏度和稳定性受到了市场的广泛认可。随着技术的不断积累和创新,aconno逐渐在行业中崭露头角。

Corex Intervest Inc公司的发展小趣事

随着技术的不断发展,Corex Intervest Inc公司意识到要想在竞争激烈的电子行业中脱颖而出,必须不断进行技术创新和产品升级。因此,公司加大了研发投入,引进了一批高端人才,积极研发新型电子产品。经过多年的努力,公司成功开发出了一系列具有创新性和市场竞争力的产品,如智能传感器、高性能电源模块等,为公司的发展奠定了坚实的基础。

问答坊 | AI 解惑

颜色识别传感器

本帖最后由 paulhyde 于 2014-9-15 09:44 编辑  …

查看全部问答>

晶体振荡器的工作原理

本帖最后由 paulhyde 于 2014-9-15 09:11 编辑 关键字: 晶振 振荡器 石英晶体 石英晶体振荡器是高精度和高稳定度的振荡器,被广泛应用于彩电、计算机、遥控器等各类振荡电路中,以及通信系统中用于频率发生器、为数据处理设备产生时钟信号和为特 ...…

查看全部问答>

困扰许久的数码管显示问题!

用两个传统的573 控制 数码管显示,奇怪的是单个显示时,一切正常。待到多位扫描显示时,就出现了奇怪的顺序和段码,小弟不才, 望大虾们,不吝赐教! #include <reg52.h> sbit dula=P2^0;sbit wela=P2^1; void delay(int i){ int j=1 ...…

查看全部问答>

鼠标指针的刷新问题

加了USB鼠标,能够显示鼠标指针。只移动鼠标,显示正常。点击鼠标时,不论左右键,鼠标指针背景就不对了,看起来是上一帧的图案。在右键菜单上下移动鼠标就会留下一行轨迹。 平时移动鼠标,没有异常,那么显示驱动里SetPointerShape应该是对的吧。 ...…

查看全部问答>

各位老师,我是新手,请教Plc931直接ad转换的问题

我在公司里做毕业设计,采用lpc931单片机,想把一个十六位的数字量用单片机的Pwm功能给转换成模拟量,pwm输出采用rc滤波,但具体的c程序该怎么写呢?请指教!!…

查看全部问答>

新型测试仪器如何减少机架所占空间

Andrew Armutat 产品市场部 吉时利仪器公司   减少机架所占空间。新的吉时利SMU采用了2U[1]高的半机架设计,大大提高了机架密度。在实际情况下,基于该设计的自动化系统容量很容易集成几个到16个通道,甚至于128通道[2]也是有可能的 ...…

查看全部问答>

STM32 USART串口中断

 main(void)  {    /*PC4  PC13 PB10 PA0 */  USART_InitTypeDef USART_InitStructure;  USART_InitStructure.USART_BaudRate = 9600;  USART_InitStructure.USART_WordLength = USART_WordLengt ...…

查看全部问答>

使用usb(ch376或者ch375)完成PC和FPGA的通信

只是读写。   写,pc上的信息通过USB写如FPGA在数码管上显示。   读,读FPGA,ram里的信息,传给PC。 现在编verilog代码出现问题了。 谁要是有这个代码更好。 如果没有我想问一下,CH376并行通信的芯片中断管脚是怎么 ...…

查看全部问答>

点亮一个数码管

  之前虽然在开发板上学习了74HC573,但是当时连它的datasheet都没怎么看,就照着程序来写,所以对很多的芯片都不是很了解,对芯片很迷茫。终于决定要把以前做的试验在面包板上搭一遍体验体验。所以就有了今天的实验。经过几个小时的努力 ...…

查看全部问答>