LPD6803 datasheet
//output 5bits blue data
Mask=0x10;
For (j=0;j<5;j++)
{ if(mask & db) SD0=1;
Else
SD0=0;
SCLK=1;SCLK=0;
Mask>>=1; }
}
// after output all nDots data, need add nDots pulse
SD0=0;
For (i=0;i<nDots;i++){SCLK=1;SCLK=0;}
//transport data finish
Delay();
//here add some delay , or transfer to other dealings, after some time(say 1/30
second), then fresh again.
LPD6803 duty cycle table:
input data
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
output duty cycle (unit:
1/256)
0
1
3
5
8
12
16
21
26
32
38
45
52
60
68
76
85
95
105
115
125
136
148
10