TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: MRGSoft en 05 de Diciembre de 2005, 02:21:00

Título: Modo funcionamiento "Puerto A" PIC16F628A
Publicado por: MRGSoft en 05 de Diciembre de 2005, 02:21:00
Como puedo cambiar el modo de funcionamiento del PUERTO A del PIC16F628A, para hacerlo funcionar en modo Digital, en vez de Modo Analógico, que es como funciona por defecto.
Muchas gracias y un saludo.
Título: RE: Modo funcionamiento "Puerto A" PIC16F628A
Publicado por: Nocturno en 05 de Diciembre de 2005, 03:41:00
Ayer mismo el "jefe" posteó la solución a tu problema:
http://miarroba.com/foros/ver.php?foroid=79706&temaid=4494926
Título: RE: Modo funcionamiento "Puerto A" PIC16F628A
Publicado por: MRGSoft en 05 de Diciembre de 2005, 11:47:00
Gracias nocturno66, ese hilo ya lo habia leido, pero me interesaria la solución desde "Lenguaje C" si es que existe una instrucción que lo haga, ya que esa es para "Asembler".
Un Saludo.
Título: RE: Modo funcionamiento "Puerto A" PIC16F628A
Publicado por: I3iT en 05 de Diciembre de 2005, 12:04:00
Mirando el resumen del manual del CCS:

SETUP_ADC_PORTS(value)
Esta función configura los pines del ADC para que sean analógicos, digitales o alguna
combinación de ambos. Las combinaciones permitidas varían, dependiendo del chip.
Las constantes usadas también son diferentes para cada chip. Véase el archivo de
cabecera *.h para cada PIC concreto. Las constantes ALL_ANALOG y NO_ANALOGS
son válidas para todos los chips.
Algunos otros ejemplos de constantes son:
RA0_RA1_RA3_ANALOG
Esto hace que los pines A0, A1 y A3 sean analógicos y los restantes sean digitales.
Los +5v se usan como referencia; véase el siguiente ejemplo:
RA0_RA1_ANALOG_RA3_REF
Las patillas A0 y A1 son analógicas; la patilla RA3 se usa como voltaje de referencia y
todas las demás patillas son digitales.
Ejemplo:
Setup_adc_ports( ALL_ANALOG );


Espero te sirva.

>Salu2<
Título: RE: Modo funcionamiento "Puerto A" PIC16F628A
Publicado por: MRGSoft en 05 de Diciembre de 2005, 14:14:00
Muchas gracias por vuestra ayuda, es lo que estaba buscando.
Un Saludo.
Título: RE: Modo funcionamiento "Puerto A" PIC16F628A
Publicado por: elmasvital en 07 de Diciembre de 2005, 07:27:00
Me he perdido... qué diferencia tienen aqui el uso de puertas digitales y analogicas?
Título: RE: Modo funcionamiento "Puerto A" PIC16F628A
Publicado por: pocher en 07 de Diciembre de 2005, 10:42:00
Sí, tampoco lo tengo claro. El CCS toma por omisión todos los puertos como digitales ¿no?
Título: RE: Modo funcionamiento "Puerto A" PIC16F628A
Publicado por: piriots en 07 de Diciembre de 2005, 14:44:00
Exactamente, el ccs, si no configuras los puertos como analogicos los coge como digitales por defecto.

Salu2
Título: RE: Modo funcionamiento "Puerto A" PIC16F628A
Publicado por: MRGSoft en 09 de Diciembre de 2005, 03:37:00
La diferencia está en que los pins RA0-RA4 del PIC pueden funcionar como Puerto I/O y como Comparador Digital, por eso la necesidad de conmutar su funcionamiento de un modo u otro. Respecto a que el CCS ponia por omision todos los puertos como digitales, no lo sabia, ya que el DataSheet del PIC especifica que al producirse un Power-On Reset o cualquier otro Reset, estos Pins son puestos en modo "Comparators Reset", desactivando la configuración Digital de los mismos.
Por lo menos yo lo entiendo así, si estoy equivocado, sacarme del error.
¿Lo de la configuracion del Puerto que hace el CCS por defecto, está esplicado en su manual?
Un Saludo y muchas gracias por vuestra ayuda.
Título: RE: Modo funcionamiento "Puerto A" PIC16F628A
Publicado por: pocher en 09 de Diciembre de 2005, 12:34:00
Cuando empecé hace algunos años con CCS programaba el ADCON1 para que tomara las entradas del PORTA como digitales (yo venía entonces del ensamblador y así se hace si programas en ensamblador). Posteriormente a base de hacer programas un buen día me dí cuenta que no era necesario, el CCS las toma como digitales inicialmente, que es lo más lógico ya que su uso es más digital que analógico. No sé si en el manual lo dirá, lo mío fué pura comprobación práctica.

Un saludo