hola!
gracias por las respuestas a todos..que rapidos !
Lo del a tension de referencia no entiendo si es a 4,5 V..yo creo que son 5 voltios ( si no ponia yo a drede alguna Vref distinta). Bueno, en efecto, lo que es el "valor real" o sea, lo que lee, esta en los registros ADRESH y ADRESL. Del ADRESH solo cojo 2 bits, ya que esta para 10 bits. He visto en el isis una ventanita donde le puedes poner para ver el resultado de esos registros ( o los que quieras del pic) y...en efecto..por regla de 3...
si 1024 ( que son los 10 bits a 1) son los 5 voltios ( si no pongo nada de Vref. lo toma como 5..?) entonces 286 ( que es el valor que leo si meto 1.4 voltios de input, por los registros ADRESH=00000001 ADRESL=00011110) seran x voltios. Solucionamos... y en efecto, sale 1.4 V .
Para que salgan los 1.4, se ha de sumar el 0 del resultado de los registros, o sea, no 286 sino 287.
Ahora pues, inhabilitar mi PWM hago esto :
value = read_adc();
delay_us(10);
valor_real=5.0*value/1024.0;
delay_us(10);
if(value>286){ // 286 ( mas el 0) es lo que lee el ADC del PIC con una entrada de 1,4 voltios
setup_ccp1(CCP_OFF);
setup_ccp2(CCP_OFF);
Ahora lo mas " bonito" seria hacer la comparacion del if, no con el valor del rgistro, sino con el valor de la tension que quiero, o sea valor real
El siguiente punto seria hacer esto solo con comparador ( que esa era la duda del principio) para ver que ventajas tiene hacerlo por conversion AD o por comparador, para parar el PWM