Hur man skapar en öl flaska LED VU-Meter (10 / 17 steg)
Steg 10: Med hjälp av PIC18F4550
Räkna ut vilka lysdioder som du vill ha på och vilka lysdioder du vill OFF. Vi använder data från exempel 3 i steg #8.
MSb Lsb Hex
IC1 - 1 Byte skickas -> 11000000 0xC0
IC2 - 2 Byte skickas -> 00000000 0x00
IC3 - 3 Byte skickas -> 00000110 0x06
IC4 - 4 Byte skickas -> 00001001 0x09
Detta är hur data skulle skickas till funktionen: SPI_Send_595(0xC0000609);
Ganska enkelt. Bara ta varje byte hex värde och ordna det i en 32-bitars variabel från och med den 1: a byten och fortsätter genom att den 4: e byten. SPI_Send_595(UInt32 data) hand tar om skicka och hållkommando data i 74HC595. All kod är kommenterade så jag kommer bara lägga vissa pseudo koden nedan vilket förklarar driften av funktionen.
Pseudo-kod
-32-bitars variabel överförs till funktionen SPI_Send_595(data)
-MSB är den första byten som överförs av PIC18F4550 (det kommer att hamna i IC1)
-Den andra byten överförs ur PIC (det kommer att hamna i IC2)
-Den tredje byten överförs ur PIC (det kommer att hamna i IC3)
-LSB är sista byte överförs ur PIC (den hamnar i IC4)
-RD2 går hög, som spärrarna data i skift register
-RD2 går låg, återvänder till standardtillståndet