Serial To Parallel Data Connection
Om de LED-Tower aan te sturen wordt er een array van 1'en en 0'en sequentieel doorgestuurd door de PIC naar de Shift-Registers. De Shift-Registers zijn van het type 74HC595. Met als speciale functie het stockeren van de data vooraleer deze aan de uitgang verschijnt. Ook is er een pin beschikbaar (OE - Output Enable) die pas de volledige uitgang hoog zet als deze geactiveerd is. Via deze OE-pin is het dus mogelijk om de LED-rijen te laten flashen om een frequentie net boven de 25Hz (oog-waarnemingsgrens). Dit proces van flashen is zeer belangrijk aangezien de gehele toren heel wat Ampère zou trekken indien alle LED's continu zouden oplichten. Om de voedingsspecificaties na te leven is het dus noodzakelijk dat deze LED's op de juiste frequentie flashen. Er zijn 84 rijen van 13 LED's, dat maakt dus dat de gehele toren in continu bedrijf 650mA * 84 = 54.6A stroom trekken. In de assembeler-code is er dus een delay voorzien om die speciale OE-pin aan te sturen op de juiste frequentie.
De seriële data verlaat de PIC aan één van de pinnen van poort C en gaat dan naar de data-input van de shift-register. Vervolgens clocken we de hele data door (via cascadering van de shift-registers) naar de gehele LED-Tower. Nadien wordt de store-clock aangestuurd van alle shift-registers die op huun beurt de data gaan vasthouden in hun intern geheugen tot de volgende cyclus zich aanbiedt.
De output-enabled functie blijft constant op de initieel ingestelde frequentie (net boven 25hz) clocken. De data-clocking gebeurt voortdurend sneller (op de clock-frequentie van de PIC zelf).
MM74HC595_ShiftRegister.pdf