okay ihc hab da jetzt nur etwas gesehen dass mich verwirrt, aber ich weis nicht obs hilft, aber bei
Code:
static unsigned char i = 1;
  if (i <= rest_number)
  {	
	ASC0_TBUF = lcd_data[i];
startest du den lcd index mit 1 obwohl arrays bei 0 anfangen, kanns sein dass das erste byte nur zufällig mit irgendwas initialisiert ist und du vergisst das erste byte zu adressieren?