Echtzeituhr mit 8051

Gast #744575
Lesenswert?
• ▲
▼
Hallo zusammen, ich suche ein Möglichkeit mit einem 8051 eine Art 
Echtzeituhr aufzubauen.
Folgende Funktion soll erfüllt werden:
Die Elektronik (Prozessor) soll zum Beispiel alle 2 min aufwachen und 
Temperaturen messen und sich anschließend wieder schlafenlegen. Während 
des Schlafes soll die Echtzeituhr aber weiterlaufen und den Prozessor 
wieder nach 2 min aufwecken. Die Temperaturen sollen in einem EEPROM mit 
Zeitstempel abgelegt werden. Der Zeitstempel ist der Wert der 
Echtzeituhr.
---
Meine Frage an Euch. Kann sowas mit einem 8051-Derivat gebaut werden?
Gast #745150
Lesenswert?
• ▲
▼
Hallo Klaus,
wenn Du den AT89C51CC03 verwendest und den externen Daten-, Adress- und 
Steuerbus auch für andere Komponenten benutzt, so kannst Du sehr gut die 
RTC 72421 von EPSON verwenden, die batterie-gepuffert weiter läuft.
Hast Du die Bussysteme nicht im Einsatz, so nimm eine SPI- oder I2C-Bus 
Uhr und schreib den Treiber selber (=Minimal-Lösung).

Gruß
Carlos
Gast #745532
Lesenswert?
• ▲
▼
Ist es nicht egal, ob der Controller dauernt läuft, die Uhr über nen 
internen Timer generiert und dabei vielleicht 5mA zieht?
Muss der sleep-Modus wirklich angewendet werden? Ich meine, soviel zieht 
der Controller ja auch nicht.
Gast #745599
Lesenswert?
• ▲
▼
Der 8051 hat einen PowerDown und einen Idle Modus.
Also verwendest du den Idle, da dort im Gegensatz zum PowerDown der 
Oszillator nicht angehalten wird und die Interrupts bzw. Timer weiter 
versorgt werden.
Desweiteren programmierst du einen Timer so, dass er mit Hilfe von 
Software-Vorteilern deine 2 Minuten runterzählt. Das bedeutet, der 
Controller wacht zwar immer wieder auf (wegen den Vorteilern), ist aber 
hauptsächlich im Idle-Zustand. Wenn die 2 Minuten runter sind, machst du 
die eigentliche Arbeit, und die Sache startet von vorne.

Gruß Ralf
#745993
Lesenswert?
• ▲
▼
Falls die Beschreibung des Projektes einigermassen vollstaendig ist, 
einmal alle 2 min aufwachen und eine temperatur messen, dann waeren 
einige LPC900 Derivate sehr gut geeignet. Man kann z.B. extern einen 32 
kHz Quarz anschliessen und bei Bedarf von mehr Performance den internen 
IRC-Oszillator benuetzen. Je nach Typ ist der zwischen 7.3 und 14.6 MHz 
schnell.

Genauigkeit des ADCs ist entweder 8-bit oder 10-bit, einfach mal 
reinschauen.
Parametrische Suche gibts hier: 
http://www.standardics.nxp.com/products/lpc900/mcus/
Eine Uebersicht hier:
http://www.standardics.nxp.com/literature/other/microcontrollers/pdf/line.card.pdf

Robert

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.