Como leer multiplexor 4051 en CCS con pic 18f4550

Necesito que alguien me explique como leer las 8 entradas analógicas de un multiplexor 4051 y enviar los datos via usb en CCS estoy usando un pic 18f4550, agradesco su colaboracion :D
 
Este codigo te va a ayudar a entender como hacerlo el programa lee los datos del multiplexor y los envia a un lcd.

Código:
#include <16f887.h>
#use delay (clock=1000000)
#include <lcd.c>

void main()
{

   int8 i;
   float valor[8];   

   setup_adc(ADC_CLOCK_INTERNAL);
   setup_adc_ports(ALL_ANALOG);
   set_adc_channel(0);
   set_tris_c(0);
   set_tris_d(0);
   
   lcd_init();
   
   while(1)
   {

   lcd_putc("\f");
   
      for(i=0;i<8;i++)
      {
         switch(i)
         {
         case 0:
         output_c(0x00);    
            break;
         case 1:
         output_c(0x01);      
            break;
         case 2:
         output_c(0x02);      
            break;
         case 3:
         output_c(0x03);
            break;
         case 4:
         output_c(0x04);
            break;
         case 5:
         output_c(0x05);
            break;
         case 6:
         output_c(0x06);     
            break;
         case 7:
         output_c(0x07);      
            break;
      
         }
      
      valor[i] = (float)read_adc() / 51 ;
            
      }
   
   printf(lcd_putc,"%.1f %.1f %.1f %.1f",valor[0],valor[1],valor[2],valor[3]);
   lcd_putc("\n");
   printf(lcd_putc,"%.1f %.1f %.1f %.1f",valor[4],valor[5],valor[6],valor[7]);
   
   delay_ms(500);
   
   }
   

}
 
Atrás
Arriba