Sistemas Embarcados - Registros SFR

Um registro de função especial (ou registro de propósito especial ou simplesmente registro especial) é um registro dentro de um microprocessador que controla ou monitora as várias funções de um microprocessador. Como os registradores especiais estão intimamente ligados a alguma função ou status especial do processador, eles podem não ser graváveis ​​diretamente por instruções normais (como adicionar, mover, etc.). Em vez disso, alguns registros especiais em algumas arquiteturas de processador requerem instruções especiais para modificá-los.

No 8051, os registradores A, B, DPTR e PSW fazem parte do grupo de registradores comumente referido como SFR (registradores de função especial). Um SFR pode ser acessado por seu nome ou por seu endereço.

A tabela a seguir mostra uma lista de SFRs e seus endereços.

Endereço de Byte Endereço de bit
FF
F0 F7 F6 F5 F4 F3 F2 F1 F0 B
E0 E7 E6 E5 E4 E3 E2 E1 E0 ACC
D0 D7 D6 D5 D4 D3 D2 - D0 PSW
B8 - - - AC BB BA B9 B8 IP
B0 B7 B6 B5 B4 B3 B2 B1 B0 P3
A2 AF - - AC AB AA A9 A8 IE
A0 A7 A6 A5 A4 A3 A2 A1 A0 P2
99 Não é endereçável por bits SBUF
98 9F 9E 9D 9C 9B 9A 99 98 SCON
90 97 96 95 94 93 92 91 90 P1
8D Não é endereçável por bits TH1
8C Não é endereçável por bits TH0
8B Não é endereçável por bits TL1
8A Não é endereçável por bits TL0
89 Não é endereçável por bits TMOD
88 8F 8E 8D 8C 8B 8A 89 88 TCON
87 Não é endereçável por bits PCON
83 Não é endereçável por bits DPH
82 Não é endereçável por bits DPL
81 Não é endereçável por bits SP
80 87 87 85 84 83 82 81 80 P0

Considere os dois pontos a seguir sobre os endereços SFR.

  • Um registro de função especial pode ter um endereço entre 80H e FFH. Esses endereços estão acima de 80H, pois os endereços de 00 a 7FH são os endereços da memória RAM dentro do 8051.

  • Nem todo o espaço de endereço de 80 a FF é usado pelo SFR. Os locais não usados, 80H a FFH, são reservados e não devem ser usados ​​pelo programador 8051.

CY PSW.7 Carregar bandeira
AC PSW.6 Bandeira de transporte auxiliar
F0 PSW.5 Sinalizador 0 disponível para o usuário para fins gerais.
RS1 PSW.4 Registro de banco seletor bit 1
RS0 PSW.3 Registro de banco seletor bit 0
OV PSW.2 Sinalizador de estouro
- PSW.1 FLAG definível pelo usuário
P PSW.0 Paridade FLAG. Energizado / apagado pelo hardware durante o ciclo de instrução para indicar o número par / ímpar de 1 bit no acumulador.

No exemplo a seguir, os nomes dos registros SFR são substituídos por seus endereços.

CY AC F0 RS1 RS0 OV - P

Podemos selecionar o bit do banco de registro correspondente usando os bits RS0 e RS1.

RS1 RS2 Banco de registro Endereço
0 0 0 00H-07H
0 1 1 08H-0FH
1 0 2 10H-17H
1 1 3 18H-1FH

A palavra de status do programa (PSW) contém bits de status para refletir o estado atual da CPU. As variantes do 8051 fornecem um registro de função especial, PSW, com essas informações de status. O 8251 fornece dois sinalizadores de status adicionais, Z e N, que estão disponíveis em um segundo registro de função especial chamado PSW1.