8051 Mikrocontroller
Speicherorganisation und Datentransfer
Inhaltsübersicht:
Der Controller 80C517 besitzt einen internen Datenspeicher von 256 Byte.
Dieser Speicher ist in eine untere und obere Hälfte mit je 128 Byte unterteilt.
Die untere Hälfte ist direkt von 00h bis 7Fh adressierbar.
Die obere Hälfte des Datenspeichers ist nur indirekt von Adresse 80h bis FFh über die beiden Register R0 oder R1 adressierbar.
Die Spezial-Funktions-Register befinden sich ebenfalls im Adressbereich 80h bis FFh, wobei diese direkt adressierbar sind.
Die Spezial-Funktions-Register enthalten alle Register, die der Controller für seine Arbeit, für die Ein- und Ausgabe und für interne Einstellungen benötigt.
Auf die Bedeutung der Register und Adressbereiche wird in den Grundlagen zur Assemblerprogrammierung eingegangen.
Die untere Hälfte des Datenspeichers ist aufgeteilt in Registerbänke, Bitspeicher und Bytespeicher.
Die Register R0 und R1 werden für die indirekte Adressierung des internen Datenspeichers (obere Hälfte des Speichers) verwendet.
In allen anderen Registern lassen sich Zwischenergebnisse ablegen.
Bit-Speicher
Bei den Bytes 20h bis 2Fh lässt sich jedes Bit einzeln adressieren.
Die 128 Bits sind von Adresse 00 bis 7F durchnummeriert. In diesem Speicherbereich können sowohl die Bits wie auch die Bytes mit ihrer Hex-Adresse angesprochen werden.
An dem jeweiligen Assemblerbefehl erkennt der Controller ob es sich um eine Bit- oder Byteadresse handelt.
Byte-Speicher
Der Byte-Speicher beginnt ab Adresse 30h. Er umfasst 80 Bytes und geht bis Adresse 7Fh.
Die obere Hälfte des Datenspeichers geht von Adresse 80h bis FFh und umfasst 128 Bytes.
Der Datenspeicher ist sozusagen zweigeteilt:
- als Datenspeicher von Adresse 80h bis FFh
Dieser Adressbereich ist nur indirekt adressierbar. - als Spezial-Funktions-Register (SFR)
Auch das SFR befindet sich im Adressbereich 80h bis FFh
Diese Register sind aber nur über die direkte Adressierung anzusprechen.
Die Bytes sind über die beiden Register R0 und R1 indirekt adressierbar.
Spezial-Funktions-Register
Sie lassen sich mit ihrer absoluten Hex-Adresse benennen bzw. mit einem geeigneten Übersetzungsprogramm, auch mit ihrer symbolischen Adresse.
siehe hierzu unseren Beitrag Spezial-Funktions-Register