Hallo Oliver,

ich hab das Display am Laufen an einem Atmega16.
Ich verwende die lcdlibrary von Peter Fleury
Bei mir ist Pin1 auf +5V, Pin2 und 14 auf GND, Pin 3,4,5 sind RS, RW,E' (da is wohl im Datenblatt nur die Beschreibung vertauscht, die Funktion is O.K.); dann Pins 6,7,8,9 unbeschaltet und die Pins 10,11,12,13 als Data0 bis 3 in der library.

Mit ein paar Anpassungen in der "lcd.h" und folgendem Code sollte das dann funktionieren...
Code:
...
lcd.h:
#define XTAL 8000000 

#define LCD_LINES           2     /**< number of visible lines of the display */
#define LCD_DISP_LENGTH    16     /**< visibles characters per line of the display */

#define LCD_PORT         PORTD        /**< port for the LCD lines   */
#define LCD_DATA0_PORT   LCD_PORT     /**< port for 4bit data bit 0 */
#define LCD_DATA1_PORT   LCD_PORT     /**< port for 4bit data bit 1 */
#define LCD_DATA2_PORT   LCD_PORT     /**< port for 4bit data bit 2 */
#define LCD_DATA3_PORT   LCD_PORT     /**< port for 4bit data bit 3 */
#define LCD_DATA0_PIN    0            /**< pin for 4bit data bit 0  */
#define LCD_DATA1_PIN    1            /**< pin for 4bit data bit 1  */
#define LCD_DATA2_PIN    2            /**< pin for 4bit data bit 2  */
#define LCD_DATA3_PIN    3            /**< pin for 4bit data bit 3  */
#define LCD_RS_PORT      LCD_PORT     /**< port for RS line         */
#define LCD_RS_PIN       4            /**< pin  for RS line         */
#define LCD_RW_PORT      LCD_PORT     /**< port for RW line         */
#define LCD_RW_PIN       5            /**< pin  for RW line         */
#define LCD_E_PORT       LCD_PORT     /**< port for Enable line     */
#define LCD_E_PIN        6            /**< pin  for Enable line     */

...
Main:

#include"lcd.h"
...
void Init(void()
{
     lcd_init(LCD_DISP_ON);
     lcd_clrscr();
     lcd_puts("Hello world.");
}
...
Gruß Bernd