Interruptions dans le microcontrôleur 8051 et dans la structure et la programmation

Essayez Notre Instrument Pour Éliminer Les Problèmes





Les fonctionnalités les plus puissantes et les plus importantes sont les interruptions Microcontrôleur 8051 . Dans la plupart des processus en temps réel, pour gérer correctement certaines conditions, la tâche réelle doit être interrompue pendant un certain temps - elle prend les mesures nécessaires - puis doit revenir à la tâche principale. Pour exécuter ce type de programmes, des interruptions sont nécessaires. Il diffère entièrement de la méthode d'interrogation dans laquelle le processeur doit vérifier séquentiellement chaque appareil et demander si le service est requis ou non tout en consommant plus de temps processeur.

Interruptions dans le microcontrôleur 8051

Interruptions dans le microcontrôleur 8051



Les interruptions dans le microcontrôleur 8051 sont plus souhaitables pour réduire la vérification régulière de l'état des périphériques interfacés ou des périphériques intégrés. L'interruption est un événement qui suspend temporairement le programme principal, transmet le contrôle à une section de code spéciale, exécute la fonction liée à l'événement et reprend le flux du programme principal là où il s'était arrêté.


Les interruptions sont de différents types comme les interruptions logicielles et matérielles, masquables et non masquables, fixes et vectorielles, etc. La routine de service d'interruption (ISR) entre dans l'image lorsqu'une interruption se produit, puis indique au processeur de prendre les mesures appropriées pour l'interruption, et après l'exécution de l'ISR, le contrôleur saute dans le programme principal.



Types d'interruptions dans le microcontrôleur 8051

Le microcontrôleur 8051 peut reconnaître cinq événements différents qui provoquent l'interruption du programme principal à partir de l'exécution normale. Ces cinq sources d'interruptions en 8051 sont:

  1. Interruption de dépassement de la minuterie 0 - TF0
  2. Interruption de dépassement de la minuterie 1 - TF1
  3. Interruption de processus externe - INT0
  4. Alarme matérielle externe - INT1
  5. Interruption de communication série - RI / TI

Les interruptions de la minuterie et de la série sont générées en interne par le microcontrôleur, tandis que les interruptions externes sont générées par des dispositifs d'interfaçage ou des commutateurs connectés en externe au microcontrôleur. Ces interruptions externes peuvent être déclenchées par front ou par niveau. Lorsqu'une interruption se produit, le microcontrôleur exécute la routine de service d'interruption de sorte que l'emplacement mémoire corresponde à l'interruption qui l'active. L'interruption correspondant à l'emplacement mémoire est donnée dans le tableau des vecteurs d'interruption ci-dessous.

Tableau des vecteurs d

Tableau des vecteurs d'interruption

Structure d'interruption du micro-contrôleur 8051

Lors de la «RESET», toutes les interruptions sont désactivées, et par conséquent, toutes ces interruptions doivent être activées par un logiciel. Dans toutes ces cinq interruptions, si une ou toutes les interruptions sont activées, cela définit les indicateurs d'interruption correspondants comme indiqué sur la figure. Toutes ces interruptions peuvent être définies ou effacées par bit dans un registre de fonction spéciale qui est Interrupt Enabled (IE), et cela dépend à son tour de la priorité, qui est exécutée par le registre de priorité d'interruption IP.


Structure d

Structure d'interruption du microcontrôleur 8051

Registre d'activation d'interruption (IE): Ce registre est responsable de l'activation et de la désactivation de l'interruption. Il s'agit d'un registre adressable par bits dans lequel EA doit être mis à un pour activer les interruptions. Le bit correspondant dans ce registre permet des interruptions particulières telles que des entrées de minuterie, externes et série. Dans le registre IE ci-dessous, le bit correspondant à 1 active l'interruption et 0 désactive l'interruption.

Registre d

Registre d'activation d'interruption (IE)

Registre de priorité d'interruption (IP): Il est également possible de modifier les niveaux de priorité des interruptions en définissant ou en effaçant le bit correspondant dans le registre de priorité d'interruption (IP) comme indiqué sur la figure. Cela permet à l'interruption de faible priorité d'interrompre l'interruption de priorité élevée, mais interdit l'interruption par une autre interruption de faible priorité. De même, l'interruption de haute priorité ne peut pas être interrompue. Si ces priorités d'interruption ne sont pas programmées, le microcontrôleur s'exécute de manière prédéfinie et son ordre est INT0, TF0, INT1, TF1 et SI.

Registre IP

Registre IP

Registre TCON: En plus des deux registres ci-dessus, le registre TCON spécifie le type d'interruption externe au microcontrôleur 8051, comme indiqué sur la figure. Les deux interruptions externes, qu'elles soient déclenchées par front ou par niveau, spécifient par ce registre par un ensemble, ou effacées par des bits appropriés. Et, c'est aussi un registre peu adressable.

Registre TCON

Registre TCON

Programmation d'interruption dans 8051

1. programmation d'interruption de minuterie

Les interruptions du temporisateur 0 et du temporisateur 1 sont générées par les bits de registre du temporisateur TF0 et TF1. Ces interruptions programmation par code C implique:

  • Sélection de la minuterie en configurant le registre TMOD et son mode de fonctionnement.
  • Choix et chargement des valeurs initiales de TLx et THx pour les modes appropriés.
  • Activation des registres IE et du bit de minuterie correspondant.
  • Définition du bit d'exécution de la minuterie pour démarrer la minuterie.
  • Ecriture du sous-programme pour le temporisateur pour le temps requis et effacer la valeur du temporisateur TRx à la fin du sous-programme.
Programmation d

Programmation d'interruption de minuterie

2. programmation d'interruption matérielle externe

Les microcontrôleurs 8051 se composent de deux interruptions matérielles externes: INT0 et INT1, comme indiqué précédemment. Ceux-ci sont activés aux broches 3.2 et 3.3. Ceux-ci peuvent être déclenchés par front ou par niveau. En déclenchement de niveau, le niveau bas sur la broche 3.2 active l'interruption, tandis que sur la broche 3.2 - la transition haut vers bas active l'interruption déclenchée par le front. Ce déclenchement de front ou déclenchement de niveau est décidé par le registre TCON qui a été décrit ci-dessus. Le procédure de programmation en 8051 est comme suit:

  • Activez le bit correspondant d'interruption externe dans le registre IE.
  • S'il s'agit d'un déclenchement de niveau, il suffit d'écrire le sous-programme approprié à cette interruption, ou bien d'activer le bit de registre TCON correspondant à l'interruption déclenchée par front - que ce soit INT0 ou INT1.
Programmation d

Programmation d'interruption matérielle externe

3. programmation d'interruption de communication série

Les interruptions de communication série entrent en image lorsqu'il est nécessaire d'envoyer ou de recevoir des données. Puisqu'un bit d'interruption est mis à 1 pour les indicateurs TI (interruption de transfert) et RI (interruption du récepteur), le programme de service d'interruption doit examiner ces indicateurs pour connaître l'interruption réelle.

L'opération OU logique de ces deux drapeaux (RI et TI) provoque cette interruption, et elle est effacée par le logiciel seul. Ici, un registre spécial SCON est utilisé pour contrôler la communication opération en activant les bits correspondants.

  • Configurer le registre IE pour activer l'interruption série
  • Configurer le registre SCON pour l'opération de réception ou de transfert
  • Ecrire le sous-programme pour cette interruption avec la fonction appropriée et effacer les indicateurs TI ou RI avec dans ce sous-programme.
Programmation d

Programmation d'interruption série

Il s'agit des interruptions dans le microcontrôleur 8051, des types, de leur structure et de leur programmation. J'espère que vous pourriez avoir reçu de bonnes informations de cet article. En outre, vous pouvez nous écrire dans la section des commentaires ci-dessous pour la mise en œuvre en temps réel de projets de microcontrôleur afin que nous puissions vous aider pour une meilleure expérience pratique.

Crédits photo