Hola a todos

Un programa seria algo asi:
SENSA: promedio = 0
for i=0 to 9
grad = 0
ADCON0.2 = 1
FINAL: if ADCON0.2=1 then final
grad.highbyte = ADRESH
grad.lowbyte = ADRESL
promedio = grad + promedio
next i
promedio = (50 * promedio )/ 1024
for i=0 to 50
lookup promedio DIG 1,[238,40,220,124,58,118,242,44,254,62],portb
porta.7=1 : pause 3 : porta.7=0
lookup promedio DIG 0,[238,40,220,124,58,118,242,44,254,62],portb
porta.6=1 : pause 3 : porta.6=0
next i
GOTO SENSA
Bueno , esto es para un conversor a/d de 10bits (1024 cuentas). Si usas las Vref del PIC a 0V y 5V, entonces para una entrada de 5V el valor de la convercion sera de 1024 (el maximo), si le metes 2.5V sera una cuenta de 512, osea regla de tres .
La resolucion esta dada por (Vmax - Vmin)/1024. En este caso:
(5 - 0 ) / 1024 = 4.883 mV
Bueno ahora al programa que puse arriba:
En el primer for...next hago la convercion 10 veces para hacer el promedio
La operacion matematica que hago despues sale asi:
10240_________________5V
cuenta_________________ X= (5 * cuenta)/10240 V
0.01V _________________ 1 grado
X V _________________ G = (X * 1)/0.01 grados = X * 100 grados
Reemplazando todo tenemos
G=temperatura= (50 * cuenta)/1024 --> valor de temperatura a mostrar
Por ultimo, en el ultimo for....next lo que hago es mostrar este numero en los display.
Espero que te sirva