>
设计背景
消费类电子产品主要面向的是年轻消费群体,为了取悦消费者,工程人员总是需要想各种方法让产品功能变得更加完善,外表更加绚丽。在产品成本高透明度,以及研发周期短的情况下,如何提升产品的竞争力这是研发人员所面临的一个事实。当前流行的MP3/MP4,手机等消费类电子添加7或者多色背光的功能是一个就是一个典型的例子。所付出的只是几个发光二极管的成本,却达到了让产品的操作界面更加绚丽和个性化。
4. 软件驱动设计
以下以驱动单个像素点来说明数据传送的方式。LPD6803是一个可以自动产生128级别
LED_SendData(BYTE Rdt, BYTE Gdt, BYTE Bdt)
{
......
SCLK = 0;
SDO = 0;
for(i=0;i<32;i++){SCLK=1;SCLK=0} //送起始32bits 0
SDO=1;SCLK=1;SCLK=0; //送起始位'1'
//输出5位红色
mask = 0x10;
for(j=0;j<5;j++)
{
if(mask&Rdt) SDO = 1;
else SDO = 0;
SCLK=1;SCLK=0;
mask>>=1;
}
//输出5位绿色
mask = 0x10;
for(j=0;j<5;j++)
{
if(mask&Bdt) SDO = 1;
else SDO = 0;
SCLK=1;SCLK=0;
mask>>=1;
}
//输出5位蓝色
mask = 0x10;
for(j=0;j<5;j++)
{
if(mask&Bdt) SDO = 1;
else SDO = 0;
SCLK=1;SCLK=0;
mask>>=1;
}
SDO=0;
SCLK=1;SCLK=0; //补1个CLOCK,如果一次送出了n个点的数据,则需要补n个Clock.
......
}