Cheatography
https://cheatography.com
Akkumulator (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 Akkumulator und das Haupt-Arbeits-Register. In der mnemonischen Kurzbezeichnungen, den Programmierbefehlen wird der Akkumulator nur mit A bezeichnet.
B (Akkumulator Nebenregister)
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 Nebenarbeitsregister und wird beim Multiplizieren und Dividieren benötigt. Bei der Abarbeitung anderer Befehle kann es als weiterer schneller Hilfsspeicher dienen.
Interrupt-Freigaberegister (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 Zeitgeber/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 Zeitgeber/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 Zeitgeber/Zählers 2 frei (ET2 = 1) oder nicht frei (ET2 = 0) nur bei 8032/52 |
7 |
AEH |
- |
- |
8 |
AFH |
EA |
Globales Interrupt-Freigabe-Flag (Enable ALL Interrupts). 0 = es wird kein Interrupt zugelassen (alle gesperrt) 1 = Interrupts je nach deren Freigabe zugelassen |
Das Interrupt-Enable-Register aktivier bzw. deaktiviert die verschiedenen Interrupts.
Interrupt-Prioritätenregister (IP)
Bit |
Hexadresse |
Kürzel |
Funktion |
1 |
B8H |
PX0 |
Prioritätsstufe des Interrupts von Anschluss /INT0 |
2 |
B9H |
PT0 |
Prioritätsstufe des Interrupts von Zeitgeber/Zählers 0 |
3 |
BAH |
PX1 |
Prioritätsstufe des Interrupts von Anschluss /INT1 |
4 |
BBH |
PT1 |
Prioritätsstufe des Interrupts von Zeitgeber/Zählers 1 |
5 |
BCH |
PS |
Prioritätsstufe des Interrupts des seriellen Ports |
6 |
BDH |
PT2 |
Prioritätsstufe des Interrupts von Zeitgeber/Zählers 2 nicht im 80C31/51 implementiert, nur beim 80C32/52 und aufwärts verfügbar |
7 |
BEH |
- |
- |
8 |
BFH |
- |
- |
Das Interrupt-Prioritäten-Register legt für die unterschiedlichen Interrupts deren Priorität fest.
1 = hohe Priorität
0 = niedrige Priorität
Prioritäten Reihenfolge
Quelle |
Bit |
Interrupt Adresse |
(Hardware-) Reset |
- |
0000H |
Externer Interrupt 0 |
IE0 |
0003H |
Zeitgeber/Zähler 0 Überlauf |
TF0 |
000BH |
Externer Interrupt 1 |
IE1 |
0013H |
Zeitgeber/Zähler 1 Überlauf |
TF1 |
001BH |
Serieller Port |
RI oder TI |
0023H |
Zeitgeber/Zähler 2 Überlauf oder externer Interrupt 2 nur bei 8032/8052 |
TF2 oder IE2 |
002BH |
serielles Steuerregister (SCON)
Bit |
Hexadresse |
Kürzel |
Funktion |
1 |
98H |
RI |
Empfangs-Interrupt-Kennzeichnungsbit Wird in Betriebsart 0 durch Hardware am Ende der für das 8. Bit vorgesehenen Zeit gesetzt. Bei den übrigen Betriebsarten wird RI in der Mitte des Stoppbits vorgesehenen Zeit. Dieses gilt für jedes serielle Empfangen, Ausnahme siehe Erläuterung zu SM2. Löschen muss durch die Software erfolgen. |
2 |
99H |
TI |
Sende-Interrupt-Kennzeichnungsbit Wird in Betriebsart 0 durch Hardware am Ende der für das 8. Bit vorgesehenen Zeit gesetzt. Bei den übrigen Betriebsarten 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 Betriebsarten 2 und 3 empfangen wurde. Ist SM2 in der Betriebsart 1 auf Null gesetzt, so stellt RB8 das empfangene Stoppbit dar. In der Betriebsart 0 wird RB8 nicht verwendet. |
4 |
9BH |
TB8 |
9. Datenbit, das in den Betriebsarten 2 und 3 gesendet wird. Kann durch die Software gesetzt oder gelöscht werden. |
5 |
9CH |
REN |
Globale Empfangs-Freigabe (receive enable) wird per Software gesetzt, um den Datenempfang über den seriellen Port zuzulassen. 1 = zugelassen 0 = nicht zugelassen |
6 |
9DH |
SM2 |
Bit für Multiprozessor-Datenübertragung Es gibt die Datenübertragung in einem Multiprozessorsystem in den Betriebsarten 2 und 3 frei. ist SM2 in den Betriebsarten 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 Betriebsart 1 auf Eins gesetzt (SM2=1), so wird RI nicht aktiviert, wenn kein gültiges Stoppbit empfangen wurde. In der Betriebsart 0 sollte SM2 = 0 sein. |
7 |
9EH |
SM1 |
Betriebsart |
8 |
9FH |
SM0 |
Betriebsart |
Das serielle Steuer- und Status-Register (SCON) übernimmt die generelle Steuerung der seriellen Schnittstelle. Neben der Betriebsart der seriellen Schnitstelle, wird der Inhalt des 9. Daten-Übertragungsbit festgelegt, das beim Senden und Empfangen bestimmte Funktionen erfüllt. Es enthält neben der generellen Freigabe (REN) auch die beiden Interruptbits TI und RI.
SCON Betriebsarten (SM0/1)
SM0 |
SM1 |
Betriebsart |
Funktion |
0 |
0 |
0 |
E/A-Erweiterung, 8-Bit Schieberegister Baudrate: Taktfrequenz / 12 |
0 |
1 |
1 |
8-Bit UART Baudrate variable einstellbar |
1 |
0 |
2 |
9-Bit UART Baudrate: Taktfrequenz / 32 oder / 64 |
1 |
1 |
3 |
9-Bit UART Baudrate variable einstellbar |
|
|
Program Status Word (PSW)
Bit |
Kürzel |
Hexadresse |
Funktion |
1 |
P |
D0H |
Parity-Bit Anzahl 1 im Akkumulator |
2 |
- |
D1H |
3 |
OV |
D2H |
Überlauf (Overflow) |
4 |
RS0 |
D3H |
Registerbank-Auswahl |
5 |
RS1 |
D4H |
Registerbank-Auswahl |
6 |
F0 |
D5H |
Flag 0 allgemein nutzbar. |
7 |
AC |
D6H |
Hilfsübertragsbit für BCD-Operationen (Auxiallary Carry) |
8 |
CY |
D7H |
Übertragsbit (Carry) |
Das Program Status Word (Programstatusregister) enthält Informationen zur generellen Programmsteuerung.
Registerbank Auswahl (RS 0 / RS1)
RS1 |
RS0 |
Bank |
Speicherplätze |
0 |
0 |
0 |
00H - 07H |
0 |
1 |
1 |
08H - 0FH |
1 |
0 |
2 |
10H - 17H |
1 |
1 |
3 |
18H - 1FH |
Zeitgeber/Zähler-Betriebsart-Register (TMOD)
Bit |
Hexadresse |
Kürzel |
Funktion |
1 | 5 |
89H |
M0 |
Timer-Modus |
2 | 6 |
89H |
M1 |
Timer-Modus |
3 | 7 |
89H |
C /T |
Festlegung, ob Counter oder Zähler 0 = Zeitgeber (Timer) 1 = Zähler (Counter) |
4 | 8 |
89H |
Gate |
0 = Zählimpulse direkt zum Zähler 1 = Zählimpulse durch /INT0 bzw. /INT1 Pin an den Zähler |
Das Zeitgeber/Zähler-Betriebsart-Register (TMOD = Timer-Modus) ist für die grundlegenden Einstellungen der beiden Timer/Counter. Für die Festlegung in welchem Modus die Timer/Counter des Mikrocontroller betrieben werden. Ist C /T = 0 wird das Register bei jedem Maschinenzyklus inkrementiert (erhöht). Zählrate 1/12 der Oszillatorfrequenz (ein Zwölftel). Für die Aktivierung des Timers/Counters das Inbetriebnahme-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 nachgeschalteter 8-Bit-Zähler |
0 |
1 |
1 |
Low- und High-Byte zu einem 16-Bit-Zähler zusammengefasst |
1 |
0 |
2 |
8-Bit selbst nachladender Timer/Zähler Low-Byte = Zähler High-Byte = Nachladewert bei Überlauf |
1 |
1 |
3 |
Timer bildet 2 unabhängige 8-Bit-Timer |
Zeitgeber/Zähler-Steuerregister (TCON)
Bit |
Hexadresse |
Kürzel |
Funktion |
1 |
88H |
IT0 |
Interrupt 0 Steuerbit für Flanken- oder Pegel-getriggerten Interrupt an /INT1 bzw. /INT0 0 = Interrupt wird ausgelöst solange LOW-Pegel an /INTx anliegt. 1 = bei einer Negativ-Flanke (H/L-Übergang) 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 Interrupts.. |
3 |
8AH |
IT1 |
Interrupt 1 Steuerbit für Flanken- oder Pegel-getriggerten Interrupt an /INT1 bzw. /INT0 0 = Interrupt wird ausgelöst solange LOW-Pegel an /INTx anliegt. 1 = bei einer Negativ-Flanke (H/L-Übergang) 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 Interrupts.. |
5 |
8CH |
TR0 |
Timer 0 Steuerbit zur Inbetriebnahme des Zeitgeber/Zählers 1 bzw. 0. 0 = aus 1 = an |
6 |
8DH |
TF0 |
Timer 0 Kennzeichnungsbit für Überlauf von Zeitgeber/Zähler 1 bzw. 0. Wird jedesmal gesetzt (=1), wenn der Timer seinen höchsten Wert erreicht hat und auf 0 zurückgesetzt wird. |
7 |
8EH |
TR1 |
Timer 1 Steuerbit zur Inbetriebnahme des Zeitgeber/Zählers 1 bzw. 0. 0 = aus 1 = an |
8 |
8FH |
TF1 |
Timer 1 Kennzeichnungsbit für Überlauf von Zeitgeber/Zähler 1 bzw. 0. Wird jedesmal gesetzt (=1), wenn der Timer seinen höchsten Wert erreicht hat und auf 0 zurückgesetzt 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 = Ruhezustand |
6 |
87H |
- |
- |
7 |
87H |
- |
- |
8 |
87H |
SMOD |
doppelte Übertragsrate der seriellen Schnitstelle 1 = normale Baudrate 0 = halbe Baudrate |
Das Power Control Register (Energie-Steuerregister) beeinhaltet die Flags zur Steuerung des sogenannten Schlafzustandes (Idle) und des Power-Down-Modus. Die Steuerung der Energiesparoptionen ist sinnvoll bei autonomen, akkubetriebenen Applikationen. Im PCON ist auch das SMOD-Flag zur Steuerung der seriellen Schnittstelle.
|
Created By
Metadata
Comments
No comments yet. Add yours below!
Add a Comment
Related Cheat Sheets
More Cheat Sheets by TimSch