Entweder ist die Initialisierung falsch. Was bedeutet lcd_init(LCD_DISP_ON)? Sollte das nicht nur lcd_init() heißen?
Oder das Display ist keines mit HD44780 oder kompatibel

MfG Hannes