Forum: Mikrocontroller und Digitale Elektronik 2x16 LCD


von Frank (Gast)


Lesenswert?

Hallo,
also mein problem ist folgendes.....

ich habe dieses ganz normale wald und wiesen display 2zeilen je
16zeichen (HD44....) am atmega8 angeschlossen und versuche verzweifelt
aus dem ding funktion raus zu bekommen.....

ich habe es folgendemasen angeschlossen:
DB7->PC5
DB6->PC4
DB5->PC3
DB4->PC2
E  ->PC1
RS ->PC0

R/W hab ich über nen wiederstand an masse dran da ich nur aufs displa
schreiben möchte

hm ja und nu verliesen sie ihn.... ich hab im datenblatt hoch und
runter geblättert bits gesetzt mit warteschleifen..... verkabelt ist
das richtig ich glaube ich bin nur zu dusselig zum programmieren

hat wer evtl. son code stück wo das display initialiesiert wird und
eventuell ein hallo oder so drauf geschrieben wird?

danke schonmal im voraus^^

mfg frank

von SiO2 (Gast)


Lesenswert?

Den R gegen masse kannste weglassen, duerfte aber nich stoeren. Du
kannst ja auch diverse lins mal testen. die von fleury?? soll gut sein,
bzw. nehmen die viele afaik

von Alex (Gast)


Lesenswert?

> ich habe es folgendemasen angeschlossen:
DB7->PC5
DB6->PC4
DB5->PC3
DB4->PC2
E  ->PC1
RS ->PC0


ich hatte sowas ähniches auch!
Habe ALLES mögliche probiert.. problem war port c des µC.
Löte das ganze auf port D oder so um! Soll funktionieren, wenn die
Software stimmt!
Gruss Alex

von Karl H. (kbuchegg)


Lesenswert?

Die Fleury Lib erwartet allerdings, dass R/W nicht fix ist,
sondern vom Pgm gesteuert werden kann. Das muss auch so
ein, denn Peter liest das Busy Flag aus um Warteschleifen
zu vermeiden.

von Mike R. (thesealion)


Lesenswert?

Wenn du kannst, ist es übriegens einfacher die Datenleitugen auf Pin 0
-3 oder 4 -7 zu legen, das mach das verschieben der einzelnen nibbel
einfacher. Ansonten steht doch hier im Tutorial einfacher Beispielcode
drin, mit dem man das Display erstmal zum Leben erwecken kann.

von Michael U. (Gast)


Lesenswert?

Hallo,

was Port C angeht: Beide GND und AVCC richtig angeschlossen?

Sonst hat PortC keine Betriebsspannung, weil der beim ATMega8 auch der
ADC-Port ist.

Gruß aus Berlin
Michael

von Karl H. (kbuchegg)


Lesenswert?

> problem war port c des µC.
> Löte das ganze auf port D oder so um!

PortC könnte allerdings wirklich ein Problem sein.
Dort liegt bei manchen Controllern das JTAG Interface
(ATMega8, ATMeg16, ATMega32, ...)
Anstatt umzulöten, kannst du das JTAG auch ganz einfach
per Fuse abschalten. JTAGEN Fuse auf den anderen Wert stellen.
Aber Vorsicht! Wie immer gilt: Beim Umstallen der Fuses obacht
geben. Vorher die Fuses einlesen; das eine Bit umdrehen; Fuses
neu schreiben lassen.

von Läubi (Gast)


Lesenswert?

Mega8 hat KEIN JTAG

von Frank (Gast)


Lesenswert?

So ;) dem Port AVCC hab ich nu auch mal 5V spendiert und R/W -> PD4

von mir aus kann ich das display auch gerne wo anders anschließen ist
alles erstmal auf so einem steckbort zusammengestöpselt^^

was hat das den mit der fleury lib auf sich.... bzw... kann wer nen
link posten....

aber schonmal danke für die vielen antworten das geht ja echt fix
hier^^

mfg Frank

von Frank (Gast)


Lesenswert?

oh^^

kleiner nachtrag.....

ich hab mich gerade gewundert warum in so vielen artikel zu lcd
wehwechen steht ließ dir doch den abschnitt im tutorial durch...... und
ich hatte keinen gefunden^^ also in dem gcc^^

das asembler prinzipiel schöner ist weiß ich, allerding muss ich den
ganzen spass in c machen ;) naja bin ich zugegebener massen auch ganz
froh drüber aber egal ;)

von Oliver (Gast)


Lesenswert?

Nochmal meine Erfahrungen zum Anschluss des RW-Pins, ich legte ihn auch
einmal per 10k auf Masse. Anfangs funktionierte alles einwandfrei,
irgendwann traten unerklärliche und nicht reproduzierbare Fehler auf.
Ich habe tagelang meinen Code nach Fehlern durchforstet, natürlich
nichts gefunden. Nach Verbindung des RW-Pins direkt mit Masse war alles
wieder i.O.

von Mike R. (thesealion)


Lesenswert?

Naja, mit dem Assembler-Tutorial könntest du zumindestens test, ob dein 
LCD richtig angeschlossen ist und funktioniert.
Und du verstehst, wie die ansteuerung funktioniert. Danach solltes es 
eigentlich ein leichtes sein die Lib von Peter so anzupassen, das sie 
auch ohne Busy  funktioniert.
Hab ich, als ic hangefangen habe, auch mal gemacht, daher weiß ich, das 
die Änderungen nicht allzu schwer sind :-)

z.B. einfachdie Abfrage durch eine Warteschleife ersetzen.

Mfg Mike

von Alex (Gast)


Lesenswert?

> Anstatt umzulöten, kannst du das JTAG auch ganz einfach
per Fuse abschalten.

Für mich war das einfacher es umzulöten! :)))

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.