despues de mil años la tierra prometida.
#include <16F877A.h>
#use delay(clock=8000000)
#fuses NOWDT,NOPUT,NOPROTECT,NOBROWNOUT,NOLVP,NOPROTECT,HS,NOWRT,NODEBUG
#use fast_io(A)
#use fast_io(B)
#use fast_io(C)                     ///   con esta instruccion evitamos que
#use fast_io(D)                     ///   se este configurando cada vez que usamos
#use fast_io(E)                     ///   alguna instruccion de entrada o salida
#byte porta = 5
#byte portb = 6
#byte portc = 7                     /// se definen direcciones de memoria
#byte portd = 8
#byte porte = 9
#bit porte0 = 0x09.0
int canal0=0;
int unidades=0;
int decenas=0;
int centenas=0;
void main ()
{
set_tris_b(0b00000000);
set_tris_c(0b00000000);
set_tris_d(0b00000000);
set_tris_e(0b11111111);
SETUP_ADC(ADC_CLOCK_INTERNAL);   // declaramos que el reloj del adc sera     
                                                               interno
setup_adc_ports(all_analog);                 // todos los canales analogicos habilitados
SET_ADC_CHANNEL(0);                        // seleccionamos canal 0
DISABLE_INTERRUPTS(global);
while(1)
{ 
canal0= READ_ADC();                        // retardo para esperar que el adc termine
                                                        // conversion fabricante menciona que al
                                                        // menos 50 microsegundos 
delay_ms(1);
centenas=canal0/100;
decenas=(canal0 - (centenas*100))/10;
unidades=(canal0 - (centenas*100) - (decenas*10));
portb=centenas;
portc=decenas;
portd=unidades;
delay_ms(100);
}
}
 http://rapidshare.com/files/100399663/ADC-DISPLAYS.rar.html
http://rapidshare.com/files/100399663/ADC-DISPLAYS.rar.html