Slt tout le monde! pourquoi la sortie de mon convertisseur ne varie pas en fonction de l'entrée analogique ANO. J'utilise le PIC 16F877 et j'aimerai récupérer les résultats de ma conversion en sortie avec des leds. Quelqu'un peut m'aider svp?
Voici le code:
Code:#define p16_f877 ; #pragma p16F877.h // récupere le AN0 unsigned int readAN0(void) { char cT=6; // ah ah :) unsigned int iValAD=0; ADON==1; // activation du convertisseur while(cT--); // tempo de 23µs GO_DONE==1; // démarrage conversion while(GO_DONE); // si ADGO passe à 0 fin de conversion iValAD=ADRESH; iValAD<<=8; iValAD|=ADRESL; // le résultat est contenu dans iValAD ADON==0; // convertisseur arrêté return iValAD; } void main (void){ TRISA=0x01; //Port A en entrées TRISB=0x3F; //Port B en sortie (leds rouges) TRISD=0; //Init du convertisseur ana/numerique ADCS1==1; ADCS0==0; // Fosc 32 CHS2==0; CHS1==0; CHS0==0; // sélection de l'entrée analogique RA0 PCFG3==1; PCFG2==1; PCFG1==1; PCFG0==0; ADFM==1; // justification bit à droite registre de réception ADRESH ADRESL // boucle a la con while (1){ PORTD=readAN0(); // Send lower 8 bits to PORTD PORTB=readAN0()>>2; // Send 2 most significant bits to RB7, RB6 } }
-----