Show Menu
Cheatography

8051 - Register Cheat Sheet by

Akkumu­lator (ACC)

Bit
Kürzel
Hexadresse
1
A.0
E0H
2
A.1
E1H
3
A.2
E2H
4
A.3
E3H
5
A.4
E4H
6
A.5
E5H
7
A.6
E6H
8
A.7
E7H
Das Register ACC ist der Akkumu­lator und das Haupt-­Arb­eit­s-R­egi­ster. In der mnemon­ischen Kurzbe­zei­chn­ungen, den Progra­mmi­erb­efehlen wird der Akkumu­lator nur mit A bezeic­hnet.

B (Akkum­ulator Nebenr­egi­ster)

Bit
Kürzel
Hexadresse
1
B.0
F0H
2
B.1
F1H
3
B.2
F2H
4
B.3
F3H
5
B.4
F4H
6
B.5
F5H
7
B.6
F6H
8
B.7
F7H
Das Register B ist das Nebena­rbe­its­reg­ister und wird beim Multip­liz­ieren und Dividieren benötigt. Bei der Abarbe­itung anderer Befehle kann es als weiterer schneller Hilfss­peicher dienen.

Interr­upt­-Fr­eig­abe­reg­ister (IE)

Bit
Hexadresse
Kürzel
Funktion
1
A8H
EX0
Gibt externe Interrupts von Anschluss /INT0 frei (EX0 = 1) oder nicht frei (EX0 = 0)
2
A9H
ET0
Gibt Interrupts vom Überlauf des Zeitge­ber­/Zä­hlers 0 frei (ET0 = 1) oder nicht frei (ET0 = 0)
3
AAH
EX1
Gibt externe Interrupts von Anschluss /INT1 frei (EX1 = 1) oder nicht frei (EX1 = 0)
4
ABH
ET1
Gibt Interrupts vom Überlauf des Zeitge­ber­/Zä­hlers 1 frei (ET1 = 1) oder nicht frei (ET1 = 0)
5
ACH
ES
Gibt Interrupts vom serieller Port frei ( ES = 1) oder nicht frei (ES = 0)
6
ADH
ET2
gibt Interrupts vom Überlauf des Zeitge­ber­/Zä­hlers 2 frei (ET2 = 1) oder nicht frei (ET2 = 0)
nur bei 8032/52
7
AEH
-
-
8
AFH
EA
Globales Interr­upt­-Fr­eig­abe­-Flag (Enable ALL Interr­upts).
0 = es wird kein Interrupt zugelassen (alle gesperrt)
1 = Interrupts je nach deren Freigabe zugelassen
Das Interr­upt­-En­abl­e-R­egister aktivier bzw. deakti­viert die versch­iedenen Interr­upts.

Interr­upt­-Pr­ior­itä­ten­reg­ister (IP)

Bit
Hexadresse
Kürzel
Funktion
1
B8H
PX0
Priori­tät­sstufe des Interrupts von Anschluss /INT0
2
B9H
PT0
Priori­tät­sstufe des Interrupts von Zeitge­ber­/Zä­hlers 0
3
BAH
PX1
Priori­tät­sstufe des Interrupts von Anschluss /INT1
4
BBH
PT1
Priori­tät­sstufe des Interrupts von Zeitge­ber­/Zä­hlers 1
5
BCH
PS
Priori­tät­sstufe des Interrupts des seriellen Ports
6
BDH
PT2
Priori­tät­sstufe des Interrupts von Zeitge­ber­/Zä­hlers 2
nicht im 80C31/51 implem­ent­iert, nur beim 80C32/52 und aufwärts verfügbar
7
BEH
-
-
8
BFH
-
-
Das Interr­upt­-Pr­ior­itä­ten­-Re­gister legt für die unters­chi­edl­ichen Interrupts deren Priorität fest.
1 = hohe Priorität
0 = niedrige Priorität

Priori­täten Reihen­folge

Quelle
Bit
Interrupt Adresse
(Hardw­are-) Reset
-
0000H
Externer Interrupt 0
IE0
0003H
Zeitge­ber­/Zähler 0 Überlauf
TF0
000BH
Externer Interrupt 1
IE1
0013H
Zeitge­ber­/Zähler 1 Überlauf
TF1
001BH
Serieller Port
RI oder TI
0023H
Zeitge­ber­/Zähler 2 Überlauf oder externer Interrupt 2
nur bei 8032/8052
TF2 oder IE2
002BH

serielles Steuer­reg­ister (SCON)

Bit
Hexadresse
Kürzel
Funktion
1
98H
RI
Empfan­gs-­Int­err­upt­-Ke­nnz­eic­hnu­ngsbit
Wird in Betrie­bsart 0 durch Hardware am Ende der für das 8. Bit vorges­ehenen Zeit gesetzt.
Bei den übrigen Betrie­bsarten wird RI in der Mitte des Stoppbits vorges­ehenen Zeit.
Dieses gilt für jedes serielle Empfangen, Ausnahme siehe Erläut­erung zu SM2.
Löschen muss durch die Software erfolgen.
2
99H
TI
Sende-­Int­err­upt­-Ke­nnz­eic­hnu­ngsbit
Wird in Betrie­bsart 0 durch Hardware am Ende der für das 8. Bit vorges­ehenen Zeit gesetzt.
Bei den übrigen Betrie­bsarten wird TI am Anfang des Stoppbits gesetzt.
Dieses gilt für jedes serielle Senden.
Löschen muss durch die Software erfolgen.
3
9AH
RB8
9. Datenbit, das in den Betrie­bsarten 2 und 3 empfangen wurde.
Ist SM2 in der Betrie­bsart 1 auf Null gesetzt, so stellt RB8 das empfangene Stoppbit dar.
In der Betrie­bsart 0 wird RB8 nicht verwendet.
4
9BH
TB8
9. Datenbit, das in den Betrie­bsarten 2 und 3 gesendet wird.
Kann durch die Software gesetzt oder gelöscht werden.
5
9CH
REN
Globale Empfan­gs-­Fre­igabe (receive enable) wird per Software gesetzt, um den Datene­mpfang über den seriellen Port zuzula­ssen.
1 = zugelassen
0 = nicht zugelassen
6
9DH
SM2
Bit für Multip­roz­ess­or-­Dat­enü­ber­tragung
Es gibt die Datenü­ber­tragung in einem Multip­roz­ess­ors­ystem in den Betrie­bsarten 2 und 3 frei.
ist SM2 in den Betrie­bsarten 2 und 3 auf Eins gesetzt (SM2=1), so wird RI nicht aktiviert, wenn das empfangene 9. Bit den Wert Null hat (RB8=0).
Ist SM2 in den Betrie­bsart 1 auf Eins gesetzt (SM2=1), so wird RI nicht aktiviert, wenn kein gültiges Stoppbit empfangen wurde.
In der Betrie­bsart 0 sollte SM2 = 0 sein.
7
9EH
SM1
Betrie­bsart
8
9FH
SM0
Betrie­bsart
Das serielle Steuer- und Status­-Re­gister (SCON) übernimmt die generelle Steuerung der seriellen Schnit­tst­elle. Neben der Betrie­bsart der seriellen Schnit­stelle, wird der Inhalt des 9. Daten-­Übe­rtr­agu­ngsbit festge­legt, das beim Senden und Empfangen bestimmte Funktionen erfüllt. Es enthält neben der generellen Freigabe (REN) auch die beiden Interr­uptbits TI und RI.

SCON Betrie­bsarten (SM0/1)

SM0
SM1
Betrie­bsart
Funktion
0
0
0
E/A-Er­wei­terung, 8-Bit Schieb­ere­gister
Baudrate: Taktfr­equenz / 12
0
1
1
8-Bit UART
Baudrate variable einste­llbar
1
0
2
9-Bit UART
Baudrate: Taktfr­equenz / 32 oder / 64
1
1
3
9-Bit UART
Baudrate variable einste­llbar
 

Program Status Word (PSW)

Bit
Kürzel
Hexadresse
Funktion
1
P
D0H
Parity-Bit
Anzahl 1 im Akkumu­lator
2
-
D1H
3
OV
D2H
Überlauf (Overflow)
4
RS0
D3H
Regist­erb­ank­-Au­swahl
5
RS1
D4H
Regist­erb­ank­-Au­swahl
6
F0
D5H
Flag 0
allgemein nutzbar.
7
AC
D6H
Hilfsü­ber­tra­gsbit für BCD-Op­era­tionen (Auxia­llary Carry)
8
CY
D7H
Übertr­agsbit (Carry)
Das Program Status Word (Progr­ams­tat­usr­egi­ster) enthält Inform­ationen zur generellen Progra­mms­teu­erung.

Regist­erbank Auswahl (RS 0 / RS1)

RS1
RS0
Bank
Speich­erp­lätze
0
0
0
00H - 07H
0
1
1
08H - 0FH
1
0
2
10H - 17H
1
1
3
18H - 1FH

Zeitge­ber­/Zä­hle­r-B­etr­ieb­sar­t-R­egister (TMOD)

Bit
Hexadresse
Kürzel
Funktion
1 | 5
89H
M0
Timer-­Modus
2 | 6
89H
M1
Timer-­Modus
3 | 7
89H
C /T
Festle­gung, ob Counter oder Zähler
0 = Zeitgeber (Timer)
1 = Zähler (Counter)
4 | 8
89H
Gate
0 = Zählim­pulse direkt zum Zähler
1 = Zählim­pulse durch /INT0 bzw. /INT1 Pin an den Zähler
Das Zeitge­ber­/Zä­hle­r-B­etr­ieb­sar­t-R­egister (TMOD = Timer-­Modus) ist für die grundl­egenden Einste­llungen der beiden Timer/­Cou­nter. Für die Festlegung in welchem Modus die Timer/­Counter des Mikroc­ont­roller betrieben werden.
Ist C /T = 0 wird das Register bei jedem Maschi­nen­zyklus inkrem­entiert (erhöht). Zählrate 1/12 der Oszill­ato­rfr­equenz (ein Zwölftel).
Für die Aktivi­erung des Timers­/Co­unters das Inbetr­ieb­nah­me-Bit TR0 bzw. TR1 gesetzt sein. TR0 und TR1 sind im TCON.

Timer Modus (M1 / M0)

M1
M0
Modus
Funktion
0
0
0
5 Bit Teiler (Low-Byte) und nachge­sch­alteter 8-Bit-­Zähler
0
1
1
Low- und High-Byte zu einem 16-Bit­-Zähler zusamm­eng­efasst
1
0
2
8-Bit selbst nachla­dender Timer/­Zähler
Low-Byte = Zähler
High-Byte = Nachla­dewert bei Überlauf
1
1
3
Timer bildet 2 unabhä­ngige 8-Bit-­Timer

Zeitge­ber­/Zä­hle­r-S­teu­err­egister (TCON)

Bit
Hexadresse
Kürzel
Funktion
1
88H
IT0
Interrupt 0
Steuerbit für Flanken- oder Pegel-­get­rig­gerten Interrupt an /INT1 bzw. /INT0
0 = Interrupt wird ausgelöst sola­nge LOW-Pegel an /INTx anliegt.
1 = bei einer Negati­v-F­lanke (H/L-Ü­ber­gang) an /INTx wird ein Interrupt ausgelöst.
2
89H
IE0
Interrupt 0
Kennzeichnungsbit für externen Interrupt /INT1 bzw. /INT0
Wird gesetzt (=1) bei einem Interrupt und gelöscht (=0) bei Ausführung des Interr­upts..
3
8AH
IT1
Interrupt 1
Steuerbit für Flanken- oder Pegel-­get­rig­gerten Interrupt an /INT1 bzw. /INT0
0 = Interrupt wird ausgelöst sola­nge LOW-Pegel an /INTx anliegt.
1 = bei einer Negati­v-F­lanke (H/L-Ü­ber­gang) an /INTx wird ein Interrupt ausgelöst.
4
8BH
IE1
Interrupt 0
Kennzeichnungsbit für externen Interrupt /INT1 bzw. /INT0
Wird gesetzt (=1) bei einem Interrupt und gelöscht (=0) bei Ausführung des Interr­upts..
5
8CH
TR0
Timer 0
Steuerbit zur Inbetr­ieb­nahme des Zeitge­ber­/Zä­hlers 1 bzw. 0.
0 = aus
1 = an
6
8DH
TF0
Timer 0
Kennzeichnungsbit für Überlauf von Zeitge­ber­/Zähler 1 bzw. 0.
Wird jedesmal gesetzt (=1), wenn der Timer seinen höchsten Wert erreicht hat und auf 0 zurück­gesetzt wird.
7
8EH
TR1
Timer 1
Steuerbit zur Inbetr­ieb­nahme des Zeitge­ber­/Zä­hlers 1 bzw. 0.
0 = aus
1 = an
8
8FH
TF1
Timer 1
Kennzeichnungsbit für Überlauf von Zeitge­ber­/Zähler 1 bzw. 0.
Wird jedesmal gesetzt (=1), wenn der Timer seinen höchsten Wert erreicht hat und auf 0 zurück­gesetzt wird.

Power Control Register (PCON)

Bit
Hexadresse
Kürzel
Funktion
1
87H
IDL
Idle Mode Bit
1 = aktivier
2
87H
PD
Power Down Bit
1 = aktiviert
Hat Vorrang vor IDL
3
87H
GF0
generelles Flag 0 (kann allgemein benutzt werden)
4
87H
GF1
generelles Flag 1 (kann allgemein benutzt werden)
5
87H
POF
Power Off Bit
1 = Ruhezu­stand
6
87H
-
-
7
87H
-
-
8
87H
SMOD
doppelte Übertr­agsrate der seriellen Schnit­stelle
1 = normale Baudrate
0 = halbe Baudrate
Das Power Control Register (Energ­ie-­Ste­uer­reg­ister) beeinh­altet die Flags zur Steuerung des sogena­nnten Schlaf­zus­tandes (Idle) und des Power-­Dow­n-M­odus. Die Steuerung der Energi­esp­aro­ptionen ist sinnvoll bei autonomen, akkube­tri­ebenen Applik­ati­onen. Im PCON ist auch das SMOD-Flag zur Steuerung der seriellen Schnit­tst­elle.

Help Us Go Positive!

We offset our carbon usage with Ecologi. Click the link below to help us!

We offset our carbon footprint via Ecologi
 

Comments

No comments yet. Add yours below!

Add a Comment

Your Comment

Please enter your name.

    Please enter your email address

      Please enter your Comment.

          Related Cheat Sheets

          More Cheat Sheets by TimSch

          C - Strukturierte Datentypen Cheat Sheet