Autor Tema: ADC en CCS??  (Leído 3098 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado cocu3

  • PIC12
  • **
  • Mensajes: 77
ADC en CCS??
« en: 16 de Diciembre de 2007, 18:52:16 »
tengo el puerto A0 como salida analoga en el 18f4550, y tengo todo el puerto b como entrada

como hago para convertir la entrada del puerto B en la señal analoga de A0?

hice esto y no funciono: ADC_READ_ONLY() = INPUT_B();

Desconectado Cryn

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4169
Re: ADC en CCS??
« Respuesta #1 en: 16 de Diciembre de 2007, 19:13:08 »
primero una vez correcta la configuracion del conversor a/d:

SETUP_ADC(ADC_CLOCK_INTERNAL);      // configuras esto para que el a/d funcione con un reloj interno del micro
SETUP_ADC_PORTS(AN0);                       // aca determianr que el puerto RA0 será analógico
SET_ADC_CHANNEL(0);                           // con esto fijas el canal con el qeu trabajas, en este caso 0 por el RA0


y la entrada tendria que ser RA0, ya qeu es un conversor A/D, no D/A, y la salida el puerto B, que seria el reflejo digital de la entrada analogica RA0
entonces en el bucle infinito lees el pin analogico:

output_b(READ_ADC());                          // lee el canal analogico seleccionado anteriormente, y lo uestra el en puerto b
delay_us(20);

No se te olvide los tris, en este caso ra0 entrada y todo el pto B salida:
set_tris_a(0xff);
set_tris_b(0);

y tampoco se te olvide determinar la directiva, despues del include del pic:
#device adc=8          // supongo qeu 8 bits para el puerto B, porque puede trabajar hasta 10 bits en este micro

y con eso creo que tienes en el puerto B, la conversion a Digital de lo que se lea en RA0

« Última modificación: 16 de Diciembre de 2007, 19:19:04 por Cryn »
.


 

anything