# como activar entradas analogicas en 16f887



## ecazcarra (Mar 26, 2008)

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


----------



## Meta (Mar 26, 2008)

Las puedes activar con mucho cuidado.

http://ww1.microchip.com/downloads/en/DeviceDoc/41291E.pdf

PD: _Otro que veo que utiliza el 16F887._


----------



## microtronic (Mar 26, 2008)

intenta con esta

setup_adc_ports(all_analog)


----------



## ecazcarra (Mar 27, 2008)

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.


----------



## microtronic (Mar 27, 2008)

con el wizard del CCS puedes configurar directamente las entradas adc a tu gusto..


----------



## ecazcarra (Abr 1, 2008)

Gracias mictronic. Ahora por eso me he pasado al 16F877 que hay mucha mas información


----------



## Ruben Andrade (Sep 14, 2008)

No man, deberias usar el pic c y programar en asm cuando sea necesario, pero saltar del 887 al 877 es garrafal, es mi punto de vista nada mas.


----------



## mauriciodtdt (Ago 2, 2010)

(sAN0|sAN1|VREF_VDD)
pero no logro que me funcione el voltaje de referencia VREF-


----------



## pepechip (Ago 20, 2010)

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)


----------

