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.