Autor Tema: Acerca del conversor ADC en pic18F485  (Leído 1736 veces)

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

Desconectado Igor

  • PIC10
  • *
  • Mensajes: 1
Acerca del conversor ADC en pic18F485
« en: 22 de Noviembre de 2006, 08:06:05 »
Hola!!

Estoy probando en hacer un programita en C con CSS que convierta ADC de la patilla A0 y saque el resultado de los 10 bits, a unos leds del puerto B y los dos restantes a A6 y A5.
El problema, es que no funciona bien los puertos A, pese a que he puesto que solo la A0 es la analógica.
¿Que es lo que hago mal? Porque si saco esos dos bit de mayor peso por el puerto D, el programa funciona bien.
¿Hay que apagar el conversor antes de sacar el dato? Miro en la documentacion del compilador y no veo nada.....

Gracias!!!!!



-------------------------





#include <18F458.h>
#device ADC=10

//Ajusta los valores de la palabra de configuración durante el ensamblaje:
//Protección de código y datos=OFF, LVP=OFF, WDT=OFF y OSC=XT
#fuses NOPROTECT,NOCPD,NOLVP,NOWDT,XT


#use delay (clock=4000000)
#use fixed_io(b_outputs=PIN_B0,PIN_B1,PIN_B2,PIN_B3,PIN_B4,PIN_B5,PIN_B6,PIN_B7)
#use fixed_io(a_outputs=PIN_A6,PIN_A5)

long valor_conv;
int conv_bajo;
int conv_alto;


main()
{
   
   setup_adc(ADC_CLOCK_DIV_32);
   setup_adc_ports(0x0e);


   while(TRUE)
   {   
      set_adc_channel(0);
      delay_us(10);
      valor_conv=read_adc();


      
      conv_bajo=(valor_conv) & (0B11111111);
      output_b(conv_bajo);


   
      output_bit(PIN_A5,bit_test(valor_conv,8));      
      output_bit(PIN_A6,bit_test(valor_conv,9));
      


   }


}


 

anything