Hallo,

also jetzt geht es! =D>
Kollege hat mir geholfen.

Das Problem lag wie ich vermutete in der Routine LCD_setCursorPos(y,x);

Es funktioniert zwar aber ich weis nicht warum
Verstehst du es vielleicht?

er hat nur dass geändert
address += 88;
// address += 24;

Hier der funktionierende Code:
Code:
// setzt den Cursor an die angegebene Position (y = Zeile, x = Spalte)
void LCD_setCursorPos(const unsigned char y, const unsigned char x)
{
	// Adresse aus x und y berechnen
	// Adressen sind wie folgt: Zeile 0 = 0; Zeile 1 = 64; Zeile 2 = 128; Zeile 3 = 192; Zeile 4 = 0+24; Zeile 5 = 64+24; Zeile 6 = 128+24; Zeile 7 = 192+24
//	unsigned char address = x + ((y % 4) << 6);
	unsigned char address = x + y * 48;
	if (y > 3)
		address += 88;
//		address += 24;
	LCD_sendByte(address, (1<<LCD_OC1_PIN) | (1<<LCD_OC2_PIN));
}