Différents types de registres utilisés dans le microcontrôleur 8051

Essayez Notre Instrument Pour Éliminer Les Problèmes





Le registre est la partie principale de la microcontrôleurs et processeurs qui fournissent un moyen rapide de collecter et de stocker des données. Si nous voulons manipuler des données avec un contrôleur ou un processeur en effectuant des additions, des soustractions, etc., nous ne pouvons pas le faire directement dans la mémoire, mais il faut des registres pour traiter et stocker les données. Les microcontrôleurs contiennent plusieurs types de registres qui peuvent être classés en fonction de leur contenu ou des instructions qui y opèrent.

Différents types de registres dans le microcontrôleur 8051

S'inscrire




Un registre est une petite place dans une CPU qui peut stocker de petites quantités de données utilisées pour effectuer diverses opérations telles que l'addition et la multiplication et charge les données résultantes sur la mémoire principale. Les registres contiennent l'adresse de l'emplacement de mémoire où les données doivent être stockées. La taille du registre est très importante pour contrôleurs modernes . Par exemple, pour un registre 64 bits, un CPU essaie d'ajouter deux nombres 32 bits et donne un résultat 64 bits.

Types de registres

Le microcontrôleur 8051 contient principalement deux types de registres:



  • Registres à usage général (registres adressables par octets)
  • Registres de fonctions spéciales (registres adressables par bit)
Mémoire RAM 8051

Mémoire RAM 8051

Le Microcontrôleur 8051 se compose de 256 octets de RAM, qui est divisée en deux manières, par exemple 128 octets pour un usage général et 128 octets pour la mémoire de registres de fonctions spéciales (SFR). La mémoire qui est utilisée à des fins générales est appelée RAM, et la mémoire utilisée pour SFR contient tous les registres liés aux périphériques tels que l’accumulateur, le registre «B», les temporisateurs ou compteurs et les registres liés aux interruptions.

Registres à usage général

Mémoire à usage général

Mémoire à usage général

La mémoire à usage général est appelée RAM des microcontrôleurs 8051, qui est divisée en 3 zones telles que des banques, une zone adressable en bits et une zone de bloc-notes. Les banques contiennent différents registres à usage général tels que R0-R7, et tous ces registres sont des registres adressables par octet qui stockent ou suppriment seulement 1 octet de données.


Banques et registres

Les codes B0, B1, B2 et B3 désignent les banques et chaque banque contient huit registres à usage général allant de «R0» à «R7». Tous ces registres sont adressables par octets. Le transfert de données entre des registres à usage général vers des registres à usage général n'est pas possible. Ces banques sont sélectionnées par le registre du mot d'état du programme (PSW).

Registres à usage général

Registres à usage général

Registre PSW (mot d'état du programme)

Le registre PSW est un registre adressable par bits et octets. Ce registre reflète l'état de l'opération qui est effectuée dans le contrôleur. Le registre PSW détermine la sélection de banque par RS1 et RS0, comme illustré ci-dessous. L'adresse physique du PSW commence à D0h et les bits individuels sont accessibles avec D0h à D7h.

Registres PSW

Registres PSW

Porte-drapeau (C) : L'adresse du drapeau Carry est D7. Ce drapeau de retenue est affecté lorsque le bit est généré à partir de la 7ème position.
Lorsque C = 0 report se réinitialise
C = 1 ensembles de transport

Porter un drapeau

Porter un drapeau

Drapeau auxiliaire (AC) : L'adresse de la retenue auxiliaire est D5. Cette retenue auxiliaire est affectée lorsqu'un bit est généré de la 3ème position à la 4ème position.
AC = 0 auxiliaire est réinitialisé
AC = 1 auxiliaire est réglé

Transport auxiliaire (AC)

Transport auxiliaire (AC)

Indicateur de débordement (OV) : L'adresse de l'indicateur de débordement est D2. Lorsqu'un bit est généré de la 6ème position à la 7ème position, l'indicateur de débordement est affecté.

L'indicateur de dépassement OV = 0 est réinitialisé
OV = 1 jeux d'indicateurs de débordement

Indicateur de débordement

Indicateur de débordement

Drapeau de parité (P) : L'adresse de l'indicateur de parité est D0. Lors de l'exécution d'opérations arithmétiques, si le résultat est 1, l'indicateur de parité est positionné - sinon, réinitialisé.
RS1 et RS0
RS1 et RS0, les bits du registre PSW, sont utilisés pour sélectionner différents emplacements de mémoire (banque0 à banque4) dans la RAM.

Registres de sélection de banque

Registres de sélection de banque

Voici un exemple d'utilisation de ce registre.

L'exemple suivant illustre l'ajout de deux nombres, puis le stockage de la valeur finale dans le registre Bank1 à l'aide d'un programme de niveau assemblage.

Org 0000h
MOV PSW, # 00h
MOV A, 15
AJOUTER A, 20
MOV 00h, A
FINIR

Programme d'assemblage pour déplacer 6 nombres naturels dans le registre bank0 R0-R5

Org 0000h (déclaration des adresses de départ)
MOV PSW, # 00h (ouvre la mémoire bank0)
MOV r0, # 00h (adresse de départ de la mémoire bank0)
MOV r1, # 01h
MOV r2, # 02h
MOV r2, # 03h
MOV r3, # 04h
MOV r4, # 05h
FINIR

Programme d'assemblage pour déplacer 6 nombres naturels dans le registre R0-R7 de banque1

Org 0000h (déclaration des adresses de départ)
MOV PSW, # 08h (ouvre la mémoire de la banque 1)
MOV r0, 00h (valeur envoyée à la mémoire de la banque 1)
MOV r1, 02h
MOV r2, 02h
MOV r2, 03h
MOV r3, 04h
MOV r4, 05h
MOV r5, 06h
MOV r6, 07h
MOV r7, 08h
FINIR

Registres de fonctions spéciales (SFR)

Les registres de fonctions spéciales sont la RAM supérieure dans les microcontrôleurs 8051 . Ces registres contiennent tous les registres périphériques tels que P0, P1, P2, P3, des temporisateurs ou des compteurs, un port série et des registres liés aux interruptions. L'adresse mémoire SFR commence de 80h à FFh. Le registre SFR est mis en œuvre par des registres d'adresses de bits et des registres d'adresses d'octets.

Registres de fonctions spéciales (SFR)


Registres de fonctions spéciales (SFR)

Les registres accumulateur, registre B, Po, P1, P2, P3, IE sont des registres adressables par bit qui restent tous sont des registres adressables par octets.

Accumulateur

L'accumulateur également appelé ACC ou A est un bit ainsi qu'un registre adressable par octet par une adresse de l'accumulateur. Si vous souhaitez utiliser un registre adressable par bit, vous pouvez utiliser un seul bit (E0) du registre et vous pouvez utiliser un 8 bits de l'accumulateur comme registre adressable par octet. L'accumulateur contient les résultats de la plupart des opérations arithmétiques et logiques.

Registre des accumulateurs

Registre des accumulateurs

Le programme d'assemblage pour la soustraction utilisé avec un accumulateur

Org 0000h
MOV R0, # 09h
MOV A, # 03h (données 1 octet)
SUBB A, 01h (données 1 octet)
FINIR

Registre B

Le registre B est un registre adressable par bits et octets. Vous pouvez accéder à 1 bit ou à tous les 8 bits par une adresse physique F0h. Supposons que pour accéder à un bit 1, nous devons utiliser f1. Le registre B n'est utilisé que pour les opérations de multiplication et de division.

Registre B

Registre B

Le programme d'assemblage pour la multiplication utilisé avec un registre B

Org 0000h
MOV A, # 09h
MOV B, # 03h
MUL A, B (valeur finale stockée dans A)
FINIR
Le programme d'assemblage pour la division utilisé avec un registre B
Org 0000h
MOV A, # 09h
MOV B, # 03h
DIC A, B (valeur finale stockée dans A)
FINIR

Registres de port

Le microcontrôleur 8051 se compose de 4 ports d'entrée et de sortie (P0, P1, P2 et P3) ou de 32 broches E / S. Chaque broche est conçu avec un transistor et registres P. Le configuration des broches est très important pour un microcontrôleur qui dépend des états logiques des registres. La configuration des broches comme entrée donnée par 1 ou sortie 0 dépend des états logiques. Si la logique 1 est appliquée au bit du registre P, le transistor de sortie désactive la broche appropriée qui agit comme une broche d'entrée.

Registres portuaires de 8051

Registres portuaires de 8051

Programme d'assemblage pour basculer les LED du Port0

ORG 0000h
RETOUR: MOV P0, # 00h
ACALL DEL1
MOV P0, # 0FF
ACALL DEL1
RETOUR SJMP
DEL1: MOV R2, # 200
FR: DJNZ R0, # 230
DJNZ R2, DEL
DROIT
FINIR

Compteurs et registres

De nombreux microcontrôleurs se composent d'un ou plusieurs minuteries et compteurs . Les minuteries sont utilisées pour générer un retard temporel précieux et la source des minuteries est un oscillateur à cristal. Les compteurs sont utilisés pour compter le nombre d'événements externes - par exemple, le compteur objectif , et la source des compteurs sont des impulsions externes appliquées sur la broche du compteur.

Le microcontrôleur 8051 se compose de deux temporisateurs 16 bits et de compteurs tels que le temporisateur 0 et le temporisateur 1. Les deux temporisateurs se composent d'un registre 16 bits dans lequel l'octet inférieur est stocké dans le TL et l'octet supérieur est stocké dans le TH. La minuterie peut être utilisée comme compteur ainsi que pour une opération de minutage qui dépend de la source des impulsions d'horloge vers les compteurs.

Les compteurs et les minuteries des microcontrôleurs 8051 contiennent deux registres de fonctions spéciales: TMOD (registre de mode de minuterie) et TCON (registre de commande de minuterie) , qui sont utilisés pour activer et configurer les minuteries et les compteurs.

Types de registre des équipes

Les registres à décalage sont un type de circuits logiques séquentiels qui sont principalement utilisés pour le stockage de données numériques. Les registres à décalage sont des registres adressables par bit qui ne stockent qu'un seul bit de données. Les registres à décalage sont construits avec des bascules - un groupe de bascules connectées comme une chaîne de sorte que la sortie d'une bascule devienne l'entrée de la bascule suivante.

Toutes les bascules sont commandées par les signaux d'horloge qui sont mis en œuvre par la bascule D. Les registres à décalage sont principalement utilisés pour Communication série .

Ceux-ci sont classés en 4 types:

  • Serial in Serial out (SISO)
  • Série en sortie parallèle (SIPO)
  • Parallèle en sortie série (PISO)
  • Parallèle en sortie parallèle (PIPO)
D- Registre à bascule

D- Registre à bascule

Ce sont tous des types de registres différents dans un microcontrôleur 8051. Nous espérons que nous vous avons fourni avec succès un contenu pertinent avec le programme approprié pour chaque registre. De plus, pour toute sorte d'aide pour connaître le codage de plusieurs autres registres, vous pouvez nous contacter en commentant ci-dessous.

Crédits photo: