mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Lcd will nicht!


Autor: Schatta (Gast)
Datum:

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

Autor: Markus Kempf (Gast)
Datum:

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

Autor: Schatta (Gast)
Datum:

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

Autor: Marcus Maul (Gast)
Datum:

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

Autor: Schatta (Gast)
Datum:

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

Autor: PIT (Gast)
Datum:

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

Autor: Aleksej (Gast)
Datum:

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

Autor: Schatta (Gast)
Datum:

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

Autor: Günther (Gast)
Datum:

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

Autor: Schatta (Gast)
Datum:

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

Autor: anfänger (Gast)
Datum:

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

an die anderen: bitte nicht schlagen :)

Autor: Schatta (Gast)
Datum:

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

Autor: ulrich strobel (Gast)
Datum:

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

Autor: Schatta (Gast)
Datum:

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

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.