[Öppen källkod]DWIN-skärmkontroll WS2812 Ambient Lighting

--Från DWIN Developer Forum

Denna fråga för dig att driva det prisbelönta fallet med öppen källkod av DWIN Developer Forum - DWIN skärmkontroll WS2812 omgivningsbelysning, ingenjörer genom COF intelligenta skärm OS-kärna för att noggrant kontrollera WS2812 fantomljusbältet varje lamppärls färg, för att uppnå färgbyte av bältets dynamiska effekter.

1.UI Material

vcsd (1)

2.UI Design

vcsd (2)

3. C51-projekt

Drivrutinskoden för att styra ljusets färg genom IO-porten är följande:

ogiltig WS2812_Write_RGB()

{

u8 i,j,a;

EA=0;

for(j=0;j<3;j++)//Antal sändningar som krävs för varje ljus

{

a=RGB_One[j];

för(i=0;i<8;i++)

{

WS2812_DI=1;

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); );_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_(); );_nop_();_nop_();_nop_();

WS2812_DI=(a&0x80);

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();

a<<=1;

WS2812_DI=0;

}

WS2812_DI=0;

}

EA=1;

}

ogiltig WS2812_RST()

{

WS2812_DI=0;

sys_delay_ms(1);

}

void WS2812_DIS_1()//Effekt 1, färgväxling, alla LED-färger, totalt 7 grundfärger

{

statisk u8 j=1;

u16 i=0;

if(j&0X01) RGB_One[1]=10;annars RGB_One[1]=0;

if(j&0X02) RGB_One[0]=10;annars RGB_One[0]=0;

if(j&0X04) RGB_One[2]=10;annars RGB_One[2]=0;

j%=7;

j++;

för(i=0;i

WS2812_Write_RGB();

WS2812_RST();

sys_delay_ms(1000);

}


Posttid: 2024-jan-31