Forum: Mikrocontroller und Digitale Elektronik AT89S8252 - Statusbits und Stackpointer


von Stefan S. (byte3)


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

von blöder ossi (Gast)


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

von Stefan S. (byte3)


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

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.