mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Schieberegister


Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo allerseits

Ich habe eine kurze Anfängerfrage:

Kann ich das Schieberegister HEF4094BP auch als Porterweiterung nutzen?
Ich weiß, dass es für ein Byte reicht, aber ich möchte es als Word
nutzen. D.h. ich möchte 2x 4094 kaskadieren. Hab ich auch probiert,
doch wenn ich ein Word raussende, kommt es an beiden 4094er gleich
raus.

Kann mir vielleicht irgendjemand helfen, das Ding korrekt
anzusprechen.

Vielen Dank!!!!


PS: Ich benutze einen ATMega8 mit Bascom. Die Schieberegister steuer
ich über SPI an!

Mfg
Andy

Autor: Mike (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich tippe auf falschen Anschluss :-)

Für eine genauere Hilfe empfehle ich zu verraten, wie das ganze
angeschlossen ist und wie das Programm aussieht.

Autor: Roland (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Poste mal den Schaltplan.

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also:

Mosi liegt auf Data in, Sck des uC auf Clock des 4094ers und SS vom uC
habe ich als Ausgang definiert und steuere damit Strobe an. Den
Enable-Pin des 4094ers nutze ich als Dimmeingang(PWM).

Im Programm habe ich eine Variable (Word). Mittels Spiout sende ich sie
raus und setze den Strobe-Pin, den ich auch gleich wieder resete.

Passt das so einigermaßen?? Den Schaltplan kann ich leider nicht
posten, weil ich alles auf einer Lochrasterplatine habe.

Danke für Eure Hilfe!!

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst die (beiden)Schieberegister kaskadieren,
hintereinanderschalten.
Vom uP auf Din des 1. SR, und von dessen internem obersten Ausgangsbit
(das ist Pin 9 beim 4094) weiter auf den Din des 2. SR  .
Nur so geht das ; dann 16 x schieben (wenn man 2 SR hat), bevor ein
Strobe kommt.
Strobe und Clock der beiden SR sind parallel vom uP angesteuert.
Man kann zusätzlich den Pin 9 des obersten (hier 2.) SR nehmen und als
Eingabepin auf den uP zurückführen ; dann kann man einen "Selbsttest"
machen.
Klaus

Autor: Andy (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@alle:

Vielen Dank für Eure Hilfe!!

Ich habe meinen Fehler schon gefunden. Ich habe bei SPIout vergessen,
dass ich einen 2er hinschreibe:

SPIOUT i, 2

Ich habe statt 2 nur 1 gehabt, somit ist immer nur ein Byte
rausgegangen!

Trotzdem Danke für die rasche hilfe!!


mfg
Andy

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.