[Shift register] 74HC595

Ik zit echt in een dillema vrees ik |:(

Zoals je in de titel kan lezen gaat het over de 74HC595.

Een shift register...

Het probleem is dat ik niet helemaal uit de datasheet kan opmaken hoe hij werkt.

Het is iets met inclocken, poort open en hij stuurt het uit, maar hoe laat je zoiets door een 16F628 doen?

Zit nu al aantal weken(ja stom hoor) die sheets te bekijken en te googlen maar hoe werkt zo een IC nu precies icm. 16F628?

Iemand toevallig een voorbeeldje?

handig chippie hoor, pin 14 is de data-ingang, pin 11 is de clock ingang van het register, als je na het inklokken een puls geeft op pin 12 dan nemen de uitgangen de data uit het register over.

ik heb het datasheet eens bekeken van de 74HC595 bij philips ik denk dat de werking toch duidelijk is aan de hand van de function tabel hoe en wat de uitgang is bij de verschillende ingangs variabelen

the world is yours (look at http://users.pandora.be/dimitrirejek :-)

Op 12 juni 2004 18:18:28 schreef LED-Maniak:
Ik zit echt in een dillema vrees ik |:(

Zoals je in de titel kan lezen gaat het over de 74HC595.

Een shift register...

Het probleem is dat ik niet helemaal uit de datasheet kan opmaken hoe hij werkt.

Het is iets met inclocken, poort open en hij stuurt het uit, maar hoe laat je zoiets door een 16F628 doen?

Zit nu al aantal weken(ja stom hoor) die sheets te bekijken en te googlen maar hoe werkt zo een IC nu precies icm. 16F628?

Iemand toevallig een voorbeeldje?

Ken je het prinipe van een schuifregister wel?

Ff kort: Op ser (serial data) bied je een hoog of laag signaal aan. Op het moment dat de sck (serial clock) lijn hoog wordt (opgaande flank) wordt de waarde van sdi in het register geschoven. Dit gaat zo acht keer, dan staat je register dus vol.

Bij de 74HC595 zitten nog d-flipflops tussen de uitgangen van het schuifregister en de pinnen. Deze zijn ervoor om de data vast te zetten totdat er weer 8 geldige bits in het register zitten die naar buiten mogen. Om de uitgangen van de 74HC595 te veranderen zul je dus nadat er data geladen is ook nog een puls moeten geven op de RCK pin.

Succes

Euh......

Ik snapte inderdaad de werking van een Shift Register niet.

Dus als ik het goed begrijp:

Ik zet een 1 op 14.
Daarna maak ik pin 11 hoog.
Vervolgens zet ik een 0 op pin 14 en 11 weer hoog(nadat weer is laag gemaakt)

Dat moet dus totaal 8x en dan maak ik pin 12 hoog. Hierdoor wordt naar mijn instelling dus pin 1 hoog en pin 2 blijft laag, klopt dat zo?

16F628, moet toch wel iemand iets voor hebben. (zal wel idem zijn voor elke PIC, 16F84 eens op zoeken)
Die 74HC595 moet je even vatten, die datasheets zijn lastig soms, teveel info komt er op je af.
Die 74HC595 stuur je met 3 lijntjes.
Data ingang, en 2 kloklijnen.
Met je PIC zet je eerst de lsb of msb bit van de byte die je wilt gaan inklokken op de i/o (je moet wel een PIC kunnen proggen) daarna geef je 1 klokje op de SCK, nu zit die bit in de 74HC595, dit doe je dus 8x (1byte=8bit)(in je PIC dus links of recht roteren, ligt eraan welke je eerst wilt, lsb of msb)
daarna nog 1 klok op de RCK, nu staat de byte op de uitgangspinnen van de 74HC595.

Er zitten 2 registers in, 1 shift register en 1 storage register. Voordeel is dat de data in 1 keer op de uitgangspinnen komt te staan, en niet zoals bij een 74HC164 schuifend erop komt (dus beweging (het schuiven) op de uitgangspinnen is te zien)

RES

ja led-maniak, jouw uitleg klopt zo, veel plezier ermee

Op 12 juni 2004 19:15:19 schreef LED-Maniak:
Ik snapte inderdaad de werking van een Shift Register niet.

Dus als ik het goed begrijp:

Ik zet een 1 op 14.
Daarna maak ik pin 11 hoog.
Vervolgens zet ik een 0 op pin 14 en 11 weer hoog(nadat weer is laag gemaakt)

Dat moet dus totaal 8x en dan maak ik pin 12 hoog. Hierdoor wordt naar mijn instelling dus pin 1 hoog en pin 2 blijft laag, klopt dat zo?

Ja, dat klopt.
Kijk, dat is nou handig in PIC-Basic.
Daar is het commando SHOUT (SHift OUT) voor.
SHOUT DataPin, ClockPin, Mode, [OutputData1{\Bits}{,OutputData2{\Bits}...}]

In PIC Basic vul je welke pinnummers van de PIC met welke pin van een 74HC595 (of 4094) is aangesloten.
En in de variabele OutputData geef je de 8 bits op.
Dus als alleen de eerste en de laatste uitgang van de 74HC595 'hoog' moeten worden maak je:
OutputData = 129 (=128 + 1)

Andersom (niet uitgangen als shift-register maar ingangen) werkt ook, gebruik dan een 74HC165.
Hiervoor heeft PIC Basic het commando SHIN (SHift IN)

Ohm sweet Ohm | www.picbasic.nl

Ik was het aan het proberen maar beetje stom van me want ik had er 9 volt op gezet ipv. 5, dat wordt een nieuwe IC...