2.3. registres fonction spéciale (SFR) pour les microcontrôleurs 8051
La zone d'enregistrement ou de fonctions spéciales (SFR) est comprise entre 80H et l'adresse de FFH la mémoire interne du microcontrôleur.
Cette zone de mémoire ne peut pas être utilisée comme mémoire de données, il est clair que si l'on écrit hors de contrôle dans la mémoire allouée à un registre spécial, modifier le comportement du microcontrôleur, ce qui entraîne des résultats inattendus que le record touchés. Bien que les emplacements de mémoire qui ne sont pas affectés à un registre spécial peut être utilisé pour stocker les données, il n'est pas conseillé d'utiliser, il faut garder à l'esprit que ceux-ci peuvent être réservés et affectés à des registres spéciaux dans d'autres modèles ou les fabricants de microcontrôleurs et notre programme de conflit lors du changement de modèle.
Les ports d'entrée et de sortie aussi occuper un poste précis ou des adresses de mémoire. Les emplacements de mémoire sur le côté gauche (80h, 88h, 90H ..) sont réservés pour le routage peu pour que les documents concernés peuvent être accessibles via ce système.
Le tableau suivant montre la position de chaque enregistrement de 8051 et 8052 microcontrôleur.
F8H | | | | | | | | | FFH |
F0H | B *
| | | | | | | | F7H |
E8H | | | | | | | | | EFH |
E0H | ACC *
| | | | | | | | E7H |
D8H | | | | | | | | | DFH |
D0H | PSW *
| | | | | | | | D7H |
C8H | T2CON * #
| | RCAP2L #
| RCAP2H #
| TL2 #
| TH2 #
| | | CFH |
C0h | | | | | | | | | C7H |
B8H | IP *
| | | | | | | | BFH |
B0h | P3 *
| | | | | | | | B7H |
A8h | IE *
| | | | | | | | AFH |
A0H | P2 *
| | | | | | | | A7H |
98H | SCON *
| SBUF | | | | | | | 9FH |
90H | P1 *
| | | | | | | | 97H |
88h | TCON *
| TMOD | TL0 | TL1 | TH0 | TH1 | | | 8FH |
80H | P0 *
| SP | DPL | DPH | | | | PCON | 87H |
Le tableau suivant présente la description et les symboles de chaque bit ou pin des registres internes (SFR) du microcontrôleur de la famille 8051/8052.
S'inscrire | Description | Adresse | Bit de commande ou d'un port fonction alternative | la valeur de réinitialisation |
| | | MSB | | | | | | | LSB | |
ACC * | Accumulateur (Accumulateur) | E0H | E7 | E6 | E5 | E4 | E3 | E2 | E1 | E0 | 00H |
B * | Inscrivez-B (Registre B) | F0H | F7 | F6 | F5 | F4 | F3 | F2 | F1 | F0 | 00H |
DPTR: | Pointeur de données (Data Pointer) (2 octets) | | | | | | | | | | |
DPH | octet de poids fort de DPTR (Haute pointeur de données) | 83H | | | | | | | | | 00H |
DPL | octet de poids faible de DPTR (Faible pointeur de données) | 82H | | | | | | | | | 00H |
| | | AF | AE | AD | AC | AB | AA | A9 | A8 | |
IE * | Activer les interruptions (Interrupt enable) | A8h | EA | - | ET2 | ES | ET1 | EX1 | ET0 | EX0 | 0x000000B |
| | | BF | BE | BD | Colombie-Britannique | BB | BA | B9 | B8 | |
IP * | Priorité des interruptions (Priorité d'interruption) | B8H | - | - | PT2 | PS | PT1 | PX1 | PT0 | Px0 | 0x000000B |
| | | 87 | 86 | 85 | 84 | 83 | 82 | 81 | 80 | |
P0 * | Port 0 (Port 0) | 80H | AD7 | AD6 | AD5 | AD4 | AD3 | AD2 | AD1 | AD0 | FFH |
| | | 97 | 96 | 95 | 94 | 93 | 92 | 91 | 90 | |
P1 * | Port 1 (Port 1) | 90H | - | - | - | - | - | - | T2EX | T2 | FFH |
| | | A7 | A6 | A5 | A4 | A3 | A2 | A1 | A0 | |
P2 * | Port 2 (Port 2) | A0H | A15 | A14 | A13 | A12 | A11 | A10 | A9 | A8 | FFH |
| | | B7 | B6 | B5 | B4 | B3 | B2 | B1 | B0 | |
P3 * | Port 3 (Port 3) | B0h | RD | WR | T1 | T0 | INT1 | INT0 | TxD | RxD | FFH |
PCON1 | contrôle de la consommation (Commande de l'alimentation) | 87H | SMOD | - | - | - | GF1 | GF0 | PD | IDL | 0xxxxxxxB |
| | | D7 | D6 | D5 | D4 | D3 | D2 | D1 | D0 | |
PSW * | mot d'état programme (Mot d'état du programme) | D0H | CY | AC | F0 | RS1 | RS0 | OV | - | P | 00H |
S'inscrire | Description | Adresse | Bit de commande ou d'un port fonction alternative | la valeur de réinitialisation |
| | | MSB | | | | | | | LSB | |
RCAP2H # | Capture octet de poids fort (Capture de haut) | CBH | | | | | | | | | 00H |
RCAPL # | Capture faible octets (Capture faible) | CAH | | | | | | | | | 00H |
SBUF | Tampon série de données (Tampon de données de série) | 99h | | | | | | | | | xxxxxxxxB |
| | | 9F | 9E | 9D | 9C | 9B | 9A | 99 | 98 | |
SCON * | Contrôle de port série (Contrôleur Serial) | 98H | SM0 | SM1 | SM2 | REN | TB8 | Rb8 | IT | RI | 00H |
SP | pointeur de pile (Stack Pointer) | 81F | | | | | | | | | 07H |
| | | 8F | 8E | 8D | 8C | 8B | 8A | 89 | 88 | |
TCON * | Contrôle Timers (Contrôle Timer) | 88h | TF1 | TR1 | TF0 | TR0 | IE1 | IT1 | IE0 | IT0 | 00H |
| | | FC | CE | CD | CC | CB | CA | C9 | C8 | |
T2CON * # | Contrôle Timer 2 (2 l contro Timer) | C8H | TF2 | EXF2 | RCLK | TCLK | EXEN2 | TR2 | C/T2 | CP/RL2 | 00H |
TH0 | Minuteur de 0 supérieure (Timer haute 0) | 8CH | | | | | | | | | 00H |
TH1 | Timer 1 supérieure (Timer haute 1) | 8DH | | | | | | | | | 00H |
TH2 # | top Timer 2 (Timer haute 2) | CDH | | | | | | | | | 00H |
TL0 | Minuteur de 0 inférieure (Timer 0 Faible) | 8AH | | | | | | | | | 00H |
TL1 | Timer 1 en bas (Timer 1 Low) | 8BH | | | | | | | | | 00H |
TL2 # | Timer 2 en bas (Timer bas 2) | CCH | | | | | | | | | 00H |
TMOD | Timers Mode (Mode minuterie) | 89h | GATE | C / T | M1 | M0 | GATE | C / T | M1 | M0 | 00H |
* Inscrivez-vous à niveau des bits d'adressage.
# Records a ajouté dans le microcontrôleur de la famille 8052.