Hallo, ich habe 10x von BCD Kodierschalter, diese sind denen von Conrad ähnlich: http://www.conrad.de/ce/de/product/704699/ Elektrisch wird der Tastencode als BCD Zahl kodiert. Hier ein Beispiel: Zahl 8 4 2 1 C --------------- 0 o o o o - 1 o o o c c 2 o o c o c 3 o o c c c : 7 o c c c c 8 c o o o c 9 c o o c c Legende: o := Offen und c := Close Wie kann man effizient 10x BCD Kodierschalter per Atmel (atMega88) abfragen? Einfach alle 8er Stellen, alle 4er Stellen, usw. parallel und die C Ein-/Ausgänge an je einen µP Port geht nicht. Warum ? Steht ein Kodierschalter auf 7, so sind 4-2-1-C verbunden und somit alle anderen Stellen auch. Anm.: Die 10 Bits für die C Signale lassen auch durch einen 4 auf 16 binär Dekoder ersetzen. Aber das ist nicht die Idee die gesucht wird.. Wer hat eine gute Idee mit wenigen Bits aus zu kommen ?
Falsches Forum. Die 10 C-Leitungen kannst du mit 2 74xx138 auswählen. Du brauchst pro Schalter je 4 Dioden, die du den Ausgängen in Reihe schaltest und dazu noch für alle 10 Schalter zusammen 4 Pull-Widerstände. Dann kannst du das machen, was du hier ausschließt. Uwe S. schrieb im Beitrag #2331678: > Einfach alle 8er Stellen, alle 4er Stellen, usw. parallel und die C > Ein-/Ausgänge an je einen µP Port geht nicht. "Effizient" wäre ansonsten auch noch, eine synchrone serielle Schnittstelle und daran 5 Schieberegister 74xx165 als Eingänge und zwei 74xx595 als Ausgänge zum Multiplexen zu nehmen. Spart Pins.
Hallo Michael, Die Lösung mit 2x 74HC138 und den vier passiven UND Gattern mit je 10 Dioden hatte ich mir auch überlegt. Die Schieberegister liegen auch in der Schublade, damit könnte ich es auch machen. Danke das wars.
Es gibt laut Datenblatt 2 verschiedene Varianten: - invertiert - nicht invertiert Welchen Variante hast du?
Wie im ersten Beitrag zur Kodierung beschrieben. Der Link soll nur als Bild für diese Schalter dienen. Zahl 8 4 2 1 C --------------- 0 o o o o - 1 o o o c c 2 o o c o c 3 o o c c c : 7 o c c c c 8 c o o o c 9 c o o c c Legende: o := Offen und c := Close
Wer nimmt denn heutzutage noch BCD Kodierschalter und dann noch 10 Stück. Nimm einfach ne 3*4 Tastenmatrix, ein LCD und nen MC mit EEPROM zur Eingabe beliebig vieler Ziffern. Peter
... mit dem BCD Schalter ein Widerstandsnetzwerk (z.B. R2R) steuern und die Stellung über ADC einlesen. das benötigt dann einen Pin. Ist dann sozusagen ein manueller DAC. Mit einem Analogmultiplexer kannst du dann auch die verfügbaren Pins vervielfachen. Klaus
Lbr Peter, ja das würde ich auch so machen, wenn ich von diesen BCD Dingern nicht noch 14 Stück hätte und so auch alte Funkgeräte restaurieren wollte. old Style halt; klar ist auch, es lohnt sich nur für dieses Einzelstück. Sonst würde man es so machen, wie Du es beschreibst. Danke.
@Klaus De lisson, danke diese Idee hatte ich noch nicht, aber das Einlesen einiger Schalter per ADC habe ich schon gesehen. Super Idee, danach hatte ich gefragt !
Uwe S. schrieb: > Einfach alle 8er Stellen, alle 4er Stellen, usw. parallel und die C > Ein-/Ausgänge an je einen µP Port geht nicht. Nur ein Wort: Dioden.
Hallo Hannes, danke hatten wir schon als Vorschlag.
Uwe S. schrieb: > Hallo Hannes, > > danke hatten wir schon als Vorschlag.# Und warum nimmst du ihn nicht ernst, und popelst statt dessen weiter stundenlang rum?
Hannes Jaeger schrieb: > Und warum nimmst du ihn nicht ernst, und popelst statt dessen weiter > stundenlang rum? Hmm verstehe ich nicht .
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.