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
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
Das ist der Rest. Beispiel: 15 % 10 ist 5, denn 15/10 ist 1 und es bleiben 5 übrig.
'M.of.D' schrieb:
> Was bedeutet jetzt das % Zeichen?
Dass du vielleicht in ein C Buch reinschauen solltest?
'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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.