Bonjour à vous !


Je voudrai réaliser un programme permettant une conversion analogique numerique avec un PIC 18F4520. J'utilise le logiciel et une carte de test MPLAB V8 avec MCC18.
Il faudrait donc un programme avec une initialisation de l'adc ainsi que le programme de conversion.

J'ai essayé l'initialisation ce qui donne ceci (Mon probleme est que j'ai très peu de base en langage C :'( ) :


Code:
#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;

	}
Pourriez vous me dire ce qui ne va pas dans le bout de programme ci-dessus ? les choses à modifier ect ...

Pour la suite (conversion), je ne sais pas du tout comment faire ...