Hilfe bei EEPROM des AT89S8253

Gast #644882
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
Gast #644892
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
Gast #644997
Deine Schreibsequenz sollte etwa so aussehen:
1
EECON |=  0x08; //EEMEM=1 Memory Select interner XDATA=EEPROM
2
EECON |=  0x10; //EEMWE=1 Write-Enable
3
EECON |=  0x20; //EELD=1  Page-Mode 32Byte
4
XBYTE[0x0000] = wert1; // meine zu speichernde Werte
5
XBYTE[0x0001] = wert2; // u.s.w.
6
EECON &=  0xDF; //EELD=0 Page-Mode beenden
7
XBYTE[0x0002] = wert3; // letzter Wert, löst Schreiben aus
8
while (!(EECON & 0x02)); // Warten bis Bytes im EEPROM geschrieben sind
9
EECON &=  0xEF; //EEMWE=0 Write-Disable

und lesen:
1
EECON |=  0x08; //EEMEM=1 Memory Select interner XDATA=EEPROM
2
wert1 = XBYTE[0x0000];
3
wert2 = XBYTE[0x0001];
4
wert3 = XBYTE[0x0002];
Gast #645024
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
Gast #645294
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
Gast #645883
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
Angehängte Dateien:

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.