"Elektronisches" Tastenaggregat mit Druckschaltern möglich?

OP #535186
Hallo,

ich möchte mit 4 mechanischen Schalter (oder Taster), über die eine 
Funktionsauswahl getroffen werden soll, folgende alternative Zustände 
realisieren können:
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1

die ich dann folgendermaßen kodieren möchte:
1 0 0 0 -> 0 0
0 1 0 0 -> 0 1
0 0 1 0 -> 1 0
0 0 0 1 -> 1 1

Die möglichen Zustände
0 0
0 1
1 0
1 1
sollen dann als Input auf den Mikrokontroller geführt werden.

Ziel der Übung: die Einsparung von 2 Porteingängen.

Nicht eindeutige Zustände wie
0 1 0 1
müssen aber verhindert werden.

Als mechanische Ausführung würde man das wohl als Tastenaggregat mit 
Druckschaltern bezeichen.

Das sollte sich aber auch elektronisch realisieren lassen, ggf. mit 
FlipFlops ?
Habe aber keine Idee, mit welchem Stichwort ich da suchen muß!

Danke,


Ralf.
Gast
Nachtrag:

Mit 2 Leitungen ist zwar die Dekodierung der Tasten möglich. Aber
du hast noch keine Rückmeldung ob überhaubt eine Taste gedrückt
wird. Das bedarf in deinem Fall einer dritten Leitung. Bei vier
Tasten/Schalter ist die Einsparung nicht sehr groß. Als Tipp:
74xx148 (s.o.).

MfG Spess
OP
Hallo,

danke für die prompten Antworten:
ich weiß aber nicht, ob ich die beiden Vorschläge nur noch nicht richtig 
verstanden habe, oder ob es mir nicht gelungen ist, mein Frage präzise 
zu formulieren.

Mit dem 1-aus-4-Dekoder könnte ich zwar mit 2 Schalter die Zustände
0 0
0 1
1 0
1 1
realisieren, die dann mit dem erwähnten Dekoder
in
0 0 0 1
0 0 1 0
0 1 0 0
1 0 0 0
überführt werden, und dann in der Tat gut mit der Widerstandsdekade und 
ADC-Port ausgelesen werden könnten.

Was ich anstrebe, ist folgendes:
* 4 Taster am Gehäuse
* Betätigen von Taster A aktiviert diesen Zustand auf 1 0 0 0 und löscht 
den Vorherigen, z.B. Zustand B:  0 1 0 0
* die gleichzeitige Betätigung von A und B muß also verhindert werden.

Die Dezimal-zu-BCD kann zwar die Schalterstellung 1 1 0 0 nicht 
auswerten, aber auch nicht verhindern, oder?

Danke,

Ralf.
Gast
Hi

Der 74xx148 ist ein sog. Prioritätsdecoder.

Beispiel:

1000 ->00
0100 ->01
1100 ->01
0010 ->10
1010 ->10
0110 ->10
1110 ->10
...

d.h. am Ausgang erscheint nur der 'höherwertigste' Eingang

MfG Spess

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.