Saludos.
Estoy realizando un termometro con Pic usando el 16F876a y en proteus me funciona perfecto pero en fisico no me funciona.
El error es que al variar el voltaje no se produce cambio en los displays, es decir siempre se mantiene el mismo numero. Si lo apago y lo enciendo nuevamente el numero cambia indicando un nuevo valor.
Aqui les dejo el programa y el archivo de proteus.
@ DEVICE pic16F876A
' Registro
cmcon=7
TRISB=0
TRISC=0
ADCON1=%10001110
' Variable
temp var word
result var byte
result2 var byte
digt var byte
digt2 var byte
aux var word
vmv var word
tempk var word
tempc var word
'Definir los parametros del ADCIN
DEFINE ADC_BITS 10 ' Setear el numero de bits del resultado
DEFINE ADC_CLOCK 3
Define ADC_SAMPLEUS 50
' Inicialización de variables
main:
ADCIN 0,temp
temp=temp*10
temp=temp*5
temp=temp/1024
temp=temp*10
aux=temp
if aux<298 then
temp=298-temp
vmv=temp/10
tempk=298-vmv
else
temp=temp-298
vmv=temp/10
tempk=298+vmv
endif
tempc=tempk-273
if tempk>273 then
high portA.5
else
low portA.5
endif
digt2=tempc/10
lookup digt2,[%00111111,%00000110,%01011011,%01001111,%01100110,%01101101,%01111100,%00000111,%01111111,%01100111],result2
portb=result2
digt=tempc-(digt2*10)
lookup digt,[%00111111,%00000110,%01011011,%01001111,%01100110,%01101101,%01111100,%00000111,%01111111,%01100111],result
portc=result
goto main
sin mas me despido esperando su ayuda.