www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Uhr mit Datum


Autor: hans0815 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich werde in mein nächstes AVR Projekt eine Uhr integrieren. 
Möglichkeiten für eine "genaue" Sekunde sind hier ja gut beschrieben.
Jedoch möchte ich weiter die Uhr auch mit einem Datum ausstatten.
Von der PC Programierung her gibt es ja Funktionen die eine Zahl in ein 
Datum Umwandeln (Tage seit dem 1.1.1970) Wie sind diese implementiert, 
und wenn ja wie macht man sowas auf einem µC?

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ hans0815

>Von der PC Programierung her gibt es ja Funktionen die eine Zahl in ein
>Datum Umwandeln (Tage seit dem 1.1.1970) Wie sind diese implementiert,

Als Funktion im Betriebssystem, programmiert in C.

>und wenn ja wie macht man sowas auf einem µC?

Ganz genau so.

MFG
Falk


Autor: hans0815 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich werde (wie immer) die AVRlibc verwenden. Gibt es dort diese 
Funktion, und wie heist sie?
Ich möchte ja nicht nur das Datum jeden Tag eins hochzählen, sondern als 
Text zB. auf einem LCD ausgeben - wobei es dann ja umgewandelt werden 
muss.

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ hans0815

>Ich werde (wie immer) die AVRlibc verwenden. Gibt es dort diese
>Funktion, und wie heist sie?

AFAIK nein. Musst du alles selber programmieren. Aber ich kenn mich da 
nicht wirklich aus. Frag mal im GCC Forum.

MfG
Falk

Autor: Sonic (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du das Datum und die Uhrzeit nicht für mathematische berechnungen 
brauchst, also nur für Anzeige und Alarme, dann würde ich die Uhr und 
das Datum direkt in ASCII realisieren. Also z.B. die Sekunden '0' bis 
'9', als ASCII-Zeichen hochzählen. Ist zwar programmtechnisch etwas 
aufwändiger, aber bei der Ausgabe wird's dafür umso einfacher.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In der Codesammlung sind doch Beispiele von mir, sogar mit Sommerzeit.


Peter

Autor: Sebastian Heyn (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Die berechnungen hatte ich auch schonmal in BASCOM geschrieben.
Fehlt nur noch der interrupt einmal pro sekunde...

schaltjahr, wochentag etc alles drin

Autor: hans0815 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Peter Dannegger
Unter welchem Stichwort sind sie versteckt, ich find da leider nix :-(

Autor: Holger Krull (krulli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wäre es denn nicht am besten, die Datum und Zeitinformationen aus dem 
DCF77 Signal abzuleiten?

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Holger Krull

>Wäre es denn nicht am besten, die Datum und Zeitinformationen aus dem
>DCF77 Signal abzuleiten?

Wenn er aber kein DCF77 will? Ein normaler Quarz tuts auch für die 
meisten Anwendungen.

MfG
Falk


Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hans0815 wrote:
> @Peter Dannegger
> Unter welchem Stichwort sind sie versteckt, ich find da leider nix :-(


Beitrag "Zeit + Temperatur auf LCD mit AVR"

Beitrag "Standard LCD über nur 3 Drähte"

Beitrag "Berechnung Datum + Uhrzeit + Sommerzeit"


Peter

Autor: Rahul Der trollige (rahul)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nur noch mal zur Ergänzung:
Wer mit C hantiert, sollte i.d.R. auch die C-Bibel besitzen.
In meiner Ausgabe (erste deutsche Übersetzung) ist sowas beschrieben...

Autor: Malte __ (malte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wo ist das Problem einfach eine Byte Variable für die Tage, eine für die 
Monate und eine Word Variable für die Jahre zu verwenden? Allenfalls die 
Monatslänge richtig zu bestimmen erfordert ein paar zusätzliche 
Abfragen.

Autor: Toni (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich bin auch gerade dabei, eine Schaltuhr mit Datum zu bauen.
Die berechnung des Wochentags habei ich nach

http://de.wikipedia.org/wiki/Wochentagsberechnung

realiesiert.

Da ich aber kein C behersche und BASCOM in der freien Version nur 
begrenzten Quelltext erstellen kann, habe ich das alles in Assembler 
geschrieben.

MfG Toni

Autor: crazy horse (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich finde, es gibt nur 2 sinnvolle Arten von Uhren: DCF77 oder eine 
gepufferte RTC. Lässt du das ganze im MC laufen, geht es ohne Pufferung 
auch nicht. Aufs Netz ist zunehmend weniger Verlass (ich habe ne 
Backup-Platte im Netzwerk, die läuft nicht von allein wieder an, wenn 
der Strom weg war :-)), so eine kleine I2C-RTC kostet nur ein paar Cent, 
ich nehme fast nur den M41T81.

Autor: Der Dude (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>ich nehme fast nur den M41T81

wo kauftst Du den?

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.