LCD 4x20 Zeile 8Bit Initialisierung HD44780.

Gast #935009
Hallo,

ich versuche erfolglos mein 4x20 Display zu initialisieren.
Ich sehe immer nur die schwarzen Balken in der 1. und dritten Zeile.
Angeklemmt ist es korrekt da 2x geprüft. Timing ist auch i.o.
Dieser Ablauf sollte doch prinzipiell funktionieren, oder? Sehe den Wald 
vor Bäumen nicht mehr :-)


void LCDinit(void)//Initializes LCD
{
  _delay_ms(20);
  LCD_DATA    =0x0;
  LCD_CTRL    =0x0;
  LCD_DATA_DDR  =0xFF;
  LCD_CTRL_DDR  =0x08; // ENABLE = OUTPUT

  LCD_DATA    =0x30;
  LCD_CTRL    =0x8;  // ENABLE setzen
  _delay_ms(1);
  LCD_CTRL    =0x0;  //jetzt wird ENABLE übernommen

  _delay_ms(10);



  LCD_DATA    =0x30;
  LCD_CTRL    =0x8;
  _delay_ms(1);
  LCD_CTRL    =0x0;

  _delay_ms(10);


  LCD_DATA    =0x30;
  LCD_CTRL    =0x8;
  _delay_ms(1);
  LCD_CTRL    =0x0;

  _delay_ms(10);

  LCD_DATA    =0x38;
  LCD_CTRL    =0x8;
  _delay_ms(1);
  LCD_CTRL    =0x0;



  _delay_ms(5);

  LCD_DATA    =0xE;
  LCD_CTRL    =0x8;
  _delay_ms(1);
  LCD_CTRL    =0x0;
Gast #935015
>Sehe den Wald vor Bäumen nicht mehr :-)

Und ich sehe keinen Schaltplan und nur einen
fast nichts sagenden, unvollständigen Codeschnipsel.
Controller unbekannt, Taktfrequenz unbekannt.
Gast #935020
- Controller siehe Betreff
- Codeschnipsel in meinen Augen sehr eindeutig, was ist da unklar?
- LCD korrekt beschaltet, Schaltplan nicht notwendig
- Taktfrequenz 16MHz (was spielt das für eine Rolle? ich habe doch 
geschrieben dass das Timing stimmt)
Gast #935026
>- LCD korrekt beschaltet, Schaltplan nicht notwendig

Oh doch. Keiner weiss wo LCD_DATA oder LCD_CTRL
angeschlossen sind. Vieleicht an den JTAG Leitungen
und JTAG Fuse aktiviert. Nur mal so als Beispiel.
Gast #935028
Fuse für JTAG ist nicht gesetzt, ich habe nur die Fuse für den externen 
Quarz geändert. Verdammt, dat Ding will nicht.

Wie dem auch sei, hier die Beschaltung: (ATMEGA 162)

//PortD:
#define LCD_RS  2
#define LCD_RW  4
#define LCD_E  3

//PortC:
#define LCD_D0  0
#define LCD_D1  1
#define LCD_D2  2
#define LCD_D3  3
#define LCD_D4  4
#define LCD_D5  5
#define LCD_D6  6
#define LCD_D7  7

#define LCD_DATA  PORTC
#define LCD_CTRL  PORTD

#define LCD_DATA_DDR  DDRC
#define LCD_CTRL_DDR  DDRD

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.