Autor Tema: Ayuda con conversor A/D  (Leído 1098 veces)

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

Desconectado mauryras

  • PIC10
  • *
  • Mensajes: 4
Ayuda con conversor A/D
« en: 19 de Junio de 2013, 19:49:14 »
Hola a todos, tengo un problema con el conversor AD del PIC18f4585. Ya lo hice andar muchas veces al conversor y nunca me dio un problema pero ahora resulta que el bit Go/Done nunca baja, es decir nunca termina de convertir y el programa se me queda clavado ahi. Lo simule en Proteus y no tira ese error pero cuando lo programo en el up pasa eso. Ya no se que cambiarle, le modifique la Frecuencia los TAD y sigue igual. Sera problema de HARD?
Por Favor si algun almar caritativa me puede dar una mano en esto estare super agradecido, estoy trabado en esto que nunca me paso de mil y un veces que programe el conversor A/D en distintos PIC.

La parte del Soft referia al conversor seria esta:

void ADC_Init(void)
{
   
   ADCON1 = 0b00001110;      //Vref-: Vss   Vref+:Vdd   AN0=entrada analógica
   ADCON2 = 0b00111100;      //Justificado a la Derecha   Adquisición= 20TAD   Frecuencia= FOSC/4
   ADCON0 = 0b00000001;       //Habilito el modulo del conversor A/D ; Elijo leer el canal 0 (AN0)   
}

unsigned char ADC_Convert(void)
{
ADCON0bits.GO_DONE = 1;             // Comienzo la conversion
    while (ADCON0bits.GO_DONE==1);   ACA SE ME CLAVA EL PROGRAMA!! y nunca sale  :5]
    return ADRESH;
}

Luego invoco a la funcion de esta manera:

T=ADC_Convert();   //T es un char ya que solo uso el converson en 8 bits