Sida 1 av 2
Skiftregister
Postat: 30 oktober 2006, 13:02:20
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?
Postat: 30 oktober 2006, 13:11:32
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).
Postat: 30 oktober 2006, 13:16:07
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å?
Postat: 30 oktober 2006, 13:19:41
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.
Postat: 30 oktober 2006, 13:35:50
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.
Postat: 30 oktober 2006, 14:22:39
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.
Postat: 30 oktober 2006, 14:26:24
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.
Postat: 30 oktober 2006, 14:27:35
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...
Postat: 30 oktober 2006, 16:07:50
av BennyOrm
Ok, så det marta menar är att jag lägger in en etta och skiftar den framåt 4ggr?
Postat: 30 oktober 2006, 16:21:25
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.
Postat: 30 oktober 2006, 16:24:46
av BennyOrm
tack, fattar nu..
Postat: 30 oktober 2006, 17:10:53
av Tekko
Han menar nog en dekadräknare.
Postat: 30 oktober 2006, 17:17:13
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"...
Postat: 30 oktober 2006, 17:48:26
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.
Postat: 30 oktober 2006, 18:27:20
av sodjan
Jo, om lyset ska "vandra" åt "rätt" håll...
