En la rutina de numeros grandes al LCD yo separo Unidad, Decena , Centena y Unidad de mil con el siguiente codigo, hecho funcion.
Codigo:
Void Desmembra (int16 Dato) //Esta funcion obtiene el valor de los
{ // digitos a enviar al display
Digito[0] = Dato/1000; Dato = Dato%1000;
Digito[1] = Dato/100; Dato = Dato%100;
Digito[2] = Dato/10; Dato = Dato%10;
Digito[3] = Dato;
}
Espero te sirva, es lo mismo que hiciste, deberis probar cual forma te lleva mas ROM despues de compilarla, no te olvides que lo que haces como funcion tiene variables locales que no consumen memoria real en C...