mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Schieberegister 74LS165 an µC Mega8 auslesen


Autor: Dominic Neumann (nicc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe hier einen ATMega8 µC, mit Hilfe dessen ich eine Reihe von
Schieberegistern (74LS165) abfragen will. Ich habe also sehr viele
Tasten, deren Zustände auf ein Signal hin in die verketteten
Schieberegister gelesen werden sollen und dann nacheinander an einem
Eingang des µC vorbeigeschoben werden. Zum Testen habe ich erstmal nur
ein Schieberegister angeschlossen, und zwar:
- PIN9 (QH) mit PIN13 (PD7) des µC
- PIN2 (CLK) mit PIN11 (PD5) des µC
- PIN15 (INH) mit Masse
- PIN1 (SH/LD) mit PIN12 (PD6) des µC
- PIN16 (VCC) mit +5V
- PIN 8 (GND) mit Masse
An die PINs 6,5,4,3,14 und 13 (H, G, ..., C) habe ich jeweils eine
Taste (also insg. 6 Tasten) angeschlossen.

PIN10 (SER) wird dann später mit dem zweiten Schieberegister (PIN9 -
QH) verbunden und so weiter.

Ist diese Verkabelung erstmal korrekt?

Wie realisiere ich jetzt mein Vorhaben auf Softwareseite? Also zuerst
müsste ich ja einen Speicherimpuls geben und dann immer einen
Taktimpuls, einlesen, nächster Taktimpuls und so weiter. Liegt
eigentlich nach dem Speicherimpuls bereits das erste Bit an QH an?
Wierum schiebt das 74LS165? kommt zuerst das Bit H und zuletzt Bit A
raus (das habe ich auf Grund der Bezeichung QH gemutmaßt)?

Fragen über Fragen ... vielleicht könnt ihr mir ja ein bisschen weiter
helfen.

NiCC

Autor: Dominic Neumann (nicc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe noch was vergessen: Man sagte mir, dass man die einzelnen
Tasten beim 74LS165 gegen Masse schalten könnte, also einfach an jeden
Eingangspin eine Taste und dann vom zweiten Tastenkontakt zur Masse. So
richtig leuchtet mir das noch nicht ein ... Ich möchte soweit möglich
auf zusätzlich Pullup-/Pulldown-Widerstände verzichten, da es recht
viele Tasten werden sollen.

NiCC

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
TTL ohne Pullups wird meistens funktionieren, ist aber nicht wirklich
zuverlässig. Widerstände gibt es auch als 1:N Netzwerke, die brauchen
wenig Platz.

Frage sich eher, ob bei einer grossen Anzahl Taster nicht eine
Tastenmatrix angebracht wäre. Oder etliche Taster per Spannungsteiler
an einem ADC-Eingang, auch hier ggf. mit Netzwerk (diesmal N:N).

Autor: Dominic Neumann (nicc)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist es also richtig, dass die Taster am zweiten Kontakt mit Masse
verbunden werden?

Den Vorteil der Schieberegister sehe ich darin, dass ich es SEHR
einfach erweitern kann. Brauche mal 20 Tasten mehr, hänge ich einfach
noch ein paar 165er ICs drauf und ändere die Software ein wenig ab. Bei
der Matrixgeschichte ist das nicht so günstig, finde ich.

Autor: A.K. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://www.mikrocontroller.net/tutorial/io-basics

1x164, 1x165, 1xR-Netzwerk 1:8 langt für 64 Tasten. Und auch
kaskadierbar.

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.