top of page

Interface du bouton avec le PIC 16F877A micro-controlleur 

By Bernice Zuiya

Introduction

                       L'interface d'un bouton poussoir avec un micro-contrôleur PIC,ici il s'agit essentiellement d'un des projets les plus importants que quiconque pour sa première fois veux utiliser un bouton-poussoir avec un micro-contrôleur. un bon nombre des appareils Electronique qui nous entourent peuvent posseder un ou plusieurs bouton poussoir alors dans ce projet nous vous montrerons comment utiliser un buton poussoir dans votre projet avec un PIC micro-controlleur. 

Working:

                    Interagir un bouton-poussoir avec un micro-contrôleur est une chose très simple et simple qui ne demande pas à être un ingénieur pour comprendre quel est le principe derrière cela, d'abord, nous devons savoir qu'un bouton-poussoir que deux seulement état (ON Et OFF) où un état ON représente un circuit fermé et OFF représente un circuit ouvert. En électronique quand a est dit être fermé, cela signifie essentiellement que la différence de potentiel électrique à travers les deux bornes est différente de zéro volt, inversement quand on dit qu'il est ouvert ce qui signifie zéro volt est mesuré à travers les deux bornes  Ici

      Maintenant à partir des deux images présentées ci-dessus, voyons voir celle qui représente un commutateur sous forme symbolique. Il a 3 terminal le suivant peut-être les deux configurations différentes:  

  1. WITH PULL DOWN RESISTOR

        Un pull down est une résistance ajoutée dans le circuit dont sa valeur peut varier de 4k7 à 10k, dans ce cas une résistance à la traction est utilisée pour donner une sortie d'état bas lorsque le commutateur s'ouvre et quand le commutateur est fermé il donne un état haut , Essentiellement la borne 1 est connectée à une borne positive d'alimentation, 2 est connectée à la masse commune et 3 est la sortie reliée à une broche de notre micro-contrôleur.

   2. WITH A PULL UP RESISTOR

La résistance de sortie est en fait la connexion inverse de l'alimentation au circuit, ce qui signifie essentiellement que 1 est connecté à la masse, 2 est connecté à la borne positive de l'alimentation et enfin 3 est la borne de sortie, lorsque l'interrupteur est ouvert la sortie est Haut et quand il est proche la sortie est faible.

   Je suppose que vous devriez avoir au moins une connaissance de base de la programmation de système embarqué en utilisant n'importe quel environnement tel que mikroC compilateur pour PIC dans ce cas. Connectez la sortie du circuit de traction à la première broche du port D du microcontrôleur, puis créez un nouveau projet avec les instructions suivantes pour configurer correctement votre projet!

  • Créer un nouveau projet à l'aide du compilateur mikroC (Device: PIC16F877A)

  • Régler la broche RD0 comme entrée Pin TRISD.B0 = 1;

  • Réglez l'état comme indiqué dans le côté gauche du programme!

Quand l'interrupteur est pressé l'écran LCD affichera un message (interrupteur pressé) autre .. selon ce que vous voulez utiliser ceci.

         Le schéma de circuit ci-dessous est le diagramme de base très nécessaire pour clignoter un led à l'aide du microcontrôleur 16F877A, vous devez respecter les connexions pour obtenir le meilleur résultat.

  • Une résistance de valeur 4k7 ohm est connectée en série avec +5 volt et la broche de réinitialisation (1ère broche)

  • Q1 est l'oscillateur de cristal dans ce cas, il est oscillation de fréquence est de 20 MHz.

  • Alimentation: le circuit est connecté à une tension maximale égale à 5 volts

  • S1 est un bouton poussoir et R4 est une résistance 

  • C1 & C2 are of 22pF.

Circuit Diagram

Code and Comment

sbit LCD_RS at RB4_bit;
sbit LCD_EN at RB5_bit;
sbit LCD_D4 at RB0_bit;
sbit LCD_D5 at RB1_bit;
sbit LCD_D6 at RB2_bit;
sbit LCD_D7 at RB3_bit;

sbit LCD_RS_Direction at TRISB4_bit;
sbit LCD_EN_Direction at TRISB5_bit;
sbit LCD_D4_Direction at TRISB0_bit;
sbit LCD_D5_Direction at TRISB1_bit;
sbit LCD_D6_Direction at TRISB2_bit;
sbit LCD_D7_Direction at TRISB3_bit;


unsigned int j;
void main() 
{
 LCD_Init();
 LCD_Cmd(_LCD_CURSOR_OFF);
 LCD_Cmd(_LCD_CLEAR);
 TRISD.B0=1;
 while(1){
         if( PORTD.B0 = 1){
                LCD_Out(1,1,"switch pressed");
               delay_ms(1000);
             }
               else{
                       LCD_Out(1,1,"switch Released");
                       delay_ms(1000);
              }
        }
 }

Download the full project here

Ce code a été écrit en utilisant le logiciel de compilateur mikroC, vous pouvez le copier et le compiler ou le modifier aussi bien, ceci est utilisé pour clignoter une led éteinte et ON (seconde).

bottom of page