Verschiedene Arten von Registern, die im 8051-Mikrocontroller verwendet werden

Versuchen Sie Unser Instrument, Um Probleme Zu Beseitigen





Das Register ist der Hauptteil des Mikrocontroller und Prozessoren Dies bietet eine schnelle Möglichkeit zum Sammeln und Speichern von Daten. Wenn wir Daten mit einem Controller oder Prozessor durch Addition, Subtraktion usw. bearbeiten möchten, können wir dies nicht direkt im Speicher tun, sondern es werden Register benötigt, um die Daten zu verarbeiten und zu speichern. Mikrocontroller enthalten verschiedene Arten von Registern, die nach ihrem Inhalt oder den darin enthaltenen Anweisungen klassifiziert werden können.

Verschiedene Registertypen im 8051-Mikrocontroller

Registrieren




Ein Register ist eine kleine Stelle in einer CPU, die kleine Datenmengen speichern kann, die zum Ausführen verschiedener Operationen wie Addition und Multiplikation verwendet werden, und die resultierenden Daten in den Hauptspeicher lädt. Register enthalten die Adresse des Speicherorts, an dem die Daten gespeichert werden sollen. Die Größe des Registers ist sehr wichtig für moderne Steuerungen . Beispielsweise versucht eine CPU für ein 64-Bit-Register, zwei 32-Bit-Zahlen hinzuzufügen, und liefert ein 64-Bit-Ergebnis.

Arten von Registern

Der 8051-Mikrocontroller enthält hauptsächlich zwei Arten von Registern:



  • Allzweckregister (Byte-adressierbare Register)
  • Sonderfunktionsregister (Bitadressierbare Register)
8051 RAM-Speicher

8051 RAM-Speicher

Das 8051 Mikrocontroller besteht aus 256 Bytes RAM, das auf zwei Arten unterteilt ist, wie 128 Bytes für allgemeine Zwecke und 128 Bytes für SFR-Speicher (Special Function Registers). Der Speicher, der für allgemeine Zwecke verwendet wird, wird als RAM bezeichnet, und der für SFR verwendete Speicher enthält alle peripheren Register wie Akkumulator, B-Register, Zeitgeber oder Zähler und Interrupt-bezogene Register.

Allzweckregister

Allzweckspeicher

Allzweckspeicher

Der Allzweckspeicher wird als RAM der 8051-Mikrocontroller bezeichnet, der in drei Bereiche unterteilt ist, z. B. Bänke, bitadressierbarer Bereich und Notizblockbereich. Die Banken enthalten verschiedene Allzweckregister wie R0-R7, und alle diese Register sind byteadressierbare Register, in denen nur 1-Byte-Daten gespeichert oder entfernt werden.


Banken und Register

B0, B1, B2 und B3 stehen für Banken, und jede Bank enthält acht Allzweckregister, die von „R0“ bis „R7“ reichen. Alle diese Register sind byteadressierbar. Eine Datenübertragung zwischen Allzweckregistern zu Allzweckregistern ist nicht möglich. Diese Banken werden vom PSW-Register (Program Status Word) ausgewählt.

Allzweckregister

Allzweckregister

PSW-Register (Programmstatuswort)

Das PSW-Register ist ein bit- und byteadressierbares Register. Dieses Register gibt den Status der Operation wieder, die in der Steuerung ausgeführt wird. Das PSW-Register bestimmt die Bankauswahl durch RS1 und RS0, wie unten gezeigt. Die physikalische Adresse des PSW beginnt bei D0h und auf die einzelnen Bits wird mit D0h bis D7h zugegriffen.

PSW-Register

PSW-Register

Tragflagge (C) : Die Adresse der Carry-Flagge lautet D7. Dieses Übertragsflag wird beeinflusst, wenn das Bit von der 7. Position erzeugt wird.
Wenn C = 0, werden die Übertragungen zurückgesetzt
C = 1 Tragesätze

Fahne tragen

Fahne tragen

Hilfsflagge (AC) : Die Adresse des Auxiliary Carry lautet D5. Dieser Hilfsübertrag wird beeinflusst, wenn ein Bit von der 3. Position zur 4. Position erzeugt wird.
AC = 0 Auxiliary wird zurückgesetzt
AC = 1 Hilfsmittel ist eingestellt

Auxiliary Carry (AC)

Auxiliary Carry (AC)

Überlaufflagge (OV) : Die Adresse des Überlaufflags lautet D2. Wenn ein Bit von der 6. Position zur 7. Position erzeugt wird, ist das Überlaufflag betroffen.

OV = 0 Überlaufflag wird zurückgesetzt
OV = 1 Überlauf-Flag setzt

Überlauf-Flag

Überlauf-Flag

Paritätsflagge (P) : Die Adresse des Paritätsflags lautet D0. Wenn das Ergebnis bei arithmetischen Operationen 1 ist, wird das Paritätsflag gesetzt - andernfalls wird es zurückgesetzt.
RS1 und RS0
RS1 und RS0, die Bits im PSW-Register, werden verwendet, um verschiedene Speicherplätze (Bank0 bis Bank4) im RAM auszuwählen.

Bankauswahlregister

Bankauswahlregister

Das Folgende ist ein Beispiel für die Verwendung dieses Registers.

Das folgende Beispiel zeigt das Hinzufügen von zwei Zahlen und das Speichern des Endwerts im Bank1-Register mithilfe eines Programms auf Baugruppenebene.

Org 0000h
MOV PSW, # 00h
MOV A, 15
ADD A, 20
MOV 00h, A.
ENDE

Montageprogramm zum Verschieben von 6 natürlichen Zahlen im Bank0-Register R0-R5

Org 0000h (Startadressdeklaration)
MOV PSW, # 00h (Bank0-Speicher öffnen)
MOV r0, # 00h (Startadresse des Bank0-Speichers)
MOV r1, # 01h
MOV r2, # 02h
MOV r2, # 03h
MOV r3, # 04h
MOV r4, # 05h
ENDE

Montageprogramm zum Verschieben von 6 natürlichen Zahlen im Bank1-Register R0-R7

Org 0000h (Startadressdeklaration)
MOV PSW, # 08h (Bank1-Speicher öffnen)
MOV r0, 00h (Wert an den Speicher der Bank1 gesendet)
MOV r1, 02h
MOV r2, 02h
MOV r2, 03h
MOV r3, 04h
MOV r4, 05h
MOV r5, 06h
MOV r6, 07h
MOV r7, 08h
ENDE

Sonderfunktionsregister (SFR)

Sonderfunktionsregister sind obere RAM in den 8051 Mikrocontrollern . Diese Register enthalten alle peripher verwandten Register wie P0, P1, P2, P3, Zeitgeber oder Zähler, serielle Schnittstelle und Interrupt-bezogene Register. Die SFR-Speicheradresse beginnt bei 80h bis FFh. Das SFR-Register wird durch Bitadressregister und Byteadressenregister implementiert.

Sonderfunktionsregister (SFR)


Sonderfunktionsregister (SFR)

Die Register Akkumulator, B-Register, Po, P1, P2, P3, IE sind bitadressierbare Register, alle sind byteadressierbare Register.

Akkumulator

Der Akkumulator, der auch als ACC oder A bekannt ist, ist ein Bit sowie ein byteadressierbares Register durch eine Adresse des Akkumulators. Wenn Sie ein bitadressierbares Register verwenden möchten, können Sie ein einzelnes Bit (E0) des Registers und ein 8-Bit des Akkumulators als byteadressierbares Register verwenden. Der Akkumulator enthält die Ergebnisse der meisten arithmetischen und logischen Operationen.

Speicherregister

Speicherregister

Das Montageprogramm für die Subtraktion, das mit einem Akkumulator verwendet wird

Org 0000h
MOV R0, # 09h
MOV A, # 03h (1-Byte-Daten)
SUBB A, 01h (1-Byte-Daten)
ENDE

B-Register

Das B-Register ist ein bit- und byteadressierbares Register. Sie können über eine physikalische Adresse F0h auf 1-Bit oder alle 8-Bit zugreifen. Angenommen, um auf Bit 1 zuzugreifen, müssen wir f1 verwenden. Das B-Register wird nur für Multiplikations- und Divisionsoperationen verwendet.

B-Register

B-Register

Das Assemblierungsprogramm zur Multiplikation, das mit einem B-Register verwendet wird

Org 0000h
MOV A, # 09h
MOV B, # 03h
MUL A, B (Endwert in A gespeichert)
ENDE
Das Versammlungsprogramm für die Division wird mit einem B-Register verwendet
Org 0000h
MOV A, # 09h
MOV B, # 03h
DIC A, B (Endwert in A gespeichert)
ENDE

Portregister

Der 8051-Mikrocontroller besteht aus 4 Eingangs- und Ausgangsanschlüssen (P0, P1, P2 und P3) oder 32-E / A-Pins. Jeder Stift ist entworfen mit einem Transistor und P-Register. Das Pin-Konfiguration ist sehr wichtig für einen Mikrocontroller, der von den logischen Zuständen der Register abhängt. Die Pin-Konfiguration als Eingang von 1 oder Ausgang 0 hängt von den logischen Zuständen ab. Wenn logisch 1 an das Bit des P-Registers angelegt wird, schaltet der Ausgangstransistor den entsprechenden Pin ab, der als Eingangspin fungiert.

Hafenregister von 8051

Hafenregister von 8051

Montageprogramm zum Umschalten der LEDs von Port0

ORG 0000h
RÜCKGABE: MOV P0, # 00h
ACALL DEL1
MOV P0, # 0FF
ACALL DEL1
SJMP RETURN
DEL1: MOV R2, # 200
FR: DJNZ R0, Nr. 230
DJNZ R2, DEL
RICHTIG
ENDE

Zähler und Register

Viele Mikrocontroller bestehen aus einem oder mehreren Timer und Zähler . Die Timer werden verwendet, um eine wertvolle Zeitverzögerung zu erzeugen, und die Quelle für die Timer ist ein Quarzoszillator. Die Zähler werden verwendet, um die Anzahl der externen Ereignisse zu zählen - zum Beispiel die objektiver Zähler und die Quelle für Zähler sind externe Impulse, die über den Zählerstift angelegt werden.

Der 8051-Mikrocontroller besteht aus zwei 16-Bit-Timern und Zählern wie Timer 0 und Timer 1. Beide Timer bestehen aus einem 16-Bit-Register, in dem das untere Byte in der TL und das höhere Byte im TH gespeichert sind. Der Timer kann sowohl als Zähler als auch für den Timing-Betrieb verwendet werden, der von der Quelle der Taktimpulse zu den Zählern abhängt.

Die Zähler und Timer in 8051-Mikrocontrollern enthalten zwei spezielle Funktionsregister: TMOD (Timer Mode Register) und TCON (Timer Control Register) , die zum Aktivieren und Konfigurieren von Timern und Zählern verwendet werden.

Arten von Schieberegistern

Schieberegister sind eine Art sequentieller Logikschaltungen, die hauptsächlich zur Speicherung digitaler Daten verwendet werden. Die Schieberegister sind bitadressierbare Register, die nur ein Datenbit speichern. Die Schieberegister sind mit Flip-Flops aufgebaut - einer Gruppe von Flip-Flops, die als Kette verbunden sind, so dass der Ausgang eines Flip-Flops zum Eingang des nächsten Flip-Flops wird.

Alle Flip-Flops werden von den Taktsignalen angesteuert, die von der D-Flip-Flap implementiert werden. Die Schieberegister werden hauptsächlich für verwendet serielle Kommunikation .

Diese werden in 4 Typen eingeteilt:

  • Serial in Serial out (SISO)
  • Serial in Parallel Out (SIPO)
  • Parallel in Serial out (PISO)
  • Parallel in Parallel Out (PIPO)
D-Flipflop-Register

D-Flipflop-Register

Dies sind alles verschiedene Registertypen in einem 8051-Mikrocontroller. Wir hoffen, dass wir Ihnen relevante Inhalte mit dem entsprechenden Programm für jedes Register erfolgreich zur Verfügung gestellt haben. Wenn Sie Hilfe bei der Codierung mehrerer anderer Register benötigen, können Sie uns kontaktieren, indem Sie unten einen Kommentar abgeben.

Bildnachweis: