Digital einen Taster als Schalter nutzen?

Hallo!

Ich habe ein 4x4 Tastenfeld, daß ich mit einem IC vom Typ 74C922 abfrage. Dahinter hängt ein 16 aus 4 Dekoder (74154). Das Dekodieren der Tastendrücke funktioniert soweit ganz gut.

Problem ist nun, daß ich aus den Tastern gern Schalter machen würde. Der 74C922 hält die zuletzt gedrückte am Ausgang. Nun habe ich versucht jedes der einzelnen 16bits mit einem (rückgekoppelten) D-Flipflop (74LS74) (=T-Flipflop) zu halten. Leider war das wohl ein Denkfehler da das T-Flipflop auf jede Flanke reagiert.

Z.B. Ich drücke Taste X1Y1 -> Am 74C922 steht ein High an Ausgang A ->

am Ausgang "0" des 74LS154 steht ein low, die 16 anderen Bits sind logisch "high" -> D-Flipflop am Ausgang "0" des 74LS154 hält die 0, ABER nur so lange bis ich eine andere Taste drücke und das High an Ausgang A vom 74C922 verschwindet :( Genau so solls nicht sein.

Ich hätte gern folgendes Verhalten: Tastendruck -> Dekodierung ->

Halten des Bits bis zum erneuten Druck der SELBEN Taste.

Irgendjemand eine einfache Idee???

Danke schonmal!

Frank

Reply to
Frank Kreisel
Loading thread data ...

Hallo,

ich habe das Problem nicht ganz durchdrungen, kenne auch nicht alle ICs, aber mir sind zwei Dinge aufgefallen: Könnte es am Prellen der Taster liegen? (Ggf. Wikipedia:Prellen) Wenn der '922 den letzten Zustand hält, sollte da kein Problem sein, aber dann geht es nicht, einen Schalter noch mal zu betätigen, ohne dass ein anderer zwischendurch gedrückt wurde.

Bestimmt gibt es fünfte Leitung, die den Druck signalisiert. Entprellen und auf Takt von JK-Flipflops?

Ciao - Peter

--
Für Privat-Email bitte Betreff mit "Usenet-Reh" beginnen lassen.
--
"Ein Mokka-Trüffel-Parfait mit einem Zitronencreme-Bällchen."
Reply to
Peter Muthesius

Frank Kreiselschrieb: "

Also wirkungslos ;-(

Das sieht alles recht aufwendig aus. Ich kann wohl davon ausgehen, dass Du Dich noch nie mit Microkontrollern beschäftigt hast, denn sonst hättest Du wohl inzwischen darauf zurück gegriffen (der 922 scheint mir nicht gerade gängig).

Schau Dir doch nochmal an, wie Du Dein FF verschaltet hast. Q\ muss auf den D-Eingang und der Ausgang vom 154 an den Takteingang des 74). IMHO kann das aber so nicht funktionieren, weil der 74 auf die steigende Flanke reagiert (an Clock). Du mußt etwas haben, was auf die fallende Flanke reagiert (da ist die Action). Du mußt also die Ausgänge vom 154 auch noch vorher invertieren.

Sieht mir aber alles stark nach TTL-Grab aus.

Tschö Dirk

Reply to
Dirk Ruth

Genau so ist es. Jeden den ich bis jetzt gefragt habe kam zuerst mit "Warum nimmste kein müC?". Die nächste Frage war häufig, "Warum nimmste keine Taster?" Erstaunlicherweise war der 922er sogar in meiner Hochschule im IC Lager vorhanden. Mußte das Teil nicht mal bestellen :D

Q\ ist auf D verschalten. Ausgang 154er liegt an CLK. Das mit dem Invertieren hab ich mir auch schon überlegt. Ich teste heute mal, was passiert, wenn ich das "Last-pressed-Key-Register" vom 922er abschalte. Danach muß ich wohl ein neues Platinen Design machen, zu aller Not müssen die ICs auf ne halbe Eurokarte passen :-/

Jepp, genau so siehts aus. Aber eben, es sieht nach _was_ aus :D

Falls noch jemand sachdienliche Hinweise hat, oder nen anderen Vorschlag die vom Taster gesetzten Bits zu halten... immer her damit :)

Reply to
Frank Kreisel

Frank Kreiselschrieb: "

Bei solcher TTL-Logik hab ich immer Bauchschmerzen wegen der Initialisierung. Deine D-FFs haben ja keinen Clear-Eingang. Auch der Hinweis mit dem müC ist nicht von der Hand zu weisen - ein popliger

89C51 reicht dafür völlig und vielleicht findest Du in Deiner Hochschule auch noch ein Programmiergerät.

Der Fall liegt ja auf der Hand. Eine steigende Flanke (und damit Invertierung des FF) bekommst Du erst beim Drücken einer anderen Taste. Der 154 ist wohl für die Adressselektion entwickelt worden, um nachfolgende Register etc. am Enable-Eingang (immer Low-aktiv) frei zu schalten. Falls Dein Platz absolut nicht reicht, es gibt auch einen bidirektionalen 4067. Den einzelnen Ein-/Ausgang auf High legen und dann alle Ausgänge mit Pull-Downs (R-Netzwerk) belegen.

Tschö Dirk

Reply to
Dirk Ruth

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.