Conversion analogique-numerique pic 18f4520
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

Conversion analogique-numerique pic 18f4520



  1. #1
    invitea6488f97

    Conversion analogique-numerique pic 18f4520


    ------

    Bonjour !

    Voila j'ai tres peu de connaissance en langage C, et j'aimerais pouvoir convertir un signal analogique en signal numerique avec l'adc intégret dans le PIC 18F4520
    J'ai fait l'initialisation de l'adc mais je sais pas du tout comment ecrir la suite du programme pour démarrer et convertir le signal qui arrive sur le PORTA et mettre les resultat dans le registre AdressH et Adress L (conversion sur 12 bits)

    Pouvez vous m'aider svp ?

    C'est un programme assez court normalement.

    Merci

    ps : voila mon debut (y'a peut etre des erreurs notamment a la fin )

    #include <p18f4520.h>
    #include <adc.h>


    void main(void)

    {

    TRISA=1; // PORTA en Entrée
    PORTA=1; // PORTA a 1

    ADCON0bits.ADON = 1 ; // A/D convert ON
    ADCON0bits.CHS0 = 0 ; // Choisir la voie a convertir => AN0
    ADCON0bits.CHS1 = 0 ; // Choisir la voie a convertir => AN0
    ADCON0bits.CHS2 = 0 ; // Choisir la voie a convertir => AN0
    ADCON0bits.CHS3 = 0 ; // Choisir la voie a convertir => AN0

    ADCON1bits.PCFG0 = 1 ; // Configuration des ports A/D = AN1 et AN0
    ADCON1bits.PCFG1 = 0 ; // Configuration des ports A/D = AN1 et AN0
    ADCON1bits.PCFG2 = 1 ; // Configuration des ports A/D = AN1 et AN0
    ADCON1bits.PCFG3 = 1 ; // Configuration des ports A/D = AN1 et AN0
    ADCON1bits.VCFG0 = 0 ; // references de tension a utiliser par le CAN => Vref+ = Vdd
    ADCON1bits.VCFG1 = 0 ; // references de tension a utiliser par le CAN => Vref- = Vss

    ADCON2bits.ADCS0 = 0 ; // configurer horloge selection
    ADCON2bits.ADCS1 = 0 ; // configurer horloge selection
    ADCON2bits.ADCS2 = 1 ; // configurer horloge selection
    ADCON2bits.ACQT0 = 0 ; // configurer un temps d'acquisition
    ADCON2bits.ACQT1 = 0 ; // configurer un temps d'acquisition
    ADCON2bits.ACQT2 = 0 ; // configurer un temps d'acquisition
    ADCON2bits.ADFM = 1 ; // justification a droite

    ADRESH=0x00 ; // Mise à zero du registre ADRESH

    ADCON0bits.GO_DONE = 1; // A/D conversion in progress (Start Of Conversion)

    while(ADCON0bits.GO_DONE) // Attente de l'EOC

    {

    ADCON0bits.GO_DONE=0; // EOC
    X=ADRESH;
    X<<=8;
    X|=ADRESL;

    }

    }

    -----

  2. #2
    RISC

    Re : Conversion analogique-numerique pic 18f4520

    Salut,

    Quelle carte électronique utilises-tu ?
    Peux-tu faire voir comment sont connectées tes entrées analogiques ?

    Tu parles d'une conversion sur 12 bits ???
    Le PIC18F4520 intègre un convertisseur 10 bits.
    Par contre si tu veux un CAN 12 bits cela existe dans le même boitier compatible broche à broche. Ca s'appelle un PIC18F4523.

    Concernant ton problème de convertisseur :

    1/ Variable X
    La déclaration de X n'est pas visible. C'est un char ou un INT ??? (ca doit impérativement être un INT pour qu'il ait une largeur de 16 bits)

    2/ Temps d'acquisition
    (Je te recommande de lire les paragraphes 19.1, 19.2 et 19.3 de la datasheet pour être sur de ne pas violer les conditions d'utilisation du convertisseur) :
    http://ww1.microchip.com/downloads/e...Doc/39631D.pdf
    Je ne connais pas ton schéma électronique ni la fréquence max du signal à mesurer mais choisir 000 pour ADCON2.ACQT est une mauvaise idée...commence plûtot pas 111

    Je te recommande ce site pour les PIC18 : http://www.aix-mrs.iufm.fr/formation...indexPIC_C.htm

    , les notes d'applications pour PIC18 : http://www.microchip.com/stellent/id...rects=appnotes

    et les exemples de code pour PIC18 : www.microchip.com/codeexamples

    a+
    Dernière modification par RISC ; 17/05/2008 à 22h30. Motif: correction

Discussions similaires

  1. Conversion A/D PIC 18F4520
    Par invitea6488f97 dans le forum Électronique
    Réponses: 0
    Dernier message: 14/05/2008, 17h23
  2. petit problème de système de conversion numérique/analogique
    Par invite1282bdb2 dans le forum Électronique
    Réponses: 36
    Dernier message: 24/02/2008, 18h05
  3. Conversion analogique numérique
    Par invite5fd1a0ec dans le forum Électronique
    Réponses: 5
    Dernier message: 30/12/2007, 12h06
  4. freqence et conversion analogique sur pic
    Par invite3a1051d7 dans le forum Électronique
    Réponses: 4
    Dernier message: 17/05/2007, 18h15
  5. Réponses: 12
    Dernier message: 23/10/2006, 17h24
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...