como activar entradas analogicas en 16f887

Hola a todos, llebo dias peleandome con el pic y no me acabo de salir. Entre otras cosas quiero poner dos entradas analogicas, y la única guia que tengo es el programa ejemplo que viene en el pikkit2 de microchip, donde activa la entrada analogica an0, a la vez que que mda las tensiones de referencia con la instrucción:

SETUP_ADC_PORTS(sAN0 | VSS_VDD);

Yo he probado las siguienetes combinaciones y no me funciona ninguna, a ver si alguién sabe como hacerlo

Combinación 1:

SETUP_ADC_PORTS(sAN0_sAN1 | VSS_VDD); (me da error de compilación)

Combinación 2:

SETUP_ADC_PORTS(AN0_AN1 | VSS_VDD); (me da error de compilación)

Combinación 3:

SETUP_ADC_PORTS(sAN0 | VSS_VDD);

SETUP_ADC_PORTS(sAN1 | VSS_VDD); (lo compila pero al ejecutarlo la segunda linea
machaca a la primera y solo se activa la entrada an1 )

Si alguién me puede ayudar se lo agradeceria mucho, me imagino que ha de ser muy fàcil pero no se como hacerlo.

Un saludo
 
Gracias microtronic, pero entonces como digo las tensiones de referencia?
Meta, gracias por el datasheet, pero ya lo tenia, ahi me dice los registros que influyen en el ADC, mi problema es como modificarlos en ccs, me he bajado de emule varios manuales de ccs pero no me acaban de especificar como activar un numero concreto de entradas analógicas a la vez que le das los valores de las tensiones de referencia.
Por cierto, que no va bien el 16F887?. Yo lo hago servir pq me compre en microchip el pikkit2 debugger express donde vienen lecciones para enseñarte el funcionamiento, pero esta todo en ensamblador, en c solo viene un ejemplo en ccs, sin grandes explicaciones .
Bueno , gracias por responderme y un saludo.
 
Hola
Yo tengo un problema similar con el 16F887.
Estoy utilizando el convertidor A/D y en la configuracion del pin de entrada lo he programado para que funcione con el pin RA0, sin embargo al simularlo con proteus 7.6 me funciona cuando utilizo la entrada RA1.
He repasado el datasheel 20.000 veces y no encuentro el error, solo me queda llervarlo a la practica por si se tratara de un fallo de Proteus.

Ya he localizado el fallo:

NOTA: El bit GO/DONE no debera ser puesto en 1 mientras esta trabajando el conversor ADC. Revise la seccion 9.2.6 “Procedimiento para conversion ADC”

Esta nota venia en el datasheet pero no le preste atencion, y en mi rutina estaba activando el Bit GO/DONE mediante un MOVWF y luego lo volvia a activar mediante un BSF

(encontre la solucion utilizando el buscador del foro)
 
Última edición:
Atrás
Arriba