Forum: Mikrocontroller und Digitale Elektronik LCD zum laufen bringen


von steve (Gast)


Lesenswert?

Wie kann ich eine LCD zum laufen bringen wobei ich die LCD_Routine und
eine keine Testprogramm der in Tutorial ist damit probiert habe.
ich benutze zum simulieren AVR Studio, und zur Übertragen Ponyprog.
freue mich über ihre anweissung.

Danke

von Sebastian (Gast)


Lesenswert?

was für ein lcd benutzt du??
welcher µC?
and welchem port?
dein quellcode, der nicht funzt?
takt??

von steve (Gast)


Lesenswert?

Hallo,
es geht um AVR mega8 mikrocontroller und um LCD 2x16 HD44780

1 Vss GND
2 Vcc 5V
3 Vee GND oder Poti (siehe oben)
4 RS PD4 am AVR
5 RW GND
6 E PD5 am AVR
7 DB0 GND
8 DB1 GND
9 DB2 GND
10 DB3 GND
11 DB4 PD0 am AVR
12 DB5 PD1 am AVR
13 DB6 PD2 am AVR
14 DB7 PD3 am AVR

von Jörn G. (Gast)


Lesenswert?


von Berni (Gast)


Lesenswert?

Hallo zusammen,

ich bastel auch grade mit dem Tutorial rum, dafür auf
jeden Fall vielen Dank, das ist SUPER!!

Ich habe das LCD, auch 2x16 (das billige Ding von Reichelt)
an den AVR angeschlossen und
was soll ich sagen, so wie es da steht funktioniert es auch
100%.

Hast du den Rest genau so aufgebaut, wie es da steht??

Wie gesagt, müsste eigendlich genau so gehen.

Eine kleine Frage habe ich allerdings noch. Wie veranlasse ich einen
Zeilenumbruch? habe es versucht mit einer 13 und einer 10 (kenn ich
sonst so von hochsprachen bezüglich asci code).

           ldi temp1, 13     ;Zeichen anzeigen
           rcall lcd_data
           ldi temp1, 10     ;Zeichen anzeigen
           rcall lcd_data

Vielleicht kann ja wer helfen.

Vielen Dank.

Berni

von Thomas Forster (Gast)


Lesenswert?

Es gibt keinen Zeilenumbruch. Um in die 2. Zeile zu schreiben,  musst du
den Cursor an die entsprechende Stelle im RAM stellen. Bei den meisten
HD44780 ist das 64 (Dezimal).

von jmoney (Gast)


Lesenswert?

zeilenumbruch macht man, indem man auf die adresse des ersten zeichens
der gewünschten zeile springt. ascii-zeichen interpretiert der
controller nicht, der zeichensatz ist nur an ascii angelehnt..

von steve (Gast)


Lesenswert?

Hallo Berni,
kannst du Bitte erlauten wie du es geschaft hast?
wie kommst du zu recht mit der routine und den test programm der im
Tutorial ist?
im welche reihen folge bist du fort gegangen?

Danke noch mal.

von Berni (Gast)


Lesenswert?

Ja, kann ich machen,

Also, ich habe die Prozessorplatine genau so aufgebaut, wie im tut. Zum
Programmieren benutze ich einen Adapter, den ich irgendwo anders
gefunden habe, kann dir den link auch geben, wenn du ihn brauchst. Der
Funktioniert auch super. Dann habe ich mir mit billigen
"abbrechbaren" Steckkontakten von Reichelt eine art Steckersystem
gebastelt, so dass ich dann abwechselnd die Schalter, die LEDs oder das
Display an die Anschlüsse PD oder PB stecken kann.

So, Beim Display habe mir dann die Anschlüsse (wie du schon oben
beschrieben hast) auf einen Stecker gelegt und Vcc und Gnd
angeschlossen. Den Poti habe ich nicht eingebaut, es klappt auch so.
und dann habe ich einfach mal die Assambler dateien runtergeladen und
draufgespielt. und, was soll ich sagen, es geht.

Leider bin ich jetzt auch noch nicht groß weiter gekommen ;-(, da meine
Assambler Kenntnisse erst am Anfang stehen. Wenn mir irgendwer helfen
kann, wie ich nun den cursor anders positioniere, so dass ich in der
zweiten Zeile schreiben kann, wäre das sehr nett (gerne auch anhand des
Tutorials, das habe ich glaube ich ganz gut verstanden).

(Der Link zu der Englischen Seite im Tut hilft mir nicht wirklich
weiter).

Vielen Dank

@steve: Wo genau hängst du denn jetzt fest??

von ...HanneS... (Gast)


Lesenswert?

Schaut euch doch mal im Datenblatt des LCD-Controllers den Befehlssatz
an. Dann das jeweilige Befehlsbyte nach temp, dann lcd_command
aufrufen.

...

von Berni (Gast)


Lesenswert?

So, hat sich jetzt geklärt,
wie gesagt, ich bin auch gerade erst am Anfang.
Bin auch mit dem Datenblattlesen nich so vertraut.
Habs jetzt hinbekommen, war ja auch net wirklich schwer.

Trotzdem Vielen Dank.


Mfg. Berni

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.