hola a toda la comunidad de yoreparo...
estoy realizando una practica con el pic16f84a y el adc0820...y una lcd 16*2.
tengo un problema con la programacion ( uso el ccs compiler),,,y quiero pedir de su apoyo para poder realizar la practica
mi prgramacion es la siguiente:
nota:el pic16f84a no trae adc interno y por eso ocupo uno externo.

#include <16F84A.h>
#fuses XT, NOWDT, NOPROTECT, PUT
#use delay (clock=4M)
#use fast_io(B)
#define lcd_enable_pin pin_a2
#define lcd_rw_pin pin_a1
#define lcd_rs_pin pin_a0
#byte port_b=0x06
#byte port_a=0x05
#define lcd_data_port getenv("sfr:portb")
#include <lcd.c>
void main()
{

int16 x;
x=port_b;
port_b=0xff;
float p;
lcd_init();
while(true)
{
delay_ms(50);
lcd_gotoxy(1,1);
p=(5.0*x)/256.0;
printf(lcd_putc," ADC = %4Ld",x);
printf(lcd_putc,"
voltaje = %1.2f",p);
}
}

el principal problema que tengo es que cuando compilo el compilador me dice que esta fuera de la memoria y no compila....mi otra duda tengo que convertir lo que obtengo de la entrada del puerto b para que en mi lcd se vea el valor...
un ejemplo para que quede mejor entendido es:
si yo tengo en la entrada del puerto b:10101010 este valor me lo presente en la lcd como su valor decimal...tengo que convertirlo o algo....

gracias por la ayuda a toda la comunidad un saludo