Bonsoir ,
J aurais une question sur la mise en oeuvre d un compteur avec un PIC 16F877 en language C.
j'ai un pfe apropos le capteur ultrason . j'ai fait un programme en pic C qui calcule le temps mis entre l'emission et la reception et affiche l'epaisseur mais j'ai trouvé un problem dns le comptage de timer : lorsque j'augmente le temps l'epaisseur diminue alors que normalement l'epaisseur et le temps doivent etre proportionnels
Je vous donne le code que j ai réalisé :
#int_EXT
void EXT_isr(void)
{
val_timer1=get_timer1();
nbre_tot_timer1=(nbre_overflow *65536)+val_timer1;
temps= (((double)nbre_tot_timer1)*0.2 )/1000000;
epaisseur=(vitesse*temps)/2;// si on veut en mm
epaisseur=epaisseur*1000;
x1=epaisseur;
output_low(PIN_B7);
printf(lcd_putc,"\f%lfmm",x1);
set_timer1(0);
nbre_tot_timer1=0;
nbre_overflow=0;
}
#int_TIMER1
void TIMER1_isr(void)
{
val_timer1++;
if (val_timer1=65536)
{
nbre_overflow++;
}
nbre_overflow=0;
}
c'est urgent , aidez moi svpppppppp, merci d'avance
![]()
-----