Sistemas integrados: registros SFR

Un registro de función especial (o registro de propósito especial, o simplemente registro especial) es un registro dentro de un microprocesador que controla o monitorea las diversas funciones de un microprocesador. Como los registros especiales están estrechamente vinculados a alguna función especial o estado del procesador, es posible que no se puedan escribir directamente mediante instrucciones normales (como agregar, mover, etc.). En cambio, algunos registros especiales en algunas arquitecturas de procesador requieren instrucciones especiales para modificarlos.

En el 8051, los registros A, B, DPTR y PSW son parte del grupo de registros comúnmente conocido como SFR (registros de funciones especiales). Se puede acceder a un SFR por su nombre o por su dirección.

La siguiente tabla muestra una lista de SFR y sus direcciones.

Dirección de Byte Dirección de bit
FF
F0 F7 F6 F5 F4 F3 F2 F1 F0 segundo
E0 E7 E6 E5 E4 E3 E2 E1 E0 ACC
D0 D7 D6 D5 D4 D3 D2 - D0 PSW
B8 - - - antes de Cristo cama y desayuno licenciado en Letras B9 B8 IP
B0 B7 B6 B5 B4 B3 B2 B1 B0 P3
A2 AF - - C.A. AB Automóvil club británico A9 A8 ES DECIR
A0 A7 A6 A5 A4 A3 A2 A1 A0 P2
99 No poco direccionable SBUF
98 9F 9E 9D 9C 9B 9A 99 98 SCON
90 97 96 95 94 93 92 91 90 P1
8D No poco direccionable TH1
8C No poco direccionable TH0
8B No poco direccionable TL1
8A No poco direccionable TL0
89 No poco direccionable TMOD
88 8F 8E 8D 8C 8B 8A 89 88 TCON
87 No poco direccionable PCON
83 No poco direccionable DPH
82 No poco direccionable DPL
81 No poco direccionable SP
80 87 87 85 84 83 82 81 80 P0

Considere los siguientes dos puntos sobre las direcciones SFR.

  • Un registro de función especial puede tener una dirección entre 80H y FFH. Estas direcciones están por encima de 80H, ya que las direcciones de 00 a 7FH son las direcciones de la memoria RAM dentro del 8051.

  • El SFR no utiliza todo el espacio de direcciones de 80 a FF. Las ubicaciones no utilizadas, 80H a FFH, están reservadas y no deben ser utilizadas por el programador 8051.

CY PSW.7 Llevar bandera
C.A. PSW.6 Bandera de transporte auxiliar
F0 PSW.5 Marcar 0 disponible para el usuario para fines generales.
RS1 PSW.4 Registro selector de banco bit 1
RS0 PSW.3 Registro selector de banco bit 0
OV PSW.2 Bandera de desbordamiento
- PSW.1 BANDERA definible por el usuario
PAGS PSW.0 BANDERA de paridad. Establecido / borrado por hardware durante el ciclo de instrucción para indicar un número par / impar de 1 bit en el acumulador.

En el siguiente ejemplo, los nombres de los registros SFR se reemplazan por sus direcciones.

CY C.A. F0 RS1 RS0 OV - PAGS

Podemos seleccionar el bit del banco de registros correspondiente usando los bits RS0 y RS1.

RS1 RS2 Banco de registro Habla a
0 0 0 00H-07H
0 1 1 08H-0FH
1 0 2 10H-17H
1 1 3 18H-1FH

La palabra de estado del programa (PSW) contiene bits de estado para reflejar el estado actual de la CPU. Las variantes del 8051 proporcionan un registro de función especial, PSW, con esta información de estado. El 8251 proporciona dos indicadores de estado adicionales, Z y N, que están disponibles en un segundo registro de función especial llamado PSW1.