#include /* PC1 = RS PC2 = R/W PB0 = Chip 1 Select PB1 = Chip 2 Select PB2 = Reset PB3 = Backlight PB5 = Enable Trigger */ void displayState(); void setAddress(char zeile); void setPage(char seite); void setStart(char start); void write(); void init(); void main() { DDRB = 0xff; DDRC = 0xff; DDRD = 0xff; init(); while(1) { /*PORTB = 0xff; PORTC = 0xff; PORTD = 0xff;*/ //Display einschalten char state = 0; displayState(); //Y-Adresse 1 - 64 char zeile = 63; setAddress(zeile); //X-Adresse 1 - 8 char seite = 7; setPage(seite); //Display Start Line 1 - 64 char start = 63; setStart(start); //Daten schreiben ASCII write(); } } void displayState() { PORTC = 0x00; PORTD = 0x3f; } void setAddress(char zeile) { PORTC = 0b00000000; PORTD = (0b01000000) ^ zeile; } void setPage(char seite) { PORTC = 0b00000000; PORTD = (0b10111000) ^ seite; } void setStart(char start) { PORTC = 0b00000000; PORTD = (0b11000000) ^ start; } void write() { PORTC = 0b00000010; PORTD = 0b11111111; } void init() { PORTB = 0b00101111; }