Forum: Mikrocontroller und Digitale Elektronik Bascom + LCD + Atmega 8 nichts auf dem display


von Daniel H. (Gast)


Lesenswert?

Hi

Ich habe ein Atmega 8 und ein LCD von Reichelt (Electronic Assembly)
und egal was ich progge mit bascom nichts erscheint auf dem Display. Im
Simulator geht alles aber sobald ich es üvertrage beliebt alles leer
(Auser der Hintergrundbeleuchtung).

Hab folgenden Code:

$regfile = "m8def.dat"                                  'ATMega 8L
$crystal = 8000000                                      'Quarz: 8 MHz

Ddrd = &B11111111                                       'LCD-Output
Ddrc = &B11111111

Config Lcd = 20 * 2
Config Lcdbus = 4
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 ,
Db7 = Portc.3 , E = Portd.3 , Rs = Portd.2


Int

Initlcd
Cls
Lcd "hallo"

End

Was ist daran falsch hab sogar den lcd in den options eingestellt.

Bin für jede Hilfe dankbar.

von bernd (Gast)


Lesenswert?

Hast Du die Timings beachtet?

Jeder Befehl braucht eine gewisse Zeit.

von Daniel H. (Gast)


Lesenswert?

Ich dachte das macht bascom immer selbst und deswegen gibt es diesen lcd
befehl. In der Simulation klappt es ja auch. Wie soll ich es denn sonst
schreiben?

von Alex (Gast)


Lesenswert?

hallo daniel,

wenn die verdrahtung richtig ist, sollte es so gehen!

$regfile = "m8def.dat"                                  'ATMega 8L
$crystal = 8000000                                      'Quarz: 8 MHz

Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 ,
Db7 = Portc.3 , E = Portd.3 , Rs = Portd.2
Config Lcd = 20 * 2
Cls
Lcd "hallo"

End

wenn das nicht geht, ist noch die kontrasteinstellung eine
fehlerquelle.  so läuft es bei mir auf allen boards. initlcd brauchste
nicht, macht er selber. timing macht er auch alles selber.

grüße

von Daniel H. (Gast)


Lesenswert?

Danke Alex

Hab es eben mal versucht aber nix.

Contrast = VEE richtig?

Hab da garnichts dran weder masse noch nee spannung.
Ist dann nicht automatisch voller Contrast da mann ja dann nur dimmen
will oder auch falsch?

von hodoe (Gast)


Lesenswert?

Hallo, bei den Reichelt LCDs einfach ein Poti (~1K) zwischen Vcc und GND
klemmen. Der Mittelabgriff geht dann an Kontrast.

Gruß
Holger

von Marius Schmidt (Gast)


Lesenswert?

verbind mal VCC über ein poti oder wiederstand mit VEE

von Marius Schmidt (Gast)


Lesenswert?

ach nee
ich meinte einfach GND an VEE...

von Daniel (Gast)


Lesenswert?

eine Kontrastspannung muss auf jeden Fall dran.
Nimm, wie schon beschrieben ein kleines Poti. 1kOhm oder auch
mehr....ich verwende 5k-Potis. Ohne Poti get das bei mir nicht. Wichtig
ist auch noch, dass alle unbenutzten Pins auf Masse liegen.

Viele Grüße
Daniel

von Marius Schmidt (Gast)


Lesenswert?

du kannst auch einen spannungsteiler nehmen, so hab ich das eben gelöst
(hab mein erstes LCD in Betrieb genommen). den baust du dir mit 2
widerständen auf (ich hab 1.5k und 470 ohm genommen).

Du schliest an Widerstand A VEE und den anderen Widerstand B. Und an
Widerstand B schliest du VCC an. Bessere Erklärungen gibt es bei google
:)

von Daniel H. (Gast)


Lesenswert?

Danke für die ganzen Anworten sind ja echt nett die leute hier muss ich
schon sagen :)

Ich werde dann berichten wo ran es gelegen hat.

von Daniel H. (Gast)


Lesenswert?

Also hab jetzt vollgendes gemacht.

Hab Hab Datenleitung 0-3 mit R/W verbunden da der ja eh auf Masse
liegt. Und auf VEE (Contrast) hab ich ein 470Ohm Wiederstand geschaltet
der dann an 5Volt geht. Aber wieder fehlanzeige. Was soll den dan
passieren? Sieht mann dan gleich etwas wenns funzt oder bleibt alles
dunkel?

von Daniel H. (Gast)


Lesenswert?

@Alex

was mir eben noch aufgefallen ist.
Bei deinem Beispiel steht nix von DDR so und so. Muss mann keine Ports
als ausgänge deklariren damit es geht oder macht er es automatisch?

von Marius Schmidt (Gast)


Lesenswert?

ein widerstand alleine reicht nicht. Siehst du denn überhaupt was auf
dem display?

von Michael D. (Gast)


Lesenswert?

Hi,
warum mischt du die ports eigentlich? mal c mal d....

Ddrd = &B11111111                                       'LCD-Output
Ddrc = &B11111111


Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 ,
Db7 = Portc.3 , E = Portd.3 , Rs = Portd.2

weiss nicht so recht, hab die lcd ports nie als ausgang deklariet, aber
ich denke wenn du die ports c und d als ausgang deklariest dann werden
sie zu analogen ausgang ports, wenn du mit bascom arbeitest dann lass
mal die deklarationen für das lcd weg, vielleicht gehts dann..

MfG
Michael

von Daniel H. (Gast)


Lesenswert?

@marius

Nein ich sehe nichts das sit ja das komische. Werde mal morgen zu nem
elektrofachhandel fahren und ein poti holen. Bei mir ist nur deie
Hintergrundbeleuchtung an sonst nix.

von Kurt (Gast)


Lesenswert?

beim Einschalten sollte eine Reihe dunkel sein (bevor initialisiert
wird)
Das wird mit dem Kontrastpoti eingestellt.
Wenn kein Poti vorhanden ist wird ev. gar nichts sichtbar.

Kurt

von Kurt (Gast)


Lesenswert?

Manche Displays brauchen eine negative Kontrastspannung.

Kurt

von Marius Schmidt (Gast)


Lesenswert?

Vielleicht ist dein Display ja schon kaputt also bei mir war das so, das
wenn ich nix an VEE hatte der controller chip sehr heiß wurde.
Wahrscheinlich habe ich nur glück das der nicht abgereckt ist (wieviel
°C der max aushält weiß ich nicht aber das waren bestimmt 45-55°C)

von alex (Gast)


Angehängte Dateien:

Lesenswert?

also klar, die ports sollten schon als ausgang geschaltet werden dös
hatte mich verlesen. ich schreibs immer aus: config portx=output

ob das 4draht wiring funktioniert, wenn man die ports mischt, weiss ich
nicht, ich sehe immer zu, das das lcd an einem port hängt. irgendwo habe
ich zudem gelesen, das der generierte code kürzer ist, wenn die
datenbytes in einem nibble liegen...

ja, kontrastspannung muss immer. genau wie ein vorwiderstand an der
beleuchtung übrigens, falls du den noch nicht hast. die lcd´s von EA
sind übrigens sehr empfindlich auf elektrostatik... wir haben hier
schon 4 gekillt durch falsches handling.

ich nehme bei einer neuen art von display immer ein 10gang poti zum
spannung einstellen, dann baue ich danach nur noch entsprechende
spannungsteiler ein.

als anhang mal meine lcd anschlusstechnik: schutzwiderstände,
schaltbare hintergrundbeleuchtung (lebensdauer !) etc...

von Daniel H. (Gast)


Lesenswert?

OK hab jetzt poties geholt und alles so gemacht wie es sein solle also
alle pins die nicht benutzt werden auf GND Poti zwischen +5v und -5V
und den Mittleren an Kontrast. Aber immer noch alles dunkel (bis auf
hintergrund beleuchtung). Kann man den lcd irgend wie testen? Wenn ich
nur die hintergrund Beleuchtung + Controller spannung und dann contrast
langt das schon?

von Daniel H. (Gast)


Lesenswert?

sorry hab poti zwischen +5v und 0V (ist doch masse oder?) und die mitte
an Kontrast.

von Kurt (Gast)


Lesenswert?

Nach dem Spannung anlegen sollte eine Reihe dunkel sein
(Kontrasteinstellung).

Ob  Minus-Kontrast-Spannung notwendig ist hängt vom Typ ab.

Kurt

von alex (Gast)


Lesenswert?

gibt der proz denn was raus (oszilloskop)? ist die verdrahtung wie in
meinem beispiel ?

testen kann man das imho nicht, ohne es richtig zu betreiben.

von Daniel H. (Gast)


Lesenswert?

Ich hab leider kein ossi. Die verdrahtung sollte auch richtig sein. ist
schon komisch. das kann doch nicht so schwer sein oder liegt es am
bascom? Wo bekommt man den noch gute Displays vielleicht ist er ja echt
defekt aber ich kann es mir einfach nicht vorstellen. ich bekomm auch
kein Kontrast hin es ist nie was zu sehn.

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.