Forum: Mikrocontroller und Digitale Elektronik Adressieren von einem Bit beim 8051


von Markus B. (lordnoxx) Benutzerseite


Lesenswert?

Hallo zusammen.

Bin gerade dabei mich in die Welt des 8051 µC einzuarbeiten. Nun liest 
man hier und da, das selbiger µC im Bereich von 20h bis 2Fh einen 
Speicherbereich hat, bei dem auch die einzelnen Bits eines jeden Byte 
gesondert gesetzt werden können. Beispiel:

SETB 25h

Was ich jetzt nicht verstehe ist folgendes: "25h" ist doch die Adresse 
eines ganzen Byte. Woher weiß dann der Assembler welches Bit gemeint 
ist? Wo in obiger Anweisung steht welches Bit gemeint ist?

Folgenden Satz habe ich auch noch gelesen:

"Note, bit 25h is actually bit b5 of Internal RAM location 24h."

Warum soll die Byte-Adresse 25h eigentlich Bit 5 von Adresse 24h sein?


Bitte bringt mir Licht ins Dunkel!!! :-)
Hoffe ihr könnt mir Helfen. Danke!

von Alexander S. (schroeder_90)


Lesenswert?

Du musst setb #adresse (20h-2Fh). #Bit das du setzten willst

also bsp: setb 20h.1

von Markus B. (lordnoxx) Benutzerseite


Lesenswert?

Ok. danke.
Das ist dann also wie bei den Ports. z.B. P2.1

Aber was hat es dann mit dieser Aussage auf sich:
"Note, bit 25h is actually bit b5 of Internal RAM location 24h."
??

von Klaus W. (mfgkw)


Lesenswert?

25h ist dezimal 37.
Also 4 Byte (32 Bit), dann das fünfte.
Weil die Bitgeschichte bei 20h losgeht, handelt es sich also
um das Byte 20h+4=24h. Darin dann das fünfte Bit.

von Klaus W. (mfgkw)


Lesenswert?

PS: nicht daß ich von 8051 irgendeine Ahnung hätte, aber es
ergibt sich aus dem oben zitierten.

von Markus B. (lordnoxx) Benutzerseite


Lesenswert?

Ok, ich denke das habe ich dann verstanden. Nur nochmal zu Kontrollen.
Man kann also sagen:

SETB 25h    ist das Gleiche wie   SETB 24h.5


Je nach Schreibweise weiß dann der Assembler ob es sich bei der Hex-Zahl 
um eine direkte Bit-Adresse (SETB 25h), oder um eine
Byte-Adresse plus Angabe des darin befindlichen Bit (SETB 24h.5) 
handelt.

Stimmt das so?

von Guido (Gast)


Lesenswert?

Ja, weil 4 * 8 + 5 = 37 = 25h.

von Jobst M. (jobstens-de)


Angehängte Dateien:

Lesenswert?

Vielleicht ist Dir dies ja noch nicht untergekommen ...


Gruß

Jobst

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.