Skiftregister
Skiftregister
Hur fungerar ett skiftregister? Om jag tex har 30 lampor och vill tända en av dem mha ett skiftregister, hur funkar det?
- Schnegelwerfer
- Inlägg: 1863
- Blev medlem: 8 november 2004, 13:46:56
För det första så kan du inte använda bara ett skiftregister, utan du får använda t.ex. 4st 74HC595 som du seriekopplar.
Du klockar sedan in 29 nollor och en etta i skiftregistret, och aktiverar sedan utgången genom att aktivera signalen STCP.
Från en uC behöver du alltså 3 utgångar: Data, klocka och en aktiveringssignal (och ev. en resetsignal).
Du klockar sedan in 29 nollor och en etta i skiftregistret, och aktiverar sedan utgången genom att aktivera signalen STCP.
Från en uC behöver du alltså 3 utgångar: Data, klocka och en aktiveringssignal (och ev. en resetsignal).
Man skickar data genom att lägga 1 eller 0 på dataingången och sedan växla klockingången från 0 till 1 ock sedan tillbaka till 0 igen. Eller tvärt om.
Vid en av dessa växlingar, står i databladet om det är 0 tiill 1 eller 1 till 0, så flyttas registerinnehållet 1 steg. Första steget ställer sig enligt dataingången och innehållet i det sista försvinner.
Vid en av dessa växlingar, står i databladet om det är 0 tiill 1 eller 1 till 0, så flyttas registerinnehållet 1 steg. Första steget ställer sig enligt dataingången och innehållet i det sista försvinner.
- JimmyAndersson
- Inlägg: 26308
- Blev medlem: 6 augusti 2005, 21:23:33
- Ort: Oskarshamn (En bit utanför)
- Kontakt:
- Schnegelwerfer
- Inlägg: 1863
- Blev medlem: 8 november 2004, 13:46:56
Du sätter datapinnen till 1 och ger en klockpuls, då hamnar 1:an i ena änden av registret. Sedan sätter du datapinnen till noll och klockar 4 ggr för att skifta ettan till position 5. När det är gjort ger du en puls på den tredje pinnen vilket göra att innehållet i skiftregistrena hamnar på kretsens/-arnas utgångar. Utgångarna förblir i det läget oberoende av hur registret ser ut tills nästa puls kommer.
I praktiken gör du nog en funktion som klockar igenom hela registrena varje gång, eftersom bitar som satts tidigare annars ligger kvar i registret på andra positioner.
I praktiken gör du nog en funktion som klockar igenom hela registrena varje gång, eftersom bitar som satts tidigare annars ligger kvar i registret på andra positioner.
> I praktiken gör du nog en funktion som klockar igenom hela registrena varje gång,
"Nog" ? Det är helt nödvänding för att inte röra till det helt ! Det blir i stort sätt
omöjligt att hålla reda på utgångarna om man inte alltid kör ut bitar
till hela registret.
> eftersom bitar som satts tidigare annars ligger kvar i registret på andra positioner.
Gäller naturligtsvis *ALLA* bitar, inte bara de som "satts"...
"Nog" ? Det är helt nödvänding för att inte röra till det helt ! Det blir i stort sätt
omöjligt att hålla reda på utgångarna om man inte alltid kör ut bitar
till hela registret.
> eftersom bitar som satts tidigare annars ligger kvar i registret på andra positioner.
Gäller naturligtsvis *ALLA* bitar, inte bara de som "satts"...
>"Nog" ? Det är helt nödvänding för att inte röra till det helt ! Det blir i stort sätt
>omöjligt att hålla reda på utgångarna om man inte alltid kör ut bitar
>till hela registret.
Ja, det tycker jag också. Skrev på det sättet i ett pedagogiskt syfte. Jag tror på att försöka få "eleven" att förstå orsaker och fatta beslut ifrån dem istället för att "kopiera". Fast jag är ganska osäker på om det är bra sätt, vet inget speciellt om pedagogik egentligen.
Sen beror väl på vad man vill göra, kör man ett vandrande lyse verkar det onödigt att skifta genom hela med fräsha bitar varje steg istället för att bara skifta en gång per steg.
>omöjligt att hålla reda på utgångarna om man inte alltid kör ut bitar
>till hela registret.
Ja, det tycker jag också. Skrev på det sättet i ett pedagogiskt syfte. Jag tror på att försöka få "eleven" att förstå orsaker och fatta beslut ifrån dem istället för att "kopiera". Fast jag är ganska osäker på om det är bra sätt, vet inget speciellt om pedagogik egentligen.
Sen beror väl på vad man vill göra, kör man ett vandrande lyse verkar det onödigt att skifta genom hela med fräsha bitar varje steg istället för att bara skifta en gång per steg.