mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Hilfe bei EEPROM des AT89S8253


Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tag an alle,
ich möchte gerne das interne EEPROM des AT89S8253 benutzen. Mein Problem 
ist, dass das EEPROM sich eher wie ein RAM verhält. Es lässt sich 
auslesen u. beschreiben, aber wenn ich den Chip aus der Fassung 
herausnehme und wieder einsetzte, ist das komplette EEPROM gelöscht!
Kann mir jemand einen Tip geben?
Bis irgendwann,
MC

Autor: Magnus Müller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das kann so nicht sein. Das Problem wird eher dein Programm sein. 
Vermutlich gehen die entsprechenden Speicherzugriffe deines Programms 
nicht aufs EEPROM, sondern (fälschlicherweise) aufs RAM.

Gruß,
Magnetus

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Deine Schreibsequenz sollte etwa so aussehen:
EECON |=  0x08; //EEMEM=1 Memory Select interner XDATA=EEPROM
EECON |=  0x10; //EEMWE=1 Write-Enable
EECON |=  0x20; //EELD=1  Page-Mode 32Byte
XBYTE[0x0000] = wert1; // meine zu speichernde Werte
XBYTE[0x0001] = wert2; // u.s.w.
EECON &=  0xDF; //EELD=0 Page-Mode beenden
XBYTE[0x0002] = wert3; // letzter Wert, löst Schreiben aus
while (!(EECON & 0x02)); // Warten bis Bytes im EEPROM geschrieben sind
EECON &=  0xEF; //EEMWE=0 Write-Disable

und lesen:
EECON |=  0x08; //EEMEM=1 Memory Select interner XDATA=EEPROM
wert1 = XBYTE[0x0000];
wert2 = XBYTE[0x0001];
wert3 = XBYTE[0x0002];

Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tag an alle,
@Matthias: Ich sehe, dass du das EEPROM im Page-Mode beschreibst.
Ist das erforderlich? Ich benutze den Page-Mode nämlich nicht, werde es 
jetzt aber mal probieren.
Danke für deine Antwort,
MC

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich benutze immer wenn irgendwie möglich den Pagemode, weil sehr 
schnell.

Autor: MC (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habe gerade mal den Page-Mode ausprobiert. Leider tritt immer noch der 
gleiche Effekt auf. Nach abklemmen der Versorgungsspannung ist das 
EEPROM gelöscht.
Habe das bei zwei AT89S8253 ausprobiert. Hat noch jemand diese Problem 
oder bin ich der einzige?
Danke trotzdem für eure Hilfe,
MC

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Du musst mehr Infos liefern.
Wie hast Du EA-Pin beschaltet?
Schaltung?
Programm-Code?
Punkt 6.1 im Datenblatt gelesen?
Hast Du den EEPROM mal mit der Programmiersoftware beschrieben?
diese kann das, auch AT89ISP von Atmel.
http://www.amwaw.edu.pl/~adybkows/elka/ispprog.html
Dann wüsstest Du, ob der µC ok ist.

Autor: MC (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Im Anhang ist mein Testprogramm. Es schreibt zuerst Daten ins interne 
EEPROM des AT89S8253 und liest diese dann aus. Nach dem Schreiben wird 
der Sprungbefehl eingesetzt, um die Schreib-Routine zu überspringen.
Ergebnis ist, dass nach dem Ab- und wieder Anlegen der Betriebsspannung 
das EEPROM gelöscht ist.
Das gleiche gilt, wenn ich das EEPROM über ein Prog-Tool beschreibe 
(atmelisp).
Bei inzwischen zwei Controllern tritt dieses Phänomen auf.
Bis irgendwann,
MC

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.