Hice un intento usando la libreria stdlib.h y la funcion atoi pero aun no logro hacer la conversion.
este es el codigo, ojala puedan decirme lo que este mal y que deberia corregir.
/////////////////////////////////////////////
//
//
//
/////////////////////////////////////////////
#include <16f877a.h>
# DEVICE ADC=10
#fuses xt,nowdt
#use delay(clock=4000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)// RS232 Estándar
///////////////////////////////////////////////////////////////
//LIBRERIAS DEL COMPILADOR CCS PARA MANEJO DE PERIFÉRICOS EXTERNOS
///////////////////////////////////////////////////////////////
#include <lcd420_miki.c>
#define use_portb_kbd true
#include <kbd_lib_punto.c>
#include <stdlib.h>
///////////////////////////////////////////////////////////////
//ENTRADAS SALIDAS
///////////////////////////////////////////////////////////////
# USE FAST_IO(A)
# USE FAST_IO(B)
# USE FAST_IO(C)
main()
{
///////////////////////////////////////////////////////////////
//VARIABLES//
///////////////////////////////////////////////////////////////
char data[];
int i=0;
int uni;
int dec;
int cen;
int numero;
char k;
/////////////////////////////////
//INICIALIZANDO PERIFERICOS /////
/////////////////////////////////
lcd_init();
kbd_init();
port_b_pullups(true);
//////////////////////////////
////////////////////////////////////////////////////////////////////
//INGRESO EL UN NUMERO ENTERO DE 3 DIGITOS MEDIANTE EL TECLADO MATRICIAL
///////////////////////////////////////////////////////////////////
printf(lcd_putc,"ingrese el numero \n");
while(i<2)
{
k=kbd_getc();
if (k!=0)
{
data[i]=k;
lcd_putc("*");
delay_ms(200);
i++;
}
}
/////////////////////////////////////////////
cen = data[0];
dec = data[1];
uni = data[2];
////////////////////////////////////////////
cen=atoi(cen);
dec=atoi(dec);
uni=atoi(uni);
numero= cen*100+ dec*10 + uni*1;
printf(lcd_putc,"%d",numero);
}