Patico 21 interesante el proyecto claro que pueden tomar valores decimales en estos dias realice un voltimetro digital de 0 -5 DC te dejo el codigo
Código:
' Programa de voltimetro con pic basic pro de tension (0-5VDC) e ilustracion en
' LCD con 2 decimas a traves de pic 16f877A.
'definicion de Oscilador externo
@ device xt_osc ; oscilador externo XT
define osc 4 ; especifica que se va a utilizar uno de 4 Mhz
Define LOADER_USED 1
' Definicion de configuracion de pines para comunicacion con lcd a 4bits.
DEFINE LCD_DREG PORTB
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTB
DEFINE LCD_RSBIT 0
DEFINE LCD_EREG PORTB
DEFINE LCD_EBIT 1
' Definicion de parametro de conversion A/D
DEFINE ADC_BITS 10 ' Selecionar numero de bits conversion A/D
DEFINE ADC_CLOCK 3 ' Selecionar reloj interno de conversion A/D
DEFINE ADC_SAMPLEUS 50 ' Selecionar tiempode conversion Useg
'creacion de variable y configuracion puertos del pic 16f877A
adval Var Word 'Variable donde se va ha guardar medida obtenida
TRISA = %11111111 ' Selecionar PORTA como entrada
ADCON1 = %10000010 ' Selecionar PORTA analogo
Low PORTB.2 ' LCD R/W colocado a cero logico(W)
Pause 500 ' esperar 0.5 second
'Inicio del programa
voltimetro:
Adcin 0, adval 'leer canal cero y guardar resultado en al avariable adval
adval = (adval */ 500)>>2 'lectura de tension
LCDOut $fe,1 ' Clear LCD
LCDOut $fe,2,"VOLTS DC:",DEC (adval/100),".", DEC2 adval 'mostrar en LCD
Pause 100 ' esperea 100mseg
Goto voltimetro ' volver medir
End
Analizalo que te puede servir para lo que pretendes hacer te anexo imagen de funcionamiento