Forum: Mikrocontroller und Digitale Elektronik STK500 und LCD (ST7036) Problem


von huibu (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute,

habe ein ganz komisches Phaenomen:

Habe auf Lochraster ein LCD Display geloetet, so ein dreizeiliges EA-DOG 
mit integriertem ST7036 Controller. Ich betreibe das im 4bit Modus, 
steuere es ueber einen ATTiny2313 vom STK500 aus. Auch den Strom liefere 
ich ueber das STK500.

Das Display funktioniert, aber nur, wenn ich exakt 2 mal die Reset Taste 
des STK500 druecke.

Woran kann das liegen?

STK500 einschalten -> Display bleibt schwarz, nur 
LED-Hintergrundbeleuchtung faengt an zu leuchten.
1 x Reset druecken --> Display bleibt schwarz
2 x Reset druecken --> Display funktioniert ab jetzt, kann beliebig oft 
resetten oder den Mikrocontroller per ISP neu bespielen.

Hat jemand eine Ahnung, woran das liegen koennte?

Anbei mein Code soweit.

von spess53 (Gast)


Lesenswert?

Hi

>Hat jemand eine Ahnung, woran das liegen koennte?

LCD-Init nicht in Ordnung.

MfG Spess

von huibu (Gast)


Lesenswert?

Kann das noch andere Ursachen haben? Habe die Routine bereits mehrfach 
ueberprueft.

Ausserdem: Wenn ich jetzt ab dem 2. Mal reset am Chip druecke, wird die 
mittlere Zeile auf Double Height Mode geschaltet und die untere 
verschwindet. Druecke ich nochmal reset am STK500 geht es wieder in den 
Ursprungsmodus.

Aber ich rufe nie irgendwas auf, das in den Instruction Table 2 
schaltet, zumindest nicht laut der mitgelieferten Broschuere.

von spess53 (Gast)


Lesenswert?

Hi

>Kann das noch andere Ursachen haben? Habe die Routine bereits mehrfach
>ueberprueft.

Dann sieh dir mal die 4-Bit-Initialisierung im Datenblatt vom ST7036 an. 
Die sieht irgendwie anders aus.

MfG Spess

von holger (Gast)


Lesenswert?

>Kann das noch andere Ursachen haben? Habe die Routine bereits mehrfach
>ueberprueft.

Aktivier mal den BOD oder mach ein fettes Delay vor die Init.
Es soll Displays geben die ein bißchen brauchen bis man
mit ihnen vernünftig reden kann.

von huibu (Gast)


Lesenswert?

Hallo,

was meinst du mit BOD?

Das Delay bringt nix. Direkt nach dem Einschalten vom STK 500 ist das 
Display tot, nur die Hintergrundbeleuchtung funktioniert. Nach dem 1. 
Reset geht es und ab dem 2. Reset schaltet es dann zwischen der Double 
Height und der richtigen Anzeige hin und her.

Immer noch keine Ahnung, woran das liegen koennte.

von spess53 (Gast)


Angehängte Dateien:

Lesenswert?

Hi

>Immer noch keine Ahnung, woran das liegen koennte.

Kannst du kein Datenblatt lesen? Siehe S.41.

Mf Spess

von huibu (Gast)


Angehängte Dateien:

Lesenswert?

Ein Datenblatt ist immer so lang und die beiliegende Broschuere hat halt 
nur 3 Seiten g

Jetzt hab ichs jedenfalls geschafft.

Da muss man zwei komische Befehle noch vorweg senden, damit das im 4bit 
Modus funktioniert. Warum weiss ich nicht, die ergeben fuer mich noch 
keinen Sinn.

Anbei jedenfalls einwandfreier Code fuer AVR Controller, sicher aber 
noch optimierbar.

von spess53 (Gast)


Lesenswert?

Hi

>Ein Datenblatt ist immer so lang und die beiliegende Broschuere hat halt
>nur 3 Seiten g

Die enthält aber auch nur die 8-Bit-Initialisierungen.

>Da muss man zwei komische Befehle noch vorweg senden, damit das im 4bit
>Modus funktioniert. Warum weiss ich nicht, die ergeben fuer mich noch
>keinen Sinn.

Weil sich das Display nach dem Start im 8-Bit-Mode befindet und erst in 
den 4-Bit-Mode versetzt werden muss.

MfG Spess

von huibu (Gast)


Lesenswert?

Hallo Spess,

habe mich nicht nur an der Broschuere orientiert, hier auf der Website 
sind die Fehler z.B. auch im Code drin.

von huibu (Gast)


Lesenswert?


von spess53 (Gast)


Lesenswert?

Hi

>habe mich nicht nur an der Broschuere orientiert, hier auf der Website
>sind die Fehler z.B. auch im Code drin.

>http://www.avrprojects.net/index.php?option=com_co...

Du scheinst etwas zu Internetgläubig zu sein. Primäre Informationsquelle 
ist das Datenblatt des Displays und des eingesetzten Controllers. Da 
steht alles drin, was man braucht. Man muss halt nur lesen (können).

Im Fall der Dog-Displays gibt es sogar Codebeispiele des Vertreibers:

http://www.lcd-module.de/deu/disk/development%20service/DOG%20Text%20ST7036/INIT_DOG_7036.txt

http://www.lcd-module.de/deu/disk/development%20service/DOG%20Text%20ST7036/INIT_DOG_7036_AVRGCC.c

Alles andere ist erst mal mit einer gewissen Skepsis zu betrachten.

MfG Spess

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.