Forum: Mikrocontroller und Digitale Elektronik Lcd will nicht!


von Schatta (Gast)


Lesenswert?

Hi,

ich habe nen problem mit meinem neuen lcd-display. es ist ein 4x20 lcd
von ebay. das display zeigt in der ersten udn 3ten zeile kästchen an
nach dem einschalten, meine rmeinung nach also noch alles oke...

ich benutze es in verbindung mit einem atmega16. das programm wurde mit
CodeVision erstellt. programm und verdrathungsfehler schliesse ich aus
da es mit einem 1x16-lcd und einem atmega163 funzt...(programm wurde
angepasst)

ich habe hier etwas längere leitungen, fast nen halbven meter, könnte
dies der fehler sein? es scheint als würde das display auf den init
befehl des µC reagieren (kästchen verschwinden kurz) aber kommen gleich
wieda und es wird nichts angezeigt....

hat event. jemand ne idee was es sein könnte? wäre für nen wink mit dem
zaunpfahl dankbar!

mfG,
thomas

-sorry für die fragerei aber als anfänger is alle snen bisschen schwer
und bei google hab ich auch nichts passendes gefunden

von Markus Kempf (Gast)


Lesenswert?

Ich hatte es hier schonmal erwähnt, die LCD routinen von CodeVision sind
nicht ausgereift. Mann muss leider etwas Glück haben das Display und
Controller zusammenpassen. Z.B. Habe ich mit meinem 2*16 Dispay am
ATmega 16 Probleme, am 8535 funzt es jedoch perfeckt mit dem selben
Programm. In der fixliste der neusten Version steht drin sie hätten es
verbessert, hat bei mir jedoch nichts gebacht. Da bleibt dir nur andere
Controller - Display kombination oder Routine selber schreiben.... oder
anderer C-Compiler.

von Schatta (Gast)


Lesenswert?

Hi,

danke für die antwort! die routinen selbst zu schreiben sehe ich mir
noch nich drüber hinaus...

daher die frage: gibts irgendwo routinen die in codevision eingebaut
werden können mit denen die sache funzen sollte?

es gibt da zwar ne seite mit C-zeugs bezüglich lcd, aber das ist nur
für ein oder zweizeilige lcds, so wie ich das verstanden habe...

mfG,
thomas

könnte man nicht ganz primitiv alle init-sachen der reihe nach über den
Port ausgeben, rücksetzen, ausgeben...usw...

und für den rest event wieder die vorhanden lcd-routinen von cv
verwenden?

von Marcus Maul (Gast)


Lesenswert?

Hi Schatta,

zu Deinem ersten Posting, das die Zeilen 1. und 3. schwarze Balken
zeigen ist bei manchen Displays normals, solange Du sie nicht
initialisiert hast. Danach müssen die wieder verschwinden. Schau aber
mal bitte nach, ob der Pin, der für den Kontrast zuständig richtig
beschaltet ist.

Danach kannst Du den ganzen Initkram über die Ports, wie Du richtig
vermutet hsat, rausschicken. Mein Tip, damit Du besser bescheid weißt,
wie das ganze geht, nimm Dir das Datenblatt und mache es min. zwei,
dreimal von Hand. Also wirklich mit ein paar Kabeln das Display
anklemmen und dann die Ports von Hand beschaltetn. Danach wird Dir
einiges klarer und Du verstehst die Routinen. Hab damals ein paar
Routinen für einen 8051er geschrieben. Funktionierten aber erst,
nachdem ich das gemacht habe ;-) warum nur???

Gruß Marcus

von Schatta (Gast)


Lesenswert?

Hi,

der PIN für kontrast ist korrekt! mir kommt vor das lcd versteht das
zeugs nicht weil beim startup gehen die balken kurz und kommen gleich
wieda, also es reagiert auf das init und den schreibbefehl des µC...

das mit der selbstgebastelten routine hab ich mir eher so vorgestellt:

lcd_init();

und die soll bestehen aus:

PORTA=0xFF
delay_ms(xxxx);
usw.


also all das zeugs was man am anfang mal an das display senden muss so
zu machen...mit entsprechend grösseren zeiten...

macht man das so?

mfG,
thomas

von PIT (Gast)


Lesenswert?

Hallo Schatta,

schau dir mal lieber die Port Pins genauer an.
Es könnte sein das du die Pins benutzt auf denen die Jtag
Schnittstelle hängt. Wenn dann noch die Fuses (Jtag deaktivieren!!)
nicht geändert worden sind, funktioniert auch dein Display nicht.

von Aleksej (Gast)


Lesenswert?

Wahrscheinlich stimmt die Schaltung nicht, bist du sicher, dass du die
richtige pinsbelegung hast (ich meine LCD-display)? Wieviele pins hat
das ding? 14?

von Schatta (Gast)


Lesenswert?

Hi,

ja, ich denke die verdrahtung ist korrekt! aber ich werds heute nochmal
checken...

ich benutze die kleine entwicklungsplatine von hier aus dem shop, und
benutze atmega16...ISP...das lcd hängt an port C...ansonsten hängt da
abba nichts, denk ich zumindest...welche FUSE ist das denn?

mfG,
thomas

-sorry wenn euch schon nerve :(

von Günther (Gast)


Lesenswert?

Hi
Schatta,
 geht es vielleicht zu schnell?
Das LCD braucht etwas Zeit, die Initbefehle
zu begreifen und zu verarbeiten.
Hast Du mit genügend Delayzeit vorgesehen?

Günther

von Schatta (Gast)


Lesenswert?

Hi,

bei codevision kann ich das doch nicht vorgeben...........läuft mit 4
MHz..

hab nun im internet ne vorlage gefunden, aber die will nich, da mir
folgende dateien fehlen:

#include <io.h>
#include <pgmspace.h>
#include <string-avr.h>

http://www.hady.de/sven/projekt4/start.htm

in dem fall muss ich mich wohl selbst reinleben...ja, wird halt eben
zeit fressen :(

mfG,
thomas

von anfänger (Gast)


Lesenswert?

versuchs doch mal mit bascom oder fastavr ;-) dann kommst du auch mal zu
nem ergebnis!

an die anderen: bitte nicht schlagen :)

von Schatta (Gast)


Lesenswert?

Hi,

was ist fastavr? bascom will ich nicht! ich will/muss/möchte bi C
bleiben.....weil es hat sich doch so ziemlich als standart
durchgesetzt, und zudem muss ich von seitens der schule auch C
lernen...

mfG,
thomas

von ulrich strobel (Gast)


Lesenswert?

kontroliere mal die steuereingänge am lcd , ob da die pegel passen,
hatte da bei mir einmal ein paar probleme

von Schatta (Gast)


Lesenswert?

Hi,

wollt mich bei allen nochmal bedanken!! das display funzt jetzt!

der fehler is fast so peinlich......dass ichs mich kaum sagen trau....

nen unterbruch im datenkabel!!!
da muss ne ader angebrochen gewesen sein, denn ohmsche prüfungen
ergaben mir stehts dass alles oke war, nur es funzte nie, heute hob ich
es im betrieb mal hoch, udn siehe da, es zeigte alles wunderbar an!

....und das bei einem nagelneuen kabel :(

auf jeden fall bin ich jetzt ma wieda happy und mein lerneifer ist
wieda da :)

mfG,
schatta

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.