Forum: Mikrocontroller und Digitale Elektronik Uhr mit Datum


von hans0815 (Gast)


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?

von Falk (Gast)


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


von hans0815 (Gast)


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.

von Falk (Gast)


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

von Sonic (Gast)


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.

von Peter D. (peda)


Lesenswert?

In der Codesammlung sind doch Beispiele von mir, sogar mit Sommerzeit.


Peter

von Sebastian Heyn (Gast)


Angehängte Dateien:

Lesenswert?

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

schaltjahr, wochentag etc alles drin

von hans0815 (Gast)


Lesenswert?

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

von Holger K. (krulli) Benutzerseite


Lesenswert?

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

von Falk (Gast)


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


von Peter D. (peda)


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

von Rahul D. (rahul)


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...

von Malte _. (malte) Benutzerseite


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.

von Toni (Gast)


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

von crazy horse (Gast)


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.

von Der Dude (Gast)


Lesenswert?

>ich nehme fast nur den M41T81

wo kauftst Du den?

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.