Comment interfacer une LED avec le microcontrôleur 8051

Essayez Notre Instrument Pour Éliminer Les Problèmes





Nous connaissons très bien «Hello world!» code de programme de base dans la phase initiale de tout langage de programmation pour apprendre certaines choses de base. De même pour démarrer avec 8051 Microcontroller, l'interfaçage LED est une chose de base dans la programmation d'interfaçage Microcontroller. Chaque microcontrôleur est différent dans son architecture, mais le concept d'interfaçage est presque tous le même pour tous les microcontrôleurs. Ce tutoriel vous donnera une interface LED avec 8051.

L'interface est une méthode qui assure la communication entre le microcontrôleur et le périphérique d'interface. Une interface est soit un périphérique d'entrée, soit un périphérique de sortie, soit un périphérique de stockage ou un périphérique de traitement.




Périphériques d'interface d'entrée: Interrupteur à bouton-poussoir, clavier, capteur infrarouge, Capteur de température , capteur de gaz, etc. Ces dispositifs fournissent des informations au microcontrôleur, et cela s'appelle des données d'entrée.

Périphériques d'interface de sortie: LED, LCD, buzzer, Pilote de relais , Pilote de moteur à courant continu, affichage à 7 segments, etc.



Périphériques d'interface de stockage: Utilisé pour stocker / conserver les données, exemple, carte SD, EEPROM, DataFlash, horloge en temps réel , etc.

Modèle d

Modèle d'interface MicroController

Interfaçage d'une LED avec 8051

L'interface comprend le matériel (périphérique d'interface) et le logiciel (code source pour communiquer, également appelé pilote). Simplement, pour utiliser une LED comme périphérique de sortie, la LED doit être connectée au port du microcontrôleur et le MC doit être programmé à l'intérieur pour allumer ou éteindre la LED ou clignoter ou diminuer. Ce programme est appelé pilote / micrologiciel. Le logiciel pilote peut être développé en utilisant n'importe quel langage de programmation comme Assembly , C etc.


Microcontrôleur 8051

Le microcontrôleur 8051 a été inventé dans les années 1980 par Intel. Sa fondation est basée sur l'architecture Harvard et ce microcontrôleur a été développé principalement pour l'amener à être utilisé dans les systèmes embarqués. Nous avons discuté précédemment 8051 Histoire et bases du microcontrôleur . Il s'agit d'un PDIP à 40 broches (boîtier en plastique double en ligne).

8051 a un oscillateur sur puce, mais il nécessite une horloge externe pour l'exécuter. Un cristal de quartz est connecté entre les broches XTAL du MC. Ce cristal a besoin de deux condensateurs de même valeur (33pF) pour générer un signal d'horloge de la fréquence souhaitée. Les fonctionnalités du microcontrôleur 8051 ont été expliquées dans notre article précédent.

Connexions Crystal du microcontrôleur

Connexions Crystal du microcontrôleur

LED (diode électroluminescente)

La LED est un dispositif semi-conducteur utilisé dans de nombreux appareils électroniques, principalement utilisé à des fins de transmission de signal / d'indication de puissance. Il est très bon marché et facilement disponible dans une variété de formes, de couleurs et de tailles. Les LED sont également utilisées pour la conception de panneaux d'affichage de messages et de feux de signalisation de contrôle de la circulation, etc.

Il a deux bornes positive et négative comme indiqué sur la figure.

Polarité LED

Polarité LED

La seule façon de connaître la polarité est de la tester avec un multimètre ou de l'observer attentivement à l'intérieur de la LED. La plus grande extrémité à l'intérieur de la led est -ve (cathode) et la plus courte est + ve (anode), c'est ainsi que nous découvrons la polarité de la LED. Une autre façon de reconnaître la polarité est de connecter les fils, la borne POSITIVE a plus de longueur que la borne NÉGATIVE.

Interfaçage LED avec 8051

Il existe deux manières d'interfacer la LED avec le microcontrôleur 8051. Mais les connexions et les techniques de programmation seront différentes. Cet article fournit des informations sur l'interfaçage des voyants avec 8051 et le code de clignotement des voyants pour le microcontrôleur AT89C52 / AT89C51.

Interfaçage de la LED avec les méthodes 8051

Interfaçage de la LED avec les méthodes 8051

Observez attentivement la LED d'interface 2 est polarisée en direct car la tension d'entrée de 5v connectée à la borne positive de la LED, donc ici la broche du microcontrôleur doit être au niveau BAS. Et vice versa avec les connexions de l'interface 1.

La résistance est importante dans l'interfaçage des LED pour limiter le courant circulant et éviter d'endommager la LED et / ou le MCU.

  • L'interface 1 s'allumera LED, uniquement si la valeur PIN du MC est HIGH alors que le courant circule vers le sol.
  • L'interface 2 s'allumera LED, uniquement si la valeur PIN du MC est FAIBLE car le courant circule vers PIN en raison de son potentiel plus faible.

Le schéma de circuit est illustré ci-dessous. Une LED est connectée à la broche 0 du port 1.

Circuit de simulation Proteus

Circuit de simulation Proteus

Je vais expliquer le code du programme en détail. En outre, reportez-vous à ce lien ' Tutoriel de programmation C intégré avec le langage Keil ». Un cristal de 11,0592 MHz est connecté pour générer l'horloge. Comme nous savons que le microcontrôleur 8051 exécute une instruction en 12 cycles CPU [1], par conséquent, ce cristal de 11,0592 Mhz fait fonctionner ce 8051 à 0,92 MIPS (millions d'instructions par seconde).

Dans le code ci-dessous, la LED est définie comme la broche 0 du port 1. Dans la fonction principale, la LED est basculée toutes les demi-secondes. La fonction ‘delay’ exécute des instructions nulles à chaque fois qu’elle s’exécute.

Une valeur de 60000 (compilée à l'aide du logiciel Keil micro-vision4) génère environ 1 seconde (temps de retard) de temps d'exécution de l'instruction nulle lorsque le cristal de 11,0592 MHz est utilisé. De cette façon, la LED attachée à la broche P1.0 est amenée à clignoter en utilisant le code donné ci-dessous.

CODE

#comprendre

sbit LED = P1 ^ 0 // pin0 du port1 est nommé comme LED

// Déclarations de fonction

void cct_init (void)

délai d'annulation (int a)

int main (void)

{

cct_init ()

tandis que (1)

{

LED = 0

retard (60000)

LED = 1

retard (60000)

}

}

void cct_init (void)

{

P0 = 0x00

P1 = 0x00

P2 = 0x00

P3 = 0x00

}

délai d'annulation (int a)

{

int i

pour (i = 0 i

}

Cet article donne des informations sur l'interfaçage de la LED avec le 8051. Il s'agit du concept d'interface fondamental pour les projets de microcontrôleur 8051.

J'espère qu'en lisant cet article, vous avez des connaissances de base sur la façon d'interfacer le module LED avec le 8051. Si vous avez des questions concernant cet article ou sur le projets de microcontrôleur , n'hésitez pas à commenter dans la section ci-dessous.