Skiftregister

Elektronikrelaterade (på komponentnivå) frågor och funderingar.
BennyOrm
Inlägg: 17
Blev medlem: 24 oktober 2006, 14:27:25
Ort: Leksand

Skiftregister

Inlägg av BennyOrm »

Hur fungerar ett skiftregister? Om jag tex har 30 lampor och vill tända en av dem mha ett skiftregister, hur funkar det?
Användarvisningsbild
Schnegelwerfer
Inlägg: 1863
Blev medlem: 8 november 2004, 13:46:56

Inlägg av Schnegelwerfer »

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).
BennyOrm
Inlägg: 17
Blev medlem: 24 oktober 2006, 14:27:25
Ort: Leksand

Inlägg av BennyOrm »

Ok, det var ungefär det som står i databladen, men det är för komplicerat för mig.. Om vi säger att jag ska tända lampa nr 5, hur ser datan jag skickar ut till skiftregistren ut då?
danei
EF Sponsor
Inlägg: 26424
Blev medlem: 2 juni 2003, 14:21:34
Ort: Östergötland
Kontakt:

Inlägg av danei »

000010000000000000000000000000
eller
000000000000000000000000010000
beroende på vilken du kallar för 5

Databladet är till för att man ska fatta hur kretsen funkar. Så det är ganska naturligt att det står där.
Användarvisningsbild
Marta
EF Sponsor
Inlägg: 6955
Blev medlem: 30 mars 2005, 01:19:59
Ort: Landskrona
Kontakt:

Inlägg av Marta »

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.
Användarvisningsbild
JimmyAndersson
Inlägg: 26308
Blev medlem: 6 augusti 2005, 21:23:33
Ort: Oskarshamn (En bit utanför)
Kontakt:

Inlägg av JimmyAndersson »

Det finns flera olika typer av skiftregister. Schnegelwerfer och danei beskriver de med parallella ingångar. Marta beskriver de med seriell ingång.
bearing
Inlägg: 11265
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Inlägg av bearing »

Jag tror alla pratar om seriella skiftregister här. 74HC595 är ju just ett 8-bitars sådant.

Det som var oklart var nog det som Marta beskrev skulle tro. Att man använder klockan för att skifta in 1 bit i taget från dataingången.
Användarvisningsbild
Schnegelwerfer
Inlägg: 1863
Blev medlem: 8 november 2004, 13:46:56

Inlägg av Schnegelwerfer »

JimmyAndersson: Nej, jag beskrev varianten med seriell ingång och parallell utgång. Det är ju den som är mest användbar i uC-sammanhang för att expandera antalet I/O-portar...
BennyOrm
Inlägg: 17
Blev medlem: 24 oktober 2006, 14:27:25
Ort: Leksand

Inlägg av BennyOrm »

Ok, så det marta menar är att jag lägger in en etta och skiftar den framåt 4ggr?
bearing
Inlägg: 11265
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Inlägg av bearing »

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.
BennyOrm
Inlägg: 17
Blev medlem: 24 oktober 2006, 14:27:25
Ort: Leksand

Inlägg av BennyOrm »

tack, fattar nu..
Tekko
Inlägg: 9009
Blev medlem: 28 november 2004, 20:19:15

Inlägg av Tekko »

Han menar nog en dekadräknare.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Inlägg av sodjan »

> 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"...
bearing
Inlägg: 11265
Blev medlem: 2 mars 2006, 01:01:45
Ort: Ängelholm

Inlägg av bearing »

>"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.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43178
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Inlägg av sodjan »

Jo, om lyset ska "vandra" åt "rätt" håll... :-)
Skriv svar