AT89S8252 - Statusbits und Stackpointer

OP #217725
Lesenswert?

Hallo zusammen,

Ich nutze µVision Keil2 um meinen Atmel AT89S8252 zu programmieren.
Gleich zu meiner Frage:
Wie verhält sich der RAM bzw. der Stackpointer wenn ich alle 4
Registerbänke und zusätzlich einzelne Bits im RAM als Statusbits nutzen
will. Auf was muss ich den Stackpointer vorladen damit nix überschrieben
wird? Wo befinden sich die Specialfunction-Register bzw. die normalen
Register (Adressen) und ab wo kann man den RAM frei nutzen? Bis wohin
ist er bitweise ansprechbar?
Kennt jemand ne gute Seite auf der man sich einen Überblick über ROM,
RAM EEPROM des AT89S8252 verschaffen kann (außer Datenblatt)?

DANKE für jede Hilfe!!

MfG byte3
Gast #217726
Lesenswert?

Die RAM-Map steht doch in jedem datenblatt:

Registerbänke: 00..1Fh
Bitadressierbar: 20..2Fh (20.0 = Bit 00,..., 2F.7 = Bit 7F)
direkt adressierbar: 00..7Fh
indirekt adressierbar: 00..FFh

nur direkt adressierbare SFRs: 80..7Fh
bitadressierbare SFRs: 80h,88h,90h,98h,A0h,...

SP auf 0EFh (= 16 Byte) sollte in der Regel reichen.


Peter
OP #217727
Lesenswert?

hi Peter

Kennst du dich mit "µVision Keil 2" aus? Da gibt's das sogenannte
Memory-Window im Debugmodus um sich den Inhalt des Speichers
anzuschauen. Was muss ich da für die einzelnen Speicherbereiche
(Programmspeicher, RAM -> für indirekt und direkt adressiebarer
Bereich) eingeben (Buchstaben)?
Kann es ein dass z.B. "C: 0x0000" für Programmcode steht, "I:
0x0000" für RAM, "X: 0x0000" für EEPROM?!? Aber wie unterscheidet
sich dann der direkt/indirekt adressierbare Bereich im RAM?

DANKE

MfG byte3

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren