Einzelnen Beitrag anzeigen

generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#19

Re: [µC] Meine kleine Uhr...

  Alt 10. Mär 2009, 09:05
Hast du dir Gedanken über die Genauigkeit deine Uhr gemacht?

Wenn du den uC mit 8 MHZ taktest, entspricht das eine Zykluszeit von 0,000000125 Sekunden.
Nun könntest du einen üblichen Teiler nehmen der im Timer eingebaut ist.
Diese sind bei dem Mega8: 1,8,64,256,1024.
Bei einen 1024 Teiler kommst du somit auf einen Interrupt alle 0,000128 Sekunden.

Das müsste weiter runter skaliert werden um auf einen Sekundentakt zu kommen.

Jetzt könntest du den 16 Bit Counter bemühen und diesen bis 7812,5 laufen lassen um auf eine Sekunde zu kommen.
Allerdings das ,5 macht hier Probleme. Dann bleibt also nur 0,000128*7812=0,999936 oder 0,000128*7813=1,000064.

Am Tag haben wir 86400 Sekunden (24*60*60) somit ergibt sich Differenz von ca. +/- 5,5 Sekunden am Tag.

Mit einen Teiler von 256 bei einen 8MHz Quarz kommt das übrigens hin. Der Counter müsste dann aber bis 31250 laufen.


Hast du das in deiner Zeitroutine berücksichtigt oder eine fertige Lib genommen welche das berücksichtigt?
Benutzt du den Timer überhaupt oder hast du das anders gelöst?
Hab ich mich verrechnet?
Coding BOTT - Video Tutorials rund um das Programmieren - https://www.youtube.com/@codingbott
  Mit Zitat antworten Zitat