Buen dia amigos, me encuentro realizando un proyecto en el cual debo leer multiples sensores, me encuentro haciendo un prototipo para la medicion de peso y pretendo usar un sensor de fuerza. tengo entendido que el conversor analogico del PIC16F877A es de 10 bits, pero sin embargo cuando pruebo a visualizar los valores de conversion, estos solo varian entre 0 y 255 como si se tratara de un CAD de 8 bits. el codigo que tengo es este:
definicion de pines para el display LCD
DEFINE LCD_DREG PORTD 'define el puerto a usar para el LCD
DEFINE LCD_DBIT 4 'define el uso de solo 4 bits de direccion 7-6-5-4
DEFINE LCD_RSREG PORTD 'UTILIZAR EL REGISTRO DE CONTROL/DATOS EN EL PUERTO D
DEFINE LCD_RSBIT 2 'Define cual pin sera el pin R/s del display
DEFINE LCD_EREG PORTD 'UTILIZAR EL ENABLE EN EL PUERTO D
DEFINE LCD_EBIT 3 'Define Pin del puerto para el Enable del LCD
DEFINE LCD_BITS 4
DEFINE LCD_LINES 2 'Define numero de lineas del Display
Valor VAR WORD
ADCON0=%11000001 'oscilador RC interno para conversion
ADCON1=%10000000 'justifico a la derecha (aqui la duda, si dejo justificacion a la derecha en el Display solo me cambia el valor entre 0 y 3 maximo, pero si
' coloco justificacion a la izquierda dejando a 0 el registro ADCON1, entonces si muestra entre 0 y 255)
LOOP
ADCIN 0,Valor
PAUSE 300
LCDOUT $fe, 1,"Valor: ", DEC Valor
LCDOUT $fe, $C0,"Peso= ",DEC vALOR/10," Kg" 'Operacion ficticia, no he calibrado los valores
GOTO LOOP
no se porque no me muestra los valores correctos, ando medio perdido sobre el uso del ADRESH Y ADRESL, entiendo que si justifico a la derecha los bits mas altos del ADRESH se ponen en 0 y si pongo justificacion a la izquierda, los bit mas bajos del ADRESL se ponen a 0, por eso pretendi medir justificando a la derecha, aunq de igual forma necesito los 8 bits para la resolucion, Ojala pudieran resolver mis dudas. Les estaré muy agradecido