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...
Gruß BerndCode:... 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."); } ...







Zitieren

Lesezeichen