Forum: Mikrocontroller und Digitale Elektronik I/O-Erweiterung via Schieberegister


von Martin Jansen (Gast)


Lesenswert?

Hallo,
ich habe versucht ein 74hc165 an den at90s8535 anzuschliessen, um noch
ein paar mehr io's zu bekommen, nur leider klappt es absolut nicht.
hat das vielleicht schon mal jemand gemacht und könnte mir vielleicht
nen paar codeschnippsel o.ä. schicken?
auch für tipps bin ich sehr dankbar!
gruß
martin

von Rahul (Gast)


Lesenswert?

Woran hapert es denn?
Vielleicht daran, dass es sich beim 74hc165 um ein parallel nach
seriell wandelndes Schieberegister handelt?
Du brauchst wohl eher das 74HC164. Das hat einen Takteingang, zwei
Dateneingänge und acht Ausgänge. Das braucht man eigentlich nur mit
zwei Pins des AVR verbinden. Ein Prof bei uns hat über einen Webserver
mit SPI-Schnittstelle über diverse Schieberegister Relaise so
angesteuert, dass verschiedene elektronische Bauteile so verschaltet
wurden, dass man die Kennlinien aufnehmen konnte. Es waren in der
Schaltung auch ADC und DAC mit SPI-Schnittstelle vorhanden, mit denen
die Messwerte ermittelt wurden.
Nur so zur Info...
Da der AVR auch eine SPI-Schnittstelle besitzt, soltte das ziemlich
einfach möglich sein. Notfalls mit einer Schleife einen Takterzeugen
und je nach Takt-Zustand einen Pin Ein- oder Ausschalten.

Rahul

von mmerten (Gast)


Lesenswert?

für Input erweiterung ist 74x165 ok. Für output wäre 74x595 oder
STPIC6c595 geeignet.

von A. Arndt (Gast)


Lesenswert?

Hallo,

ich nutze den 4094, serielle Daten an einem Port bereitstellen, mit
Clock eintackten und mit Pulse auf Strobe auf die Ausgänge geben,
klappt super, jetzt kann noch überlegen, ob man mehrere Chip in Reihe
kaskadiert und mehrere Clock oder Strobeleitung nimmt.

Gruss
A. Arndt

von Alex1 (Gast)


Lesenswert?

Hallo..

Ich benutze den 74x595 als Ausgaenge mit dem 4433. Funktioniert sehr
gut.
Code haenge ich heute Abend mal an.

Alex

von Joerg (Gast)


Lesenswert?

Schau mal hier nach: http://home.arcor.de/avrwakeup/

Unter BinaryClock findest Du einen Schaltung dazu.

Joerg

von Martin Jansen (Gast)


Lesenswert?

danke für eure tipps!
ich glaub ich hab vergessen zu sagen, dass es mir um zusätzliche
eingänge geht (also parallel --> seriell). die andere richtung mit
74hc164 klappt auch problemlos.
jetzt zu den eingängen:
ich hab an den 74165 ein bitklavier angeschlossen (also 8 Schalter),
und will die jetzt seriell einlesen. dazu hab ich die clock-leitung wie
auch die data-leitung an den µC angeschlossen, außerdem ist
clocK-enable auf low (also aktiv). jetzt hab ich dazu eine routine
geschrieben, die im endeffekt das gegenstück zu der mit den
zusätzlichen ausgängen ist (also müsste sie eigentlich zumindest
logisch richtig sein...)ich bin mir ziemlich sicher dass die routine ok
war, aber trotzdem lieferte sie mir keine werte, könnte es sein dass
ich vielleicht noch ne strobe-leitung brauche? ich habe nur gesehn,
dass es noch einen "load"-pin am 74165 gibt, der ist in meiner
schaltung auf low.
habt ihr jetzt vielleicht noch eine idee, woran es liegen könnte?
mir gehts v.a. um die hardwarebeschaltung!
die routine hab ich leider schon (aus resignation g) gelöscht...
gruß
martin

von Rahul (Gast)


Lesenswert?

könntest du vielleicht deinen Schaltplan posten?
nach dem was ich gerade im Datenblatt gefunden habe, muss du mit einem
negativen Impuls (H-L-H) am Load die Daten parallel ins Schieberegister
laden. Dann kannst du mit dem Takt die Bits nach rechts verschieben.
Hast du deinem Mäuseklavier pull-ups spendiert (Mäuseklavier gegen
Masse...)?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.