Bonjour, cliquez-ici pour vous inscrire et participer au forum.
  • Login:


+ Répondre à la discussion
Affichage des résultats 1 à 12 sur 12

Configuration des registres ADCON1 et ADCON2

  1. lukes

    Date d'inscription
    janvier 2008
    Âge
    17
    Messages
    58

    Configuration des registres ADCON1 et ADCON2

    Bonjour,

    J'optimise actuellement un programme pour un robot (aspîrateur ) et j'aimerais mesurer une tension sur les entrées analogiques d'un pic 16F877.
    Le problème est que je n'arrive pas a configurer les registres ADCON 1 et 2 pour mesurer une tension sur les entrées AN1, AN2 et AN3.

    Ayant déja consulter le datasheet, et j'avoue que je n'ai pas trop compris , pourriez vous me dire comment faire ?

    Merci d'avance !
     


    • Publicité




      Poursuivez votre recherche
      Recherche personnalisée

  2. Gérard

    Date d'inscription
    janvier 2003
    Localisation
    Haut-Rhin
    Âge
    53
    Messages
    6 259

    Re : Configuration des registres ADCON1 et ADCON2

    Citation Envoyé par lukes Voir le message
    Bonjour,

    J'optimise actuellement un programme pour un robot (aspîrateur ) et j'aimerais mesurer une tension sur les entrées analogiques d'un pic 16F877.
    Le problème est que je n'arrive pas a configurer les registres ADCON 1 et 2 pour mesurer une tension sur les entrées AN1, AN2 et AN3.

    Ayant déja consulter le datasheet, et j'avoue que je n'ai pas trop compris , pourriez vous me dire comment faire ?

    Merci d'avance !
    Bonjour,
    C'est normal, il n'y a pas de registre ADCON2.
    Il n'existe que ADCON0 et ADCON1.

    Avec quel langage travailles-tu ?
    Si c'est en assembleur, voir les notes d'application chez Microchip.
    Si c'est en Basic ou C, il faut voir les exemples fournis avec les compilateurs.
    Gérard.
     

  3. lukes

    Date d'inscription
    janvier 2008
    Âge
    17
    Messages
    58

    Re : Configuration des registres ADCON1 et ADCON2

    Re-bonjour Gérard

    Quelle gaffe ! Je m'étais tromper pour les registres, qui sont en effet ADCON 0et 1.
    Je programme ce pic en C et j'utilise le compilateur MikroC de Mikroelektronika.
    J'ai bien regardé dans les docs fournies avec le compilateurs, il n'ya rien concerant les registres ADCON. Je suis vraiment dans une impasse alors si vous pourriez me donner un exemple ?

    Merci beaucoup pour vos réponses
     

  4. HULK28

    Date d'inscription
    janvier 2006
    Localisation
    dans le labo d'essais...
    Âge
    48
    Messages
    9 015

    Re : Configuration des registres ADCON1 et ADCON2

    Salut,

    normal, MikroC utilise des fonctions toutes faites à ce niveau.

    Tu peux néanmoins créer toi même ces fonctions (c'est même conseillé), car la macro n'étant pas publique tu ne sais pas comment est géré le convertisseur.

    Par exemple rien ne précise si la justification est à droite ou à gauche, quel Tad est utilisé...

    Si tu cherches juste à faire une mesure il suffit donc d'appeler directement la fonction du compilateur:

    La fonction est prédéfinie ainsi:
    unsigned int Adc_Read(unsigned short channel);


    Adc_Read retourne un entier (0 à 1023)

    il suffit alors d'écrire:

    res=Adc_Read(0);

    Pour recueillir dans la variable res le résultat de la mesure de l'A/D sur An0.
    @+
    Dernière modification par HULK28 ; 14/06/2008 à 22h14.
    HULK

    "Pour la carotte, le lapin est la parfaite incarnation du Mal."
    Robert Scheckley.
     

  5. lukes

    Date d'inscription
    janvier 2008
    Âge
    17
    Messages
    58

    Re : Configuration des registres ADCON1 et ADCON2

    Bonsoir !

    Merci pour votre réponse, mais j'aimerais savoir comment on configure les registres ADCON 0 et 1 pour justement mesurer une tension aux entréees analogiques par le biais de ADC_read.
    Exemple, une citation de mon programme (donc qui ne marche pas ^^)

    ADCON0=0b10000100; //C'est à cet endroit que je bloque
    ADCON1=0b10100011; //

    valeur=ADC_Read(0);

    Voila, le problème c'est quelle valeur faut-il mettre au bits de ADCON0 et 1 ?

    Merci beaucoup pour vos réponses a+
     

  6. HULK28

    Date d'inscription
    janvier 2006
    Localisation
    dans le labo d'essais...
    Âge
    48
    Messages
    9 015

    Re : Configuration des registres ADCON1 et ADCON2

    Ah oui pardon, il faut en effet configurer ADCON1, c'est ADCON0 dont tu n'as pas à te soucier (la fonction met elle même les bits du registre en position selon la fréquence du quartz et autres paramètres).

    Il faut donc juste indiquer dans le registre ADCON1 quelles sorties tu comptes affecter aux A/D.

    Donc les bits 0 à 3 selon le tableau que tu trouves dans la datasheet de la doc de ton PIC, et le bit 5 (ADFM) que tu dois mettre à 0 car mikroC fais une justification à gauche.

    Donc tu dois par exemple avoir:

    ADCON1=0b00000010;

    si tu veux mettre AN0 à AN4 en A/D avec Vref+=VDD et Vref-=Vss
    @+
    HULK

    "Pour la carotte, le lapin est la parfaite incarnation du Mal."
    Robert Scheckley.
     


    • Publicité



  7. HULK28

    Date d'inscription
    janvier 2006
    Localisation
    dans le labo d'essais...
    Âge
    48
    Messages
    9 015

    Re : Configuration des registres ADCON1 et ADCON2

    Donc ton programme doit contenir les lignes suivantes:

    void main(){

    ADCON1=0x02;
    TRISA=0xFF;

    res=Adc_Read(0);

    .........
    }
    HULK

    "Pour la carotte, le lapin est la parfaite incarnation du Mal."
    Robert Scheckley.
     

  8. lukes

    Date d'inscription
    janvier 2008
    Âge
    17
    Messages
    58

    Re : Configuration des registres ADCON1 et ADCON2

    Merci beaucoup Hulk, tu m'a bien aidé !
     

  9. lukes

    Date d'inscription
    janvier 2008
    Âge
    17
    Messages
    58

    Re : Configuration des registres ADCON1 et ADCON2

    Re,

    Mais si je met ce programme que tu m'a indiqué, je vais pourvoir lire une tension aux 3 entrées analogiques ?
     

  10. Gérard

    Date d'inscription
    janvier 2003
    Localisation
    Haut-Rhin
    Âge
    53
    Messages
    6 259

    Re : Configuration des registres ADCON1 et ADCON2

    Citation Envoyé par lukes Voir le message
    Re,

    Mais si je met ce programme que tu m'a indiqué, je vais pourvoir lire une tension aux 3 entrées analogiques ?
    Bonjour,
    Je ne pense pas
    avec res=Adc_Read(0), tu vas lire RA0
    res= Adc_Read(1) devrait lire RA1
    Attention tout de même parce que le résultat sera dans res pour les 2 mesures.
    Si tu veux garder les 2 (ou 3) mesures, il faut définir une variable pour chaque valeur que tu veux convertir.
    exemple : res0, res1 ...

    Il faut aussi définir les entrées RA1 ... en entrées analogiques.
    Gérard.
     


    • Publicité



  11. lukes

    Date d'inscription
    janvier 2008
    Âge
    17
    Messages
    58

    Re : Configuration des registres ADCON1 et ADCON2

    Re

    Et comment faire pour définir les entrées RA1 en entrées analogiques ?

    Merci de m'aider !
     

  12. HULK28

    Date d'inscription
    janvier 2006
    Localisation
    dans le labo d'essais...
    Âge
    48
    Messages
    9 015

    Re : Configuration des registres ADCON1 et ADCON2

    Bonsoir,

    C'est dans ADCON1 que tu vas choisir ta configuration (avec les bits PCFG3~PCFG0) , il faut regarder le tableau de la doc du PIC dans la section 11: Analog to Digital Converter.

    Ensuite tu places le registre TRISA en configuration d'entrées selon les affectations que tu as fais dans ADCON1.

    Par exemple si tu choisis d'attribuer RA0,RA1,RA3 en entrées de mesures et le reste en sorties digitales:

    ADCON1=0b00000100; // soit ADCON1=0x04;
    TRISA=0b00001011; // RA0,RA1,RA3 en entrées, le reste en sortie

    @+
    HULK

    "Pour la carotte, le lapin est la parfaite incarnation du Mal."
    Robert Scheckley.
     


Poursuivez votre recherche :




Sur le même thème :




 

Discussions similaires

  1. Atomistique: configuration électronique des éléments
    Par Chokaolic dans le forum Physique
    Réponses: 9
    Dernier message: 01/01/2010, 06h15
  2. Réponses: 5
    Dernier message: 09/11/2009, 12h21
  3. Atmega => SBI et CBI sur des registres > à 0x1F
    Par Toufinet dans le forum Électronique
    Réponses: 0
    Dernier message: 17/04/2008, 16h39
  4. registres
    Par bilou2007 dans le forum Électronique
    Réponses: 4
    Dernier message: 05/04/2007, 22h36
  5. Base des registres windows
    Par subichan dans le forum Logiciel - Software - Open Source
    Réponses: 5
    Dernier message: 10/01/2006, 19h55