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 solange 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 solange 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.
 

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 - printf/scanf Cheat Sheet
          C- Grundlagen zu Variablen Cheat Sheet