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!
Du musst setb #adresse (20h-2Fh). #Bit das du setzten willst also bsp: setb 20h.1
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." ??
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.
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?
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.