Forum: Mikrocontroller und Digitale Elektronik AT 89C51 Interner Speicher


von Chris (Gast)


Lesenswert?

Hallo,

ich hab nen AT89C51 und Programmiere mit C

Ich möchte, dass bei Überschreitung von einer bestimmten Temperatur, der 
aktuelle überschrittene Temperaturwert im 10 Minuten Rhythmus in meine 
Internen Speicher vom 89C51 geschrieben wird, bis der Speicher voll ist, 
dann kann man mit Hilfe von nem VB programm dies gespeicherten 
Temperaturen auslesen.

mein Problem ist nun, dass ich den Befehl für das Schreiben der 
Temperaturen in den RAM nicht kenne.

kann mir da vielleicht jemand Helfen bzw hat jemand ne Idee

danke schonmal !

Gruß Chris

von Ralf (Gast)


Lesenswert?

???

Erzeuge ein Array im DATA bzw. IDATA Speicherbereich, schreib deine 
Werte ins Array und frag sie ab... Wo ist das Problem?

In C gibts keinen Befehl für Schreiben oder Lesen vom RAM, es gibt nur 
unterschiedliche Speicherbereiche und Lösungen wie man es macht 
(Pointer, Index vom Array, usw.)

Ralf

von Matthias (Gast)


Lesenswert?

Welchen C-Compiler benutzt Du, Keil, SDCC ....?

von Peter D. (peda)


Lesenswert?

Chris wrote:

> mein Problem ist nun, dass ich den Befehl für das Schreiben der
> Temperaturen in den RAM nicht kenne.

Sowat gibbet nicht.

Es gibt überhaupt keine Befehle, sondern nur die C-Syntax und die 
IO-Register (SFRs).

Daraus baut man sich dann Routinen zum Auslesen eines Temperatursensors, 
schreiben in ein Array und Zeit zählen.
Dann willst Du warscheinlich die Daten per UART übertragen, also noch ne 
UART-Senderoutine.

Und dann das alles nur noch zusammenpappen, fertig.

Allerdingts hat der AT89C51_nix_weiter nur 128Byte SRAM, da ist nich 
viel zu speichern.

Der AT89C51ED2 hat dagegen 64kB Flash, 2kB EEPROM, 1kB SRAM und er kann 
auch Daten im Flash speichern.


Peter

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.