Forum: Mikrocontroller und Digitale Elektronik 74HC165 Atmega32 mit 24 Taster


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Peter (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich versuche gerade mit einem Atmega32 ein 74HC165 aus zu lesen.
Ich möchte jeden Taster definieren und aus lesen.
Aber irgendwie geht das nicht so richtig.
Taster1 zeigt er an aber die anderen nicht, geschweige die anderen 2 
74HC165.
Liege ich bei denn Code auf dem Holzweg?
Ein Tipp wäre nicht schlecht.
Gruß Peter

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Peter schrieb:
> Taster1 zeigt er an aber die anderen nicht, geschweige die anderen 2
> 74HC165.

Wie sieht deine Schaltung dazu aus?
Vielleicht ist die Anzeige einfach nur zu langsam oder du liest sie zu 
langsam ab. Schreibe doch die möglichen Ausgaben mal nicht übereinander.

von Christoph db1uq K. (christoph_kessler)


Bewertung
0 lesenswert
nicht lesenswert
Das Programm sieht dem hier ziemlich ähnlich, allerdings sind es hier 
LEDs statt Tastern und HCF4094 statt der 74HC165:
http://www.loetstelle.net/forum/viewtopic.php?p=11345

Ich nehme an, die Schaltung ist aber ähnlich, nur muss das 
Schieberegister parallel zu seriell wandeln statt umgekehrt.
So viele Schalter ordnet man üblicherweise in einer Diodenmatrix an, 
statt jeden einzeln anzuschließen.

von Peter (Gast)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
das sieht so ähnlich aus.
Nur das noch 10K an VCC gehen, wegen Pullup.
Plan ist im Anhang.
Würde ich gerne machen als Matrix aber die anderen brauche ich für 
Ausgänge.
( Servos usw. )
Gruß
Peter

von MWS (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Peter schrieb:
> Liege ich bei denn Code auf dem Holzweg?
Etwas.
Betrachtet man das Timing-Diagramm im 74165-Datenblatt, dann wird PL 
(Pin1) zu Beginn eines Auslesezyklus auf Low gezogen, das latcht die 
Eingänge in's Schieberegister. Nachdem PL auf High zurückgeht, werden 
die Daten rausgeschoben bzw. kaskadiert über DS (Pin10) durch die 
anderen 74165 durchgeschoben.

Betrachtet man populate_shift_register(), dann hat das wenig 
Ähnlichlkeit damit. Hinzu kommt, dass Pulseout() den Portpin toggelt, um 
einen kurzen Low-Impuls zu erreichen, muss der Pin vorher High sein, das 
isser aber nicht.

Ein paar Sachen umgestellt und es sollte gehen, Pulseout() vor Shiftin() 
und Sr_Load-Pin vorher auf High setzen.

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Peter schrieb:
> Würde ich gerne machen als Matrix aber die anderen brauche ich für
> Ausgänge.
> ( Servos usw. )

Statt der 74HC165 (wieso eigentlich 2 und nicht 3 bei 24 Tastern) kannst 
du doch genauso gut einen 74HC165 und einen 74HC595 o.ä. an das SPI 
hängen. Damit könntest du bequem eine Matrix mit 24 Tasten abfragen und 
hättest sogar noch 5 Leitungen frei - jedenfalls solange keine 
Mehrfachtastendrücke erkannt werden müssen. Was hat das mit Servos o.ä. 
zu tun?

von MWS (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Peter schrieb:
> ich versuche gerade mit einem Atmega32 ein 74HC165 aus zu lesen.

Warum lädst Du Deinen Kram in mindestens zwei Foren gleichzeitig ab?
Nennt sich Crossposting und auf sowas steh' ich nicht.
Lass also fortan andere für Dich denken, ich bin raus.

von Forist (Gast)


Bewertung
0 lesenswert
nicht lesenswert
MWS schrieb:
> Warum lädst Du Deinen Kram in mindestens zwei Foren gleichzeitig ab?

Dann nenne doch auch gleich Ross und Reiter
https://bascomforum.de/index.php?thread/990-74hc165-atmega32-mit-24-taster/

von MWS (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Forist schrieb:
> Dann nenne doch auch gleich Ross und Reiter

Warum? Dem TE muss ich es nicht beweisen, der weiß schon was ich meine. 
Es wäre dessen Aufgabe auf sein Rundumgefrage hinzuweisen.
Würde er darauf hinweisen, fände ich es im übrigen ok, weil fair 
gegenüber dem Antwortenden.

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]
  • [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.