www.mikrocontroller.net

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


Autor: 'M.of.D' (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Helmut Lenzen (helmi1)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: 'M.of.D' (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Rat.

Was bedeutet jetzt das % Zeichen?

Autor: CUser (Gast)
Datum:

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

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
'M.of.D' schrieb:

> Was bedeutet jetzt das % Zeichen?

Dass du vielleicht in ein C Buch reinschauen solltest?

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.