mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PCF 8583 mit Atmega16 in c programmieren


Autor: Carolin (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
bin absoluter Programmierneuling, brauche aber dringend Hilfe.
Mein Problem: ich will den Uhrenbaustein PCF 8583 mit dem Atmega16
zusammen benutzen und mein Problem ist nun, wie kann ich die aktuelle
Zeit über den MC an meine 72 LED´s (Kreis mit 60 LED´s für Minuten und
Sekunden und zweiter Kreis mit 12 für Stunden) ausgeben. Meine Idee,
das ganze mit 72 if Schleifen  zu machen ist sicher sehr schlecht, aber
ne bessere Idee ist mir noch nicht gekommen.

Ich habe mal den Schaltplan in Eagle als Anhang rangehängt, damit
vielleicht mein Problem deutlicher wird.

Wäre toll, wenn mir jemand eine Idee geben könnte.
Ich mach das ganze übrigens in C
Vielen Dank, Caro

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie gibt der 8583 dir denn die zeit zurück, d.h in welchem format. hab
gerad keine lust datenblätter zu lesen

Autor: Carolin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
als 8 bit Wort in Hexadezimal -> bei z.b. 15 Minuten: 0001 0101
bei Sekunden genauso, nur bei Stunden ist es xx10h 1h
Glaube das heißt BCD Code

Autor: StephanW (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau mal in die Codesammlung. Dort findest du meinen C-Treiber für
dieses IC. Ist zwar für einen PIC, aber das portieren dürfte nicht
allzu schwierig sein.

Gruß Stephan

Autor: Andreas Hesse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich glaube nicht, das es um einen Treiber für das IC geht.
Vielmehr geht es darum, wie man den BCD-Code aus dem IC in einen "1
aus 60" Code der Minuten (Sekunden) oder "1 aus 12" Code der Stunden
überführt.

@Carolin:

Du könntest auch Zeit und Kalender im AVR direkt programmieren (Code
gibts im Forum). Dann kannst Du auf den Uhrenbaustein verzichten. (Wenn
Du kein Batterie Backup benötigst).
Dann könnntest Du die LEDs mit Schiebeoperationen ansteuern.

Wenn Du den Uhrenbaustein Uhrenbaustein unbedingt verwenden willst,
dann könntest Du das vielleicht über eine Tabelle lösen. (Also Anzahl
der Sekunden ermitteln und in einer vorher angelegten Tabelle unter
Punkt 15 dann die Bitkombination speichern.)

Das ist mal so ins unreine gesprochen.

Gruss
Andreas

Autor: Tobi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
über schieberegister gehts auch noch einfacher. alle hintereinander
hängen bei 0 ein sgnal anlegen und einmal takten und danach nur noch
bei jeder veränderung der zahl (die eigentlich zahl ist dann egal) eins
weiterschieben. sollte ja eigentlich syncron laufen

Autor: Carolin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, danke für die vielen Tipps.

@Stephan: Habe mir deinen Code angeschaut. Nur mein Problem ist, dass
ich nicht weiß, wie ich jetzt dieses BCD Wort in eine c schleife oder
ähnliches verpacke um dann die LED´s blinken zu lassen.

Den Uhrenbaustein brauche ich denke mal schon, weil ich mit dieser Uhr
noch was machen möchte, und zwar, ist Sinn dieser ganzen  Sache eine
Uhr zu bauen, die je nachdem wie rum der Stecker in der Steckdose
steckt(analogteil jetzt nicht ersichtlich) einmal vorwärts und einmal
rückwärts laufen soll.
Und dafür muss ich ja öfter die aktuelle Zeit auslesen.

Hoffe auf weitere gute Tipps und Ideen, Danke

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.