Auslesen Kodierschalter BCD mit z.B. atMega88

#2331682
Lesenswert?

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 ?
#2331688
Lesenswert?

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.

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