Diferentes tipos de registros usados ​​no microcontrolador 8051

Diferentes tipos de registros usados ​​no microcontrolador 8051

O registro é a parte principal do microcontroladores e processadores que fornecem uma maneira rápida de coletar e armazenar dados. Se quisermos manipular dados com um controlador ou processador executando adição, subtração e assim por diante, não podemos fazer isso diretamente na memória, mas são necessários registros para processar e armazenar os dados. Os microcontroladores contêm diversos tipos de registros que podem ser classificados de acordo com seu conteúdo ou instruções que neles operam.



Diferentes tipos de registros no microcontrolador 8051

Registro


Um registro é um pequeno local em uma CPU que pode armazenar pequenas quantidades de dados usados ​​para realizar várias operações, como adição e multiplicação, e carrega os dados resultantes na memória principal. Os registros contêm o endereço do local da memória onde os dados devem ser armazenados. O tamanho do registro é muito importante para controladores modernos . Por exemplo, para um registro de 64 bits, uma CPU tenta adicionar dois números de 32 bits e dá um resultado de 64 bits.





Tipos de registros

O microcontrolador 8051 contém principalmente dois tipos de registros:

  • Registros de uso geral (registros endereçáveis ​​por byte)
  • Registros de função especial (registros endereçáveis ​​de bits)
Memória RAM 8051

Memória RAM 8051



O Microcontrolador 8051 consiste em 256 bytes de RAM, que é dividido em duas formas, como 128 bytes para uso geral e 128 bytes para memória de registros de função especial (SFR). A memória que é usada para fins gerais é chamada de RAM, e a memória usada para SFR contém todos os registros relacionados a periféricos, como acumulador, registro 'B', temporizadores ou contadores e registros relacionados a interrupções.

Registros de uso geral

Memória de uso geral

Memória de uso geral

A memória de uso geral é chamada de RAM dos microcontroladores 8051, que é dividida em 3 áreas, como bancos, área endereçável por bits e área de bloco de notas. Os bancos contêm diferentes registros de uso geral, como R0-R7, e todos esses registros são endereçáveis ​​por byte que armazenam ou removem apenas 1 byte de dados.


Bancos e registros

O B0, B1, B2 e B3 representam bancos, e cada banco contém oito registros de uso geral que variam de 'R0' a 'R7'. Todos esses registros são endereçáveis ​​por byte. A transferência de dados entre registros de uso geral para registros de uso geral não é possível. Esses bancos são selecionados pelo registro Program Status Word (PSW).

Registros de uso geral

Registros de uso geral

Registro PSW (Palavra de Status do Programa)

O registro PSW é um registro endereçável por bit e byte. Este registro reflete o status da operação que é realizada no controlador. O registro PSW determina a seleção do banco por um RS1 e RS0, conforme mostrado abaixo. O endereço físico do PSW começa com D0h e os bits individuais são acessados ​​com D0h até D7h.

Registros PSW

Registros PSW

Carregar bandeira (C) : O endereço da bandeira de transporte é D7. Este sinalizador de transporte é afetado quando o bit é gerado da 7ª posição.
Quando C = 0 carrega reinicializações
C = 1 carrega conjuntos

Carregar bandeira

Carregar bandeira

Sinalizador Auxiliar (AC) : O endereço do transporte auxiliar é D5. Este transporte auxiliar é afetado quando um bit é gerado da 3ª posição para a 4ª posição.
AC = 0 auxiliar é reiniciado
AC = 1 auxiliar está definido

Transporte auxiliar (AC)

Transporte auxiliar (AC)

Sinalizador de estouro (OV) : O endereço do sinalizador de estouro é D2. Quando um bit é gerado da 6ª posição para a 7ª posição, o sinalizador de estouro é afetado.

OV = 0 redefinições de sinalizador de estouro
OV = 1 conjuntos de sinalizadores de estouro

Sinalizador de estouro

Sinalizador de estouro

Sinalizador de paridade (P) : O endereço do sinalizador de paridade é D0. Durante a execução de operações aritméticas, se o resultado for 1, o sinalizador de paridade é definido - caso contrário, redefina.
RS1 e RS0
O RS1 e RS0, os bits no registro PSW, são usados ​​para selecionar diferentes locais de memória (banco0 a banco4) na RAM.

Registros de seleção de banco

Registros de seleção de banco

A seguir está um exemplo de uso deste registro.

O exemplo a seguir demonstra a adição de dois números e, em seguida, o armazenamento do valor final no registro Banco1 usando um programa de nível de montagem.

Org 0000h
MOV PSW, # 00h
MOV A, 15
ADICIONE A, 20
MOV 00h, A
FIM

Programa de montagem para mover 6 números naturais no registro banco0 R0-R5

Org 0000h (declaração de endereços inicial)
MOV PSW, # 00h (abrir a memória do banco0)
MOV r0, # 00h (endereço inicial da memória do banco0)
MOV r1, # 01h
MOV r2, # 02h
MOV r2, # 03h
MOV r3, # 04h
MOV r4, # 05h
FIM

Programa de montagem para mover 6 números naturais no registro do banco1 R0-R7

Org 0000h (declaração de endereços inicial)
MOV PSW, # 08h (abrir a memória do banco 1)
MOV r0, 00h (valor enviado para a memória do banco1)
MOV r1, 02h
MOV r2, 02h
MOV r2, 03h
MOV r3, 04h
MOV r4, 05h
MOV r5, 06h
MOV r6, 07h
MOV r7, 08h
FIM

Registros de função especial (SFR)

Os registros de função especial são RAM superior nos microcontroladores 8051 . Esses registros contêm todos os registros relacionados à periferia, como P0, P1, P2, P3, temporizadores ou contadores, porta serial e registros relacionados a interrupções. O endereço de memória SFR começa de 80h a FFh. O registro SFR é implementado por registros de endereço de bit e registros de endereço de byte.

Registros de função especial (SFR)


Registros de função especial (SFR)

O acumulador, registrador B, Po, P1, P2, P3, registradores IE são registradores endereçáveis ​​por bit, sendo todos registradores endereçáveis ​​por byte.

Acumulador

O acumulador, também conhecido como ACC ou A, é tanto um registro endereçável por byte quanto um endereço do acumulador. Se você quiser usar um registro endereçável por bit, você pode usar um único bit (E0) do registro e você pode usar um acumulador de 8 bits como um registro endereçável por byte. O acumulador contém os resultados da maioria das operações aritméticas e lógicas.

Registro de acumulador

Registro de acumulador

O programa de montagem para subtração usado com um acumulador

Org 0000h
MOV R0, # 09h
MOV A, # 03h (dados de 1 byte)
SUBB A, 01h (dados de 1 byte)
FIM

B-Register

O registrador B é um registrador endereçável por bit e byte. Você pode acessar 1 bit ou todos os 8 bits por um endereço físico F0h. Suponha que para acessar um bit 1, temos que usar f1. O registrador B é usado apenas para operações de multiplicação e divisão.

B-Register

B-Register

O programa de montagem para multiplicação usado com um B-Register

Org 0000h
MOV A, # 09h
MOV B, # 03h
MUL A, B (valor final armazenado em A)
FIM
O programa de montagem para a divisão usado com um registro B
Org 0000h
MOV A, # 09h
MOV B, # 03h
DIC A, B (valor final armazenado em A)
FIM

Registros de portas

O microcontrolador 8051 consiste em 4 portas de entrada e saída (P0, P1, P2 e P3) ou pinos de 32-I / O. Cada pino é projetado com um transistor e registros P. O configuração de pinos é muito importante para um microcontrolador que depende dos estados lógicos dos registradores. A configuração do pino como entrada dada por 1 ou saída 0 depende dos estados lógicos. Se a lógica 1 for aplicada ao bit do registro P, o transistor de saída desliga o pino apropriado que atua como um pino de entrada.

Registros de portas de 8051

Registros de portas de 8051

Programa de montagem para alternar LEDs da porta 0

ORG 0000h
RETORNO: MOV P0, # 00h
ACALL DEL1
MOV P0, # 0FF
ACALL DEL1
SJMP RETURN
DEL1: MOV R2, # 200
FR: DJNZ R0, # 230
DJNZ R2, DEL
DIREITA
FIM

Contadores e registros

Muitos microcontroladores consistem em um ou mais cronômetros e contadores . Os temporizadores são usados ​​para gerar atrasos preciosos e a fonte dos temporizadores é um oscilador de cristal. Os contadores são usados ​​para contar o número de eventos externos - por exemplo, o contador objetivo , e a fonte dos contadores são pulsos externos aplicados ao pino do contador.

O microcontrolador 8051 consiste em dois temporizadores e contadores de 16 bits, como o temporizador 0 e o temporizador 1. Ambos os temporizadores consistem em um registro de 16 bits no qual o byte inferior é armazenado no TL e o byte superior é armazenado no TH. O temporizador pode ser usado como um contador, bem como para a operação de temporização que depende da fonte dos pulsos do relógio para os contadores.

Os contadores e temporizadores nos microcontroladores 8051 contêm dois registros de função especial: TMOD (Registro de modo de temporizador) e TCON (Registro de controle de temporizador) , que são usados ​​para ativar e configurar temporizadores e contadores.

Tipos de registro de turnos

Os registradores de deslocamento são um tipo de circuitos lógicos sequenciais usados ​​principalmente para o armazenamento de dados digitais. Os registradores de deslocamento são registradores endereçáveis ​​por bit que armazenam apenas um bit de dados. Os registradores de deslocamento são construídos com flip-flops - um grupo de flip-flops conectados como uma cadeia para que a saída de um flip-flop se torne a entrada do próximo flip-flop.

Todos os flip-flops são acionados pelos sinais de clock implementados pelo D-flip-flap. Os registradores de deslocamento são usados ​​principalmente para comunicação em série .

Estes são classificados em 4 tipos:

  • Serial in Serial out (SISO)
  • Serial in Parallel Out (SIPO)
  • Paralelo em saída serial (PISO)
  • Paralelo em Saída Paralela (PIPO)
Registrador de flipflop D

Registrador de flipflop D

Todos esses são tipos diferentes de registros em um microcontrolador 8051. Esperamos ter fornecido a você conteúdo relevante com o programa apropriado para cada registro. Além disso, para qualquer tipo de ajuda para saber a codificação de vários outros registros, você pode entrar em contato conosco comentando abaixo.

Créditos fotográficos: