Sorry att jag varit dålig på att svara inte kollat så noga på mitt SC konto ett tag. Som ovanstående skrev dock med liten modifikation. Endast en pinne går hög åt gången.
Dvs när du bara sätter ström på kretsen kommer du ha hög signal på utgången som kallas 0.
När du skickar klocka så räknar den upp med ett och sätter låg signal på utgång 0 och hög på utgång 1.
Fortsätter så upp till 9 sen tillbaka till 0.
Här är en bra bild som förklarar det om jag är otydlig:
http://www.doctronics.co.uk/images/gt_32.gif
Den enkla kopplingen du länkade är i stort sätt ett funktionstest av en dekad-räknare, den läser inte av status utan ger hög signal/tänder de olika lysdioderna en och en.
Ofta när man bygger saker som LED matriser använder man sig av räknare och/eller shift-register för att slippa använda så fruktansvärt många pinnar på microprocessorn, samt att man är ganska begränsad i hur mycket ström microprocessorn orkar leverera.
Mitt tips är (beroende på hur långt ni har kommit)
1. Koppla upp en liten LED-matris direkt till microprocessorn typ 3x3 (en 3x3 led-matris: http://pcbheaven.com/wikipages/images/howkeymatricesworks_127... ) Detta ger er förståelse för hur man styr den. Koppla A, B, C, 1, 2, 3 till I/O pin. Sätt alla pinnar till utgångar. Gör sedan en loop som loopar genom "en sidan" tex A, B, C. Tex hög signal på A och hög signal på 1 och 2. Då kommer endast lysdiod A3 att lysa (A1 och A2 lyser inte eftersom det är samma potential på båda sidorna av lysdioden, ingen ström flyter genom den och den lyser inte). Gå vidare till nästa (B) (låg signal till A, hög till B) och ändra samtidigt på 1,2,3 därefter vidare till C (låg signal B, hög C).
Efter lite lekande med detta bör ni få ganska bra förståelse för hur det funkar.
2. Koppla om så att ni istället för att ha A, B, C kopplade direkt till microprocessorn kopplar in dekad-räknaren. Koppla då A, B, C till utgång 0, 1, 2. Koppla clock-pinen på räknaren till en I/O-pin på microprocessorn (glöm inte att koppla enable och reset pinarna annars kommer räknaren inte göra något alls)
2a. Gör om loopen så att istället för att för att manuellt tända/släcka A, B, C kolumnerna så skickar ni endast en clock signal till räknaren som då själva kommer att öka ett steg (gå till nästa kolumn). Nu har ni dock problemet att räknaren har fler steg än vad ni har kolumner. Ni kan fortsätta loopa tills ni är tillbaka på 0 men det tar onödig tid.
2b. Koppla in reset pinnen till microprocessorn så kan ni manuellt gå tillbaka till 0 efter att ni varit på 2
2c. Låt räknaren själv sköta jobbet med att gå tillbaka: Koppla utgång 3 på räknaren till räknarens reset pin. Då kommer räknaren att reset:a sig själv så fort som utgång 3 blir hög. Dvs den räknar från 0 till 2 nu.
Detta bör ge en bra bild av hur räknaren fungerar och lite inblick vad man kan använda den till.
När ni har kommit så långt kan man gå in på seriell kommunikation. Det är väldigt användbart att kunna använda sig av SPI (3-wire serial) och I2C (2-wire serial) då det används för att kommunicera med många kretsar tex de shiftregisterna som används (kan skriva mer om vad de används till samt hur de styrs, men grundtanken är den samma som med räknaren fria upp pinnar och möjlighet att leverera mer ström). Ett annat protokoll som är bra att kunna använda sig av är UART(USART) då kan ni enkelt koppla bygget till en dator via serieporten (alt usb till serieports adapter). Serieporten är enkel att komma åt på dator sidan. Antingen via ett eget litet program (som då kan göra specifika saker) alt via ett universal program typ hyperterminalen (inbyggt i windows men inte speciellt bra) eller Realterm (finns massa olika, de flesta bör räcka för er).
I 8-bitar AVR finns det direkt stöd för i2c, spi och usart. Det räcker att aktivera de via register inställningar. För extra förståelse tycker jag det är bra om man iaf testar att skriva sina egna i2c och/eller spi rutiner. Förutom bättre förståelse så kan det vara fördelaktigt att ha de i mjukvara då man kan använda andra pinnar än de som är dedikerade. (en nackdel är dock att det går långsammare och tar cpu-tid)
Nu har jag fått till en fin vägg med text...
Vid övriga frågor hör av dig igen så ska jag försöka ge snabbare svar i framtiden