Speicherorganisation und Datentransfer

Inhaltsübersicht:

 

Der Controller 80C517 besitzt einen internen Datenspeicher von 256 Byte.

Controller 80C517 Blockdiagramm

Dieser Speicher ist in eine untere und obere Hälfte mit je 128 Byte unterteilt.

Controller 80C517 Speicher


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.

Registerbank Bitspeicher 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.

Bit-Speicher

 

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:

  1. als Datenspeicher von Adresse 80h bis FFh
    Dieser Adressbereich ist nur indirekt adressierbar.
  2. 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.

Datenspeicher


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