BCD Zähler in AVR GCC gesucht

Gast #1432581
Lesenswert?

Hallo zusammen,

ich stehe gerade vor einem Problem, das ich mit meinen Kenntnissen in C 
nicht hinbekomme.

Ein Fensterkontakt (NO) wird an einen ATmega32 gehängt und dieser 
schaltet eine LED, wenn das Fenster geöffnet wird.

Nun möchte ich, aber auch noch, das der µC bei jedem LH-Übergang im 
BCD-Code mitzählt und jedes Mal 1 dazuaddiert.

Ausgegeben soll dann alles auf 4 Pins, die in einen 4067 16-fach 
Multiplexer führen und immer ein Ausgang weitergeschaltet wird.

Fensterkontakt---->µC-->zählt Aufwärts---> BCD-Ausgabe in 4067

z.B. Fenster wurde 3x geöffnet

0011 (BCD) -> 3. LED soll leuchten


Fenster wurde 10x geöffnet

1010 (BCD) -> 10. LED soll leuchten


Ich hoffe, dass es nicht zu schwer verständlich ist.

Danke

mfg
Stefan
#1432589
Lesenswert?

Nun mal dahingestellt das man die Ansteuerung der LEDs auch per 
Multiplex machen kann und somit den 4067 einspart.
Die Codes von BCD und binaer sind fuer 0..9 indentisch.
Du kannst also eine normale Variable hochzaehlen lassen.
Wenn du jetzt groesser als 9 zaehlen willst kannst du die einer Stelle 
und die Zehner stelle nach folgendem Schema abspalten.

Einer =  Zaehler % 10
Zehner = Zaehler / 10

Gruss Helmi
#1432634
Lesenswert?

'M.of.D' schrieb:
> Ausgegeben soll dann alles auf 4 Pins, die in einen 4067 16-fach
> Multiplexer führen und immer ein Ausgang weitergeschaltet wird.

> Ich hoffe, dass es nicht zu schwer verständlich ist.

Naja, es ist schon schwer verständlich, wozu der 4067 gut sein soll.
Der ATmega32 hat 32 IO-Pins, Du kannst also bequem alle 10 LEDs 
anschließen.


Peter

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