besonders schön ist das nicht, aber hat bei mir immer funktioniert:
Code:
void display(int value) 
{ 
    char buffer[8]; 
    float f=((float)value*5)/1023; // mit "5" erhält man eine kommazahl von 0,0 bis 5,0
    if(f<0)f=0; 
    itoa((int)f,buffer,10); 
    lcd_puts(buffer); 
    lcd_putc(','); 
    f=(f-(int)f)*1000; 
    if(f<100)lcd_putc('0'); 
    if(f<10)lcd_putc('0'); 
    itoa((int)f,buffer,10); 
    lcd_puts(buffer); 
    return; 
}
value ist der 10bit wert, zuerst wird umgerechnet und der ganzzahlige wert ausgegeben, dann wird der rest (die kommastellen) mit 1000 multipliziert und die daraus entstehende dezimalzahl hinter dem komma ausgegeben.

gruesse