User: alciro    User
 

Microcontroladores 8051

Share |

2.3. Registros de funciones especiales (SFR) de los microcontroladores 8051

El área de registros o funciones especiales (SFR) está comprendida entre la dirección 80H y FFH de la memoria interna del microcontrolador.

Esta zona de memoria no se puede utilizar como memoria de datos, resulta evidente que si escribimos de forma descontrolada en la memoria asignada a un registro especial, se modifica el comportamiento del microcontrolador, obteniéndose resultados inesperados según el registro afectado. Aunque las posiciones de memoria que no están asignadas a un registro especial pueden ser utilizadas para contener datos, no es aconsejable su uso, se ha de tener en cuenta que estas pueden estar reservadas y asignadas a registros especiales en otros modelos de microcontroladores o de fabricantes y nuestro programa entrará en conflicto cuando cambiemos de modelo.

Los puertos de entradas y salidas también ocupan unas posiciones específicas o direcciones de memoria. Las posiciones de memoria del lateral izquierdo (80H, 88H, 90H..) están reservadas para el direccionamiento de bit por lo que los registros que las ocupan se podrán acceder mediante este sistema.

En la siguiente tabla se detalla la disposición de cada registro del microcontrolador 8051 y 8052.

F8H       FFH
F0HB *
F7H
E8HEFH
E0HACC *
E7H
D8HDFH
D0HPSW *
D7H
C8HT2CON *#
RCAP2L #
RCAP2H #
TL2 #
TH2 #
CFH
C0HC7H
B8HIP *
BFH
B0HP3 *
B7H
A8HIE *
AFH
A0HP2 *
A7H
98HSCON *
SBUF9FH
90HP1 *
97H
88HTCON *
TMODTL0TL1TH0TH18FH
80HP0 *
SPDPLDPHPCON87H

La siguiente tabla muestra la descripción y los símbolos de cada bit o pin de los registros internos (SFR) de la familia de microcontroladores 8051/8052.

RegistroDescripciónDirecciónSímbolo del bit o función alternativa del puerto       Valor del reset
MSBLSB
ACC*Acumulador
(Accumulator)
E0HE7E6E5E4E3E2E1E000H
B*Registro B
(register B)
F0HF7F6F5F4F3F2F1F000H
DPTR:Apuntador a datos
(Data pointer) (2 bytes)
DPHByte alto del DPTR
(Data pointer high)
83H00H
DPLByte bajo del DPTR
(Data pointer low)
82H00H
AFAEADACABAAA9A8
IE*Habilitación de interrupciones
(Interrupt enable)
A8HEAET2ESET1EX1ET0EX00x000000B
BFBEBDBCBBBAB9B8
IP*Prioridad de las interrupciones
(Interrupt priority)
B8HPT2PSPT1PX1PT0PX00x000000B
8786858483828180
P0*Puerto 0 (Port 0)80HAD7AD6AD5AD4AD3AD2AD1AD0FFH
9796959493929190
P1*Puerto 1 (Port 1)90HT2EXT2FFH
A7A6A5A4A3A2A1A0
P2*Puerto 2 (Port 2)A0HA15A14A13A12A11A10A9A8FFH
B7B6B5B4B3B2B1B0
P3*Puerto 3 (Port 3)B0HRDWRT1T0INT1INT0TxDRxDFFH
PCON1Control del consumo
(Power control)
87HSMODGF1GF0PDIDL0xxxxxxxB
D7D6D5D4D3D2D1D0
PSW*Palabra de estado del programa
(Program status word)
D0HCYACF0RS1RS0OVP00H

 

RegistroDescripciónDirecciónSímbolo del bit o función alternativa del puerto       Valor del reset
MSBLSB
RCAP2H#Byte alto de captura
(Capture high)
CBH00H
RCAPL#Byte Bajo de captura
(Capture low)
CAH00H
SBUFBuffer de datos serie
(Serial data buffer)
99HxxxxxxxxB
9F9E9D9C9B9A9998
SCON*Control puerto serie
(Serial controller)
98HSM0SM1SM2RENTB8RB8TIRI00H
SPPuntero del stack
(Stack pointer)
81H07H
8F8E8D8C8B8A8988
TCON*Control de las temporizadores
(Timer control)
88HTF1TR1TF0TR0IE1IT1IE0IT000H
CFCECDCCCBCAC9C8
T2CON*#Control del timer 2
(Timer 2 control)
C8HTF2EXF2RCLKTCLKEXEN2TR2C/T2CP/RL200H
TH0Temporizador 0 parte alta
(Timer high 0)
8CH00H
TH1Temporizador 1 parte alta
(Timer high 1)
8DH00H
TH2#Temporizador 2 parte alta
(Timer high 2)
CDH00H
TL0Temporizador 0 parte baja
(Timer low 0)
8AH00H
TL1Temporizador 1 parte baja
(Timer low 1)
8BH00H
TL2#Temporizador 2 parte baja
(Timer low 2)
CCH00H
TMODModo de los temporizadores
(Timer mode)
89HGATEC/TM1M0GATEC/TM1M000H

* Registro con direccionamiento a nivel de bit.
# Registros añadidos en la familia de microcontroladores 8052.

Loading

copyright © 2007-2024  www.alciro.org  All rights reserved.         
Share |