Forum: Mikrocontroller und Digitale Elektronik avrlib mit HD44780


von Fabian S. (zero)


Lesenswert?

Ich habe hier heute versucht ein 2*16 LCD-Display mit HD44780-Controller
an einen ATMEGA16L anzuschließen, der mit einem externen 8MHz Quarz und
einer Betriebsspannung von 5V läuft. Ich versuche dabei momentan
gerade, das Display im 8bit Modus mit dem lcd-example aus der avrlib
anzusprechen.

Die Anschlussbelegung sieht dabei folgendermaßen aus:

DB0->PD0
DB1->PD1
DB2->PD2
DB3->PD3
DB4->PD4
DB5->PD5
DB6->PD6
DB7->PD7
RS->PC2
RW->PC3
E->PC4

Hier ein Auszug aus meiner lcdconf.h, in der ich Änderungen vorgenommen
habe (von PORTA auf PORTD umgestellt):
#ifdef LCD_PORT_INTERFACE
  #ifndef LCD_CTRL_PORT
    // port and pins you will use for control lines
    #define LCD_CTRL_PORT  PORTC
    #define LCD_CTRL_DDR  DDRC
    #define LCD_CTRL_RS    2
    #define LCD_CTRL_RW    3
    #define LCD_CTRL_E    4
  #endif
  #ifndef LCD_DATA_POUT
    // port you will use for data lines
    #define LCD_DATA_POUT  PORTD
    #define LCD_DATA_PIN  PIND
    #define LCD_DATA_DDR  DDRD
    // access mode you will use (default is 8bit unless 4bit is
selected)
    //#define LCD_DATA_4BIT
  #endif
#endif

Ausserdem habe ich noch in der global.h eingestellt, dass der Prozessor
mit 8MHz läuft.

Allerdings erscheint auf dem Display kein Text, sondern ich sehe nur
diese üblichen schwarzen Balken in der 1. Zeile.

Ich habe auch schon mal veruscht die "data-lines" an PORTA zu
betreiben, wie es bei dem Beispiel voreingestellt ist, aber es zeigt
sich dieselbe Wirkung.

Achja, nur so am Rande, aber so wie im mikrocontroller.net AVR-Tutorial
beschrieben, im 4bit-Modus, gelang es mir das Display in Betrieb zu
nehmen.

von Fabian S. (zero)


Lesenswert?

So habs selbst gelöst. Musste die JTAGEN-Fuse deaktivieren, da durch
diese die Control-Pins an PORTC blockiert wurden.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.