weixinal 发表于 2012-2-26 17:20:22

第一次写串行通信程序,RGB全彩LED驱动芯片ws2801

大家快帮忙啊,ws2801是3通道LED驱动芯片,pwm可以实现256级灰度输出,准备做个显示装置就买了50个sop14的
第一次写串行通信程序,RGB全彩LED驱动芯片ws2801,大约能看懂芯片文档里的时序图,上时序图
另外文档里的文字说明跟时序图有出入,具体是开始位的问题,到底有没有开始位,还有芯片什么时候有pwm输出都是问题

假设用avr做mcu
这是发送24个1的程序,大家看看合不合适
void SendTestDate(void)
{
DDRB|=0X03;//初始化io口为输出
unsigned int i;
for(i=0;i<24;i++)
{
PORTB|=0X02;//发送24个1过去,按理说3个通道都应该输出最大占空比
delay();
PORTB|=0X01://这是时钟线,上升沿锁存数据
delay();//合适的延时
PORTB&=0xfe://时钟线清零
}
}

如果加上起始位的话就发送25个1,把for循环里的24改成25就可以了,但是无论是24或者25都不行




http://cache.amobbs.com/bbs_upload782111/files_52/ourdev_722440PDSWFI.JPG
(原文件名:ws2801时序图.JPG)

http://cache.amobbs.com/bbs_upload782111/files_52/ourdev_722441N2P5U9.JPG
(原文件名:恒压.JPG)

点击此处下载 ourdev_722442Y9KINA.pdf(文件大小:371K) (原文件名:WS2801.pdf)

weixinal 发表于 2012-2-26 17:56:31

顶起来

airfex 发表于 2012-2-26 17:58:20

再顶起来

weixinal 发表于 2012-2-26 18:21:54

感谢楼上airfex

qq502835899 发表于 2012-11-1 15:20:37

不知道楼主现在解决没;

司马朝阳007 发表于 2012-11-3 15:11:08

不知道楼主现在解决没;
页: [1]
查看完整版本: 第一次写串行通信程序,RGB全彩LED驱动芯片ws2801