Aansturen van 7-segments LED displays
Het aansturen van 7-segment LED displays op verschillende manieren met een AT90S1200 microcontroller
De 74HC595 datasheet.
Besturen van twee displays:

Er zijn verschillende manieren om een 7-segments LED display aan te sluiten op een microcontroller.
Direct op de i/o's ervan, of een meer economische manier, via een schuif-register bijv. de 74HC595 en door de displays te multiplexen. Met een schuif-register heb je maar 3 i/o's nodig en verkrijgt 8 uitgangen. Een andere mogelijkheid is een 74LS247 dat is een BCD naar 7-segments stuur IC, verbruikts 4 i/o's. Het schema laat twee 7-segments LED displays zien bestuurd door maar 5 i/o's. Uiteraard kun je meerdere displays toevoegen. Met een minimum aan onderdelen, ben je in staat een maximaal aantal displays te besturen.

Download upcounter.hex.
De vele mogelijkheden....

Niet-gemultiplext:

1. Een of twee displays direct op de i/o's
2. Een display via een 74LS247
3. Twee displays via een 74HC595 en twee 74LS247's

Gemultiplext:

1. Twee displays via een 74LS247 en 2 i/o's
2. Twee displays via een 74HC595 en 2 NPN/PNP *
3. Via een speciaal stuur IC bijv. de MAX7219
4. D.m.v. zogeheten Charlieplexing
De TDSL5160 datasheet.
Besturen van een display:

Als je naar het schema kijkt, zie je onmiddelijk dat dit display niet gemultiplext is, omdat de gemeenschappelijke kathode aan massa ligt. Ik heb een opteller gemaakt, door gebruik te makeb van de EEPROM van de AVR, dit vereenvoudigd het programma aanzienlijk. Ik heb er een zogeheten 'lamp test' routine in gezet, handig om verschillende CC LED displays te testen. Zet simpelweg de segmenten-data in een EEPROM tabel, dit scheelt een hoop code.

Download upcount.asm.
Componenten:

1x TDSL5160
1x AT90S1200-12PI
1x 7805
1x 8MHz keramische resonator
1x 47uF/16V
2x 100n multilayer
1x 100n MKT
1x 10k
7x 1k