IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

pic 16f877 avec mikroC


Sujet :

C

  1. #1
    Membre averti
    Homme Profil pro
    université
    Inscrit en
    Mai 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : université
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2014
    Messages : 15
    Par défaut pic 16f877 avec mikroC
    Bonsoir ,
    j'ai trouvé sur le net un schéma sur proteus , un pic 16f877 relier à 2 barregraphe et un lcd
    avec son programme , mais le programme était pas complet, voila le programme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
      unsigned int niv_bac1;
       unsigned int niv_bac2;
     
       void main() {
       // Configuration des pins 2 et 3 en analogique
     
      TRISA  = 0xFF;  // programmtion du PORTA en entrée
      TRISB  = 0;  // programmtion du PORTB en sortie
      TRISC  = 0;  // programmtion du PORTC en sortie
      TRISD  = 0;  // programmtion du PORTD en sortie
      option_reg.f7=0;
      do {
      adcon0=0x80;
         niv_bac1= Adc_Read(0); // lecture du niveau de fluide du bac1
     
        portB=niv_bac1>>2;  //Affichage en binaire du niveau de fluide
        adcon0=0x88;                    //du bac1 sur le portB
        niv_bac2= Adc_Read(1);   // lecture du niveau de fluide du bac2
        PORTC = niv_bac2>>2;  //Affichage en binaire du niveau de fluide
                               //du bac2 sur le portC
     
      } while(1);
      }
    qui peut me donner la suit
    je vais mettre la photo du schéma
    Images attachées Images attachées  

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 200
    Billets dans le blog
    47
    Par défaut
    Bonjour,

    Citation Envoyé par zapollon Voir le message
    ... un pic 16f877 relié à 2 barregraphes et un lcd avec son programme , mais le programme était pas complet, [...]qui peut me donner la suite
    La suite ? Mais il est censé faire quoi ton programme ?

  3. #3
    Membre averti
    Homme Profil pro
    université
    Inscrit en
    Mai 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : université
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2014
    Messages : 15
    Par défaut
    Citation Envoyé par f-leb Voir le message
    Bonjour,



    La suite ? Mais il est censé faire quoi ton programme ?
    afficher le niveau d'un fluide sur 2 bacs , la j'utilise des résistance variable a la place des capteur de niveau
    donc afficher sur les bargraphe et LCD en fonction de la résistance variable

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 200
    Billets dans le blog
    47
    Par défaut
    Soit, ton programme a l'air de gérer les deux bargraphes, non ?

    Quel est le problème ? La gestion du LCD ?

  5. #5
    Membre averti
    Homme Profil pro
    université
    Inscrit en
    Mai 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : université
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2014
    Messages : 15
    Par défaut
    Citation Envoyé par f-leb Voir le message
    Soit, ton programme a l'air de gérer les deux bargraphes, non ?

    Quel est le problème ? La gestion du LCD ?
    sur les barregraphe le programme affiche le résultat en binaire et non pas progressivement en fonction de la résistance variable
    et le lcd j'essaye mais sa ne veut pas marcher , donc si tu peux m'aider sa serait vraiment gentil

  6. #6
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 200
    Billets dans le blog
    47
    Par défaut
    Pour le bargraphe, tu ramènes ta valeur analogique (entre 0 et 1023 ?) à une valeur comprise entre 0 et 7 avec un calcul.

    Puis dans une boucle tu parcours les barres de bas en haut, tu allumes la barre si son niveau est inférieur à la valeur et tu l’éteins sinon.

    Quant au LCD, la doc sur la Lcd Library est plutôt complète. Montre-nous ce que tu as essayé.

  7. #7
    Membre averti
    Homme Profil pro
    université
    Inscrit en
    Mai 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : université
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2014
    Messages : 15
    Par défaut
    j'ai essayé ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    mais ça ne veut pas marcher 
    const char levels[8] = {23, 52, 81, 110, 139, 168, 197, 226};
     
    char ValToLevel(char val) {
       char i = 0;
     
       while (i < sizeof(levels)) {
          if (val < levels[i])
             return i;
          i++;
       }
     
       return sizeof(levels);
    }

  8. #8
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 200
    Billets dans le blog
    47
    Par défaut
    bonjour,

    déjà pour stocker des entiers entre 0 et 255 il faut utiliser unsigned char.

  9. #9
    Membre averti
    Homme Profil pro
    université
    Inscrit en
    Mai 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : université
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2014
    Messages : 15
    Par défaut
    Je savais pas , j'ai presque jamais programmé , tu peux me donner le programme stp ?.

  10. #10
    Membre averti
    Homme Profil pro
    université
    Inscrit en
    Mai 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : université
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2014
    Messages : 15
    Par défaut
    UP

Discussions similaires

  1. pic 16f877 avec LCD 16*2
    Par zapollon dans le forum C
    Réponses: 13
    Dernier message: 02/06/2014, 22h11
  2. [PIC 16F877] Hexa vers décimal
    Par TheFullMetal dans le forum C
    Réponses: 1
    Dernier message: 17/01/2009, 19h57
  3. [PIC 16f877] RS232, pwm, servomoteur
    Par moh34commande dans le forum Autres architectures
    Réponses: 0
    Dernier message: 02/05/2008, 15h40
  4. [PIC] Pause avec les timers
    Par Ekinoks dans le forum Assembleur
    Réponses: 1
    Dernier message: 07/05/2005, 23h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo