74HC165 Atmega32 mit 24 Taster

Gast #5347235
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
Angehängte Dateien:
#5347341
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.
Gast #5347383
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.
Gast #5347498
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?
Gast #5347807
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren