Quella funzione LcdCharacter() interpreta il valore convertendolo in char e poi stampa il char a video.
Esempio, se il valore è 65 ti vedrai a video "A" maiuscola.
Prova creandoti una funzione che fa conversione, tipo:
void LcdLong(long valore)
{ char *pbuf, buf[12];
snprintf(buf,sizeof(buf),"%d",valore); // oppure itoa(valore,buf,10); 10=base 10
pbuf=buf;
while (*pbuf)
{ LcdCharacter(*pbuf++);
}
}