Sida 1 av 2

shift register förklaring

Postat: 23 oktober 2009, 22:16:12
av tomten_alle
Hej,
Jag håller på lite med basic electronik. Jag har en arduino duemilanove och har relativt bra koll på programeringsbiten men "eldelen" är det lite sämre om. Nu funderar jag över shift register. Så vitt jag har förstått så kan man med en shift register styra exempelvis en display med väldigt få pins. Men hur då? Skickar man en binärkod(?) ex 10110110 och sedan en 1(?) och shift registern skickar 1, respektive 0 till sina pins (i exemplet 1-8). Kan någon förklara?

såhär:
binärsträng --||--pin 1
skickasignal--||--pin 2
___________ ||--pin 3
___________ ||--pin 4
osv... t.o.m pin 8
Tack på förhand!


Med reservation för att jag missförstått allting, fel använda utryck, och felstavning.

Re: shift register förklaring

Postat: 23 oktober 2009, 22:23:13
av TomasL
Enkelt uttryckt skiftregistret omvandlar, beroende på typ från parallell till serie eller vice versa.

Re: shift register förklaring

Postat: 23 oktober 2009, 22:26:18
av v-g
http://en.wikipedia.org/wiki/Shift_register

Ett shiftregister är som beskrivs ovan ett register där du skickar in ettor eller nollor mha en datapinne och en klockpinne. Man avläser det på utportarna. När man skickar in en ny BIT så kastas den äldsta.

Enkelt kan man beskriva det som serie in och parallell ut.

Styra display med få pinnar är ett användningsområde som fungerar mycket bra (kör så själv ;) ).

Re: shift register förklaring

Postat: 23 oktober 2009, 22:31:46
av TomasL
Alternativt tvärtom, dvs parallellt in och seriellt ut, beroende på vilken typ man väljer.

Re: shift register förklaring

Postat: 23 oktober 2009, 22:52:51
av tomten_alle
Ok, tack för informationen! :D
Om man ska köpa något shift register att experimentera med, vilka shift registers ska man köpa?

Re: shift register förklaring

Postat: 23 oktober 2009, 23:01:39
av TomasL
Det beror ju på om du vill ha parallell in eller ut samt om du vill ha latchar, dock kanske, om du vill driva en paralell display behöver du ett med parallell utgång med utgångslatchar. kräver dock minst tre signaler, för 8 bitar, 4 signaler för 16 bitar osv.
Sedan är det ju bara att leta i bl.a Elfa katalogen.

Re: shift register förklaring

Postat: 24 oktober 2009, 00:04:41
av v-g
Hittade åt min gamla tråd som använder ett shiftregister http://elektronikforumet.com/forum/view ... =3&t=15375

Re: shift register förklaring

Postat: 24 oktober 2009, 00:15:45
av jesse
t.ex 74ls595 - 8 bitars shiftregister med seriell input/outpot samt latch med 8 parallella utgångar.. Du rullar ut alla 8 bitar först, med hjälp av en data och en klocksignal. Sendan ger du en kort signal på latch-pinnen så ändras alla 8 utgångar samtidigt. Du kan givetvis använda t.ex. 74HC595 osv. men de kan inte ge lika bra ström ut. LS kan sänka 24mA, så ska du koppla lysdioder så koppla så du sänker ström med kretsen, dvs. anod till plus och katod (via motstånd) till utgången på 595an.

Re: shift register förklaring

Postat: 24 oktober 2009, 00:31:44
av sodjan
> kräver dock minst tre signaler, för 8 bitar, 4 signaler för 16 bitar osv.

*Längden* på shiftregistret påverkar (normalt) inte antalet styrlinjer.

Re: shift register förklaring

Postat: 24 oktober 2009, 01:47:14
av TomasL
Förvisso inte, men de flesta är väl 8 bitar, typ.

Re: shift register förklaring

Postat: 24 oktober 2009, 11:07:14
av tomten_alle
I http://www.arduino.cc/playground/Code/LCD3wires används en HEF4095. Den komponenten finns inte på elektrokit där jag handlar. Finns det någon motsvarande krets på elektrokit?

Re: shift register förklaring

Postat: 24 oktober 2009, 11:15:57
av TomasL
Du får väl studera databladen på de kretsar de har.

Re: shift register förklaring

Postat: 24 oktober 2009, 13:10:27
av sodjan
> Förvisso inte, men de flesta är väl 8 bitar, typ.

Två 8-bits register i serie blir fortfarande inte fler signaler.

Re: shift register förklaring

Postat: 24 oktober 2009, 13:19:30
av TomasL
Om man vill kunna styra dem individuellt blir det det. (dvs In/Ut latcharna)

Re: shift register förklaring

Postat: 24 oktober 2009, 13:36:07
av baron3d