Define ADC_BITS 10 ' Set number of bits in result
Define ADC_CLOCK 3 ' Set clock source (3=rc)
Define ADC_SAMPLEUS 50 ' Set sampling time in uS
TRISA = %11111111 ' Set PORTA to all input
ADCON1 = %10000010 ' Set PORTA analog and right justify result
ADCON1.7=1
loop: ADCON0.2 = 1 'Comienzo de la conversion A/D
adcin 1, bateria
lcdout $fe,$c0
dividebat = (bateria*5)/1023
restobat = (bateria*5)-(1023*dividebat)
decimalbat = (( restobat * 1000))/1023 ' calculo de los 3 decimales
Lcdout "Bateria - ",#dividebat,".",#decimalbat
Goto loop ' Do it forever
Hola, este es el codigo que estoy usando, en principio funciona bien, lo simulo en el proteus, tengo puesto un voltimetro para ver la tension de entrada
analogica, y un potenciometro para ajustar la tension de entrada.
en principio funciona bien, pero cuando ajusto el potenciometro a 2v, el display me muestra 1.35v igual me ocurre con 4v que me marca 3.35v, os pongo, el V-display es la tension que me marca el display segun la tension que me marca el voltimetro que esta conectado a la salida del pot (V-pot)
V-Pot V-display
0 0.4
0.50 0.50
1.00 1.1
1.50 1.52
2.00 1.38
2.50 2.49
3.00 3.00
3.50 3.51
4.00 3.37
4.50 4.53
4.99 4.34
¿Sabeis si hay alguna forma tambien de que en el display en vez de 0, me muestre 0.00?
Un saludo