hai ragione

cosi invece ??
Codice:
int tempo, gradi, x, y, valore, gradiRil, i;
void main (void){
ANSEL = 1; // configurazione input alanogico
TRISIO = 0b001011; // gpio0-1-3 in input gpio2 in output
valore = 40;
i=0;
while (1){
inizio:
tempo = ADC_READ(0);
delay_ms(5);
gradiRil = ADC_READ(1);
delay_ms(5);
tempo = (tempo+50)/50;
gradiRil = (gradiRil+50)/7;
for(x=0;x<tempo;x++){
for(y=0;y<valore;y++){
gpio.f2 = 1;
}
gpio.f2 = 0;
delay_ms(5000); // qui ritardo di 5 secondi dopo la pressione tasto??
}
if(gpio.f3)
i=i^1;
while(gpio.f3){}
if(i)
gradi = gradiRil;
else
gradi = 40;
if(valore==gradi)
goto inizio;
if(valore>gradi)
valore--;
else
valore++;
}}