www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Echtzeituhr mit 8051


Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Detlev T. (detlevt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sicher. Der IMO beste, wenn nicht der einzige Weg, ist die Verwendung 
eines dedizierten Real-Time-Clock-ICs (RTC) mit Alarmfunktion, der den 
µC weckt.

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, das habe ich noch vergessen.
Ich habe mir das Datenblatt von einem 89C51CC03 angeschaut.
Bei dem Prozessor bleiben die Timer im Sleepmodus stehen.
Sehe ich das richtig?

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Detlev, was bedeutet IMO?
Und könntest du mir eine RTC empfehlen?

Danke für deine Antwort und Hilfe

Autor: Detlev T. (detlevt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du kannst AFAIK ohnehin die Timer im 8051 nicht so langsam takten, dass 
sie nur alle 2 min einen Interrupt auslösen. Und ein wirklicher, 
stromsparender Schlaf muss zwangsläufig den Oszillator abschalten, sonst 
bringt das nicht so viel.

Autor: Detlev T. (detlevt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klaus wrote:
> Hallo Detlev, was bedeutet IMO?
= In My Opinion = Meiner Meinung nach.
> Und könntest du mir eine RTC empfehlen?
Nicht aus eigener Erfahrung.

Autor: Klaus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Detlef, was bedeutet AFAIK?

Autor: Detlev T. (detlevt)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klaus wrote:
> Hallo Detlef, was bedeutet AFAIK?
= As Far As I Know = Soweit ich weiß

Dieses und noch mehr findet sich auf: 
http://de.wikipedia.org/wiki/Liste_der_Abk%C3%BCrz...

Autor: Carlos (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Helmi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
RTC 4513 von Epson waere noch eine Realtime Clock

die kann ueber einen PIN jede Sekunde,Minute , Stunde einen Interrupt 
ausloesen

Angesteuert wird sie ueber ein 3 Draht Interface

Gruss Helmi

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Helmi (Gast)

>RTC 4513 von Epson waere noch eine Realtime Clock

>die kann ueber einen PIN jede Sekunde,Minute , Stunde einen Interrupt
>ausloesen

Wozu der Aufwand? Siehe Sleep Mode. Ist zwar auf den AVR gemünzt, 
der 8051 kann das aber sicher auch.

MFG
Falk

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bevor man sich nen RTC-IC aussucht, muß man erstmal festlegen, wie lange 
soll die Batterie einen Netztausfall überbrücken und welche Kapazität 
hat die Batterie.

D.h. wieviel µA darf die RTC maximal ziehen.


Peter

Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Robert Teufel (robertteufel)
Datum:

Bewertung
0 lesenswert
nicht 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/mi...

Robert

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.