mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD 4x20 Zeile 8Bit Initialisierung HD44780.


Autor: triplepower (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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;

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>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.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal auch RS und RW anschließen.

Wenn RW in der Luft hängt, geht garnichts.

Deine Delays sind viel zu lang, für E reicht 1µs völlig.


Peter

Autor: triplepower (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
- 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)

Autor: triplepower (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK Danke Peter, werde ich mal gleich testen...

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>- 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.

Autor: triplepower (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
triplepower wrote:
> Fuse für JTAG ist nicht gesetzt, ich habe nur die Fuse für den externen
> Quarz geändert.
Wenn du die Fuse nicht geändert hast, dann ist sie programmiert! JTAG 
ist im Auslieferungszustand aktiv und muss erst vom Anwender 
abgeschaltet werden.

Autor: triplepower (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was soll ich sagen, ihr seid super!!!

Danke Johannes & Holger!

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.