#include #include "biosdem.h" __CONFIG (0x3539); #define SEUIL 113 void tout_droit(void); void virage_droite(void); void virage_gauche(void); void arret(void); void init_moteur(void); void init_del(void); char Detection_Piste(void); void main ( void ) { char Capteur=0; ADCON1=0x00; adc_on(); // init_moteur(); init_del(); for(;;) { if (RD7==1) { Capteur=Detection_Piste();} } } void init_del(void) { TRISD0=0; TRISD1=0; TRISD2=0; TRISD3=0; TRISD4=0; TRISD5=0; TRISD6=0; TRISD7=0; } void init_moteur(void) { PR2=99; //periode 100us avec quartz 4Mhz CCPR1L=0; CCPR2L=0; TRISD1=0; TRISD2=0; TRISD3=0; TRISC1=0; TRISC2=0; TMR2ON=1; CCP1CON=0x0C; CCP2CON=0x0C; } char Detection_Piste(void) { char masque=0; char CaptDroit1=0,CaptDroit2=0,CaptCentre=0, CaptGauche1=0,CaptGauche2=0; CaptDroit2=adc_read_8b(0);//capteur droit CaptDroit1=adc_read_8b(1);//capteur droit CaptCentre=adc_read_8b(2);//capteur Centre CaptGauche1=adc_read_8b(3);//capteur Gauche CaptGauche2=adc_read_8b(4);//capteur Gauche masque = 0; if(CaptDroit2