Minuteries et compteurs du microcontrôleur 8051 et ses applications

Essayez Notre Instrument Pour Éliminer Les Problèmes





Beaucoup de applications de microcontrôleur nécessitent le comptage d'événements externes tels que la fréquence des trains d'impulsions et la génération de délais internes précis entre les actions de l'ordinateur. Ces deux tâches peuvent être mises en œuvre par des techniques logicielles, mais des boucles logicielles pour le comptage et le chronométrage ne donneront pas le résultat exact, mais des fonctions plus importantes ne sont pas effectuées. Pour éviter ces problèmes, les minuteries et les compteurs des microcontrôleurs sont de meilleures options pour des applications simples et peu coûteuses. Ces minuteries et compteurs sont utilisés comme interrompt le microcontrôleur 8051 .

Il y a deux minuteries et compteurs 16 bits dans Microcontrôleur 8051 : temporisateur 0 et temporisateur 1. Les deux temporisateurs sont constitués d'un registre de 16 bits dans lequel l'octet inférieur est stocké dans TL et l'octet supérieur est stocké dans TH. La minuterie peut être utilisée comme compteur ainsi que pour une opération de synchronisation qui dépend de la source des impulsions d'horloge vers les compteurs.




Minuteries et compteurs

Minuteries et compteurs

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



Contrôle du mode de minuterie (TMOD): TMOD est un registre 8 bits utilisé pour sélectionner la minuterie ou le compteur et le mode des minuteries. Les 4 bits inférieurs sont utilisés pour le fonctionnement de commande du temporisateur 0 ou du compteur0, et les 4 bits restants sont utilisés pour le fonctionnement de contrôle du temporisateur1 ou du compteur1.Ce registre est présent dans le registre SFR, l'adresse du registre SFR est 89e.

Contrôle du mode de minuterie (TMOD)

Contrôle du mode de minuterie (TMOD)

Porte: Si le bit de porte est mis à «0», alors nous pouvons démarrer et arrêter le temporisateur «logiciel» de la même manière. Si la porte est réglée sur «1», nous pouvons alors exécuter une minuterie matérielle.

C / T: Si le bit C / T est «1», alors il agit comme un mode de compteur, et de même lorsqu'il est réglé sur C +
= / T bit est «0», il agit comme un mode de minuterie.


Bits de sélection de mode: M1 et M0 sont des bits de sélection de mode, qui sont utilisés pour sélectionner les opérations de la minuterie. Il existe quatre modes pour faire fonctionner les minuteries.

Mode 0: Il s'agit d'un mode 13 bits qui signifie que le fonctionnement de la minuterie se termine avec «8192» impulsions.

Mode 1: Il s'agit d'un mode 16 bits, ce qui signifie que le fonctionnement de la minuterie se termine avec des impulsions d'horloge maximales de «65535».

Mode 2: Ce mode est un mode de rechargement automatique de 8 bits, ce qui signifie que le fonctionnement de la minuterie se termine avec seulement «256» impulsions d'horloge.

Mode 3: Ce mode est un mode split-timer, ce qui signifie les valeurs de chargement dans T0 et démarre automatiquement le T1.

Bits de sélection de mode

Bits de sélection de mode

Sélection du mode Valeurs des minuteries et du compteur en 8051

Valeurs de sélection de mode des minuteries et des compteurs

Valeurs de sélection de mode des minuteries et des compteurs

Registre de contrôle de la minuterie (TCON): TCON est un autre registre utilisé pour contrôler les opérations du compteur et des minuteries dans les microcontrôleurs. Il s'agit d'un registre à 8 bits dans lequel quatre bits supérieurs sont responsables des temporisateurs et des compteurs et les bits inférieurs sont responsables des interruptions.

Registre de contrôle de la minuterie (TCON)

Registre de contrôle de la minuterie (TCON)

TF1: Le TF1 représente le bit de drapeau «timer1». Lors du calcul de la temporisation dans timer1, TH1 et TL1 atteignent automatiquement la valeur maximale qui est «FFFF».

EX: tant que (TF1 == 1)

Chaque fois que TF1 = 1, effacez le bit de drapeau et arrêtez le chronomètre.

TR1: Le TR1 représente le bit de démarrage ou d'arrêt de la minuterie1. Ce démarrage de la minuterie peut se faire par instruction logicielle ou par méthode matérielle.

EX: gate = 0 (démarrer la minuterie 1 via l'instruction du logiciel)
TR1 = 1 (Démarrer la minuterie)

TF0: Le TF0 est synonyme de bit de drapeau «timer0». Chaque fois que vous calculez la temporisation dans timer1, TH0 et TL0 atteignent automatiquement une valeur maximale qui est «FFFF».

EX: tant que (TF0 == 1)
Chaque fois que TF0 = 1, effacez le bit de drapeau et arrêtez le temporisateur.

TR0: TR0 signifie bit de démarrage ou d'arrêt «timer0». Ce démarrage de la minuterie peut se faire par instruction logicielle ou par méthode matérielle.

EX: gate = 0 (démarrer la minuterie 1 via l'instruction du logiciel)
TR0 = 1 (Démarrer la minuterie)

Calculs de la temporisation pour le microcontrôleur 8051

Le microcontrôleur 8051 fonctionne avec une fréquence de 11,0592 MHz.

Fréquence 11,0592 MHz = 12 pules

1 impulsion d'horloge = 11,0592 MHz / 12

F = 0,921 MHz

Temporisation = 1 / F

T = 1 / 0,92 MHz

T = 1,080506 us (pour «1» cycle)

1000us = 1MS

1000 ms = 1 seconde

Procédure de calcul du programme de retard

1. Tout d'abord, nous devons charger la valeur du registre TMOD pour «Timer0» et «Timer1» dans différents modes. Par exemple, si nous voulons faire fonctionner timer1 en mode1, il doit être configuré comme «TMOD = 0x10».

2. Chaque fois que nous actionnons la minuterie en mode 1, la minuterie prend les impulsions maximales de 65535. Ensuite, les impulsions de retard calculées doivent être soustraites des impulsions maximales, et ensuite converties en valeur hexadécimale. Cette valeur doit être chargée dans les bits supérieurs et inférieurs du timer1. Cette opération de minuterie est programmée en utilisant embarqué C dans un microcontrôleur .

Exemple: temporisation 500us

500us / 1.080806us

461 impulsions

P = 65535-461

P = 65074

65074 conveté par hexa décimal = FE32

TH1 = 0xFE

TL1 = 0x32

3. Démarrez la minuterie1 «TR1 = 1»

4. Surveillez le bit d'indicateur «while (TF1 == 1)»

5. Effacez le bit de drapeau «TF1 = 0»

6. Cleat la minuterie 'TR1 = 0'

Exemples de programmes:

Programme- 1

Programme- 1

Programme- 2

Programme- 2

Programme- 3

Programme- 3

Compteurs en 8051

Nous pouvons utiliser un compteur en gardant le bit C / T à l'état haut, c'est-à-dire «1» logique dans le registre TMOD. Pour une meilleure compréhension, nous avons donné un programme qui utilise le temporisateur 1 comme compteur. Ici, les LED sont connectées au 8051 Port 2, et le commutateur à la broche P3.5 du timer1 et par conséquent, si le commutateur est enfoncé, la valeur sera comptée. Sinon, un capteur connecté en externe à cette broche de compteur en tant qu'entrée effectue cette opération de comptage.

Programme de compteur

Programme de compteur

Applications des minuteries et compteurs en 8051

Compteur numérique avec 8051

Le compteur numérique avec 8051 est obtenu en programmant le microcontrôleur comme décrit ci-dessus et en y attachant un système de capteur. Ce compteur d'objets utilise un capteur infrarouge qui détecte l'obstacle à proximité et permet également le broche du microcontrôleur 06. Lorsqu'un objet passe à travers les capteurs, le microcontrôleur reçoit un signal d'interruption des capteurs infrarouges et incrémente le compte qui est affiché dans l'affichage à 7 segments.

Compteur numérique avec 8051

Compteur numérique avec 8051

Circuit de temporisation utilisant le microcontrôleur 8051

La figure ci-dessous montre comment le fonctionnement de la minuterie peut être mis en œuvre pour commuter les LED de manière efficace. L'opération de temporisation pour l'ensemble de LED est programmée dans un microcontrôleur de la manière décrite ci-dessus. Ici, un ensemble de LED est connecté au port 2 avec un système d'alimentation commun. Lorsque ce circuit est activé en fonction de la temporisation programme dans le microcontrôleur de manière appropriée, ces LED sont allumées.

Circuit de temporisation

Circuit de temporisation

Il s'agit de la minuterie et des compteurs du microcontrôleur 8051 avec des circuits de programmation et d'application de base. Nous espérons que les informations de cet article vous ont peut-être fourni suffisamment de données pour mieux comprendre le concept. De plus, pour tout doute technique sur la programmation du 8051 et ses circuits, vous pouvez nous contacter en commentant ci-dessous.

Crédits photo: