Forum: Mikrocontroller und Digitale Elektronik 8051 und Speicher


von Harald (Gast)


Lesenswert?

Hallo

Nur ne Frage zur Unwissenheit. Ich habe das mit den verschiedenen
Speichern noch nicht ganz gefressen.
Arbeite mit AT89S52
Wenn ich in der Int.Rotine mit @R0 auf die Speicherzelle #10 zugreife,
ist das auch die gleiche wenn ich in der Timer0 Rotine mit MOV A,10
??

Danke

von Peter D. (peda)


Lesenswert?

Schau Dir nochmal das Datenblatt (bzw. Users Guide) an.

Von 00h .. 7Fh ist der SRAM direkt und indirekt zugreifbar.

Von 80h sind direkt nur die SFRs zugreifbar.
Indirekt sind da weitere 128 Byte SRAM, allerdings nur bei den Typen
mit >128 Byte SRAM.

Der Bereich 00h .. 1Fh ist zusätzlich mit den 4 Registerbänken
überlagert, ist nützlich für bestimmte Befehle, die nicht mit Registern
gehen, aber direkt.
Z.B. "XRL 0, #0FF" dreht alle Bits in R0 von Bank 0 um.

Der Bereich 20h ... 2Fh ist mit den 128 Bit Variablen überlagert.
Also z.B. "MOV 20h, #0" löscht gleichzeitig die Bits 00..07.


Peter

von Harald (Gast)


Lesenswert?

Hallo Peter

Dann greife ich mit meinen Befehlen also auf zwei verschiedene Speicher
zu.
Aber wenn ich das sehe ist sind die Bitvariablen und die Reg. Bänke auf
dem direkten Speicher angesidelt.
Wenn ich als auf indirekt umstelle dürfte ich als keine Probleme
haben?

Oder

Gruß

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.