Forum: Projekte & Code BCD Zähler in AVR GCC gesucht


von 'M.of.D' (Gast)


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

von Helmut L. (helmi1)


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

von 'M.of.D' (Gast)


Lesenswert?

Danke für den Rat.

Was bedeutet jetzt das % Zeichen?

von CUser (Gast)


Lesenswert?

Das ist der Rest. Beispiel: 15 % 10 ist 5, denn 15/10 ist 1 und es 
bleiben 5 übrig.

von (prx) A. K. (prx)


Lesenswert?

'M.of.D' schrieb:

> Was bedeutet jetzt das % Zeichen?

Dass du vielleicht in ein C Buch reinschauen solltest?

von Peter D. (peda)


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

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
Noch kein Account? Hier anmelden.