TODOPIC

Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: DMX512 en 11 de Marzo de 2006, 04:54:00

Título: Ayuda para ANALOG IN en pic 16F88
Publicado por: DMX512 en 11 de Marzo de 2006, 04:54:00
Soy un novato y necesito ayuda para leer los valores de unos potenciometros (llamados tambien resistencias variable o faders) desde el pic 16F88.

Busco algun tipo de codigo de ejemplo.

Tambien quisiera saber si se puede cambiar un puerto que esta configurado como entrada, a salida en medio del codigo.

La razon en porque cargo unos datos desde el puerto paralelo del PC y tras leer el ultimo valor me gustaria enviarle datos usando el mismo bus.

Alguien ha probado algo asi? Si se puede, existe un retardo o es instantaneo?

Gracias a todos y enhorabuena por este foro.

ManMartin.
Título: RE: Ayuda para ANALOG IN en pic 16F88
Publicado por: vszener en 11 de Marzo de 2006, 06:19:00
Holaaa!!!antes tendrias qe especificar que lenguaje de programacion usarias para tu programa, pero bueno decirte que el pic seleccionado posee el modulo A/D por lo tanto podras obtener los distintos valores del potenciometro mediante la conexion correspondiente.

Bueno un puerto lo puedes declarar tanto de salida como d eentrada cuando quieras, siempre que lo programes bien!no hay mucha dificultad en ello.

Aqui te dejo el espacio que dedica microchip al pic 16F88


Suerte!!!Giño
Título: RE: Ayuda para ANALOG IN en pic 16F88
Publicado por: maunix en 11 de Marzo de 2006, 06:36:00
Escrito originalmente por DMX512
Soy un novato y necesito ayuda para leer los valores de unos potenciometros (llamados tambien resistencias variable o faders) desde el pic 16F88.

Busco algun tipo de codigo de ejemplo.

Tambien quisiera saber si se puede cambiar un puerto que esta configurado como entrada, a salida en medio del codigo.

La razon en porque cargo unos datos desde el puerto paralelo del PC y tras leer el ultimo valor me gustaria enviarle datos usando el mismo bus.

Alguien ha probado algo asi? Si se puede, existe un retardo o es instantaneo?

Gracias a todos y enhorabuena por este foro.

ManMartin.


Vamos por partes.

1) Ese pic tiene conversor A/D asi que puedes perfectamente leer un valor de un potenciónmetro o cualquier señal mientras estes en el rango del PIC que usualmente es de 0 a 5V.

2) Códigos de ejemplo tienes a montones y dependen del lenguaje que uses para programar, te invito a que visites el almacen para el ensamblador o el link sobre basic o bien sobre lenguaje C.

3) Sí es posible hacer que un puerto se pase de entrada a salida en medio del código, de hecho todos los pics tienen sus puertos como entrada cuando se encienden y uno debe configurarlos como salida si así lo desea.

4) El puerto paralelo no es "un bus" es un "puerto" y lo que pretendes hacer es perfectamente realizable con un pic


5) El retardo o instantaneo gralmente está del lado del PC, porque la pc suele tener corriendo un sistema operativo haciendo miles de cosas por segundo y no suele atender a los puertos con la mayor prioridad posible.  Ni aún teniendo un sistema operativo de tiempo real se logran tiempos exhorbitantes... es entonces que el PIC suele tener que esperar a la PC.

Un consejo, usa algún método de "handshaking" es decir de señalizacion entre PC y PIC para que el PIC envíe los datos solo cuando el PC esté listo.  Y ve haciendo el handshaking por cada dato que envíes!! Esto es muy importante.

Pegale un vistazo a este link también de este foro donde tratan una necesidad similar.

http://miarroba.com/foros/ver.php?foroid=6510&temaid=4940120

Saludos