Forum: Mikrocontroller und Digitale Elektronik LCDroutine ändern


von Pascal H. (pase-h)


Angehängte Dateien:

Lesenswert?

Hi,
Da ich zurzeit von Bascom auf Assembler umlerne, bräuchte ich mal eure 
Hilfe!
Soweit verstehe ich ja alles, Doch bei den LCDroutinen hörts dann auf:
Da ich mir vor ca.3/4 Jahr das Easyavr5a board gekauft habe, muss ich 
die LCD-Pinbelegung der Routine auf : RS=PD2;E=PD3;D4-7=PD4-7 ändern.
Habe schon alles mögliche verändert, doch ich komme einfach nicht ans 
Ziel:
Das LCD bleibt Schwarz:*(
Nun wollte ich euch mal fragen, wie ich den Code ändern muss um meine 
Pinbelegung benutzen zu können.
Habe schon RS und E angepasst und die Frequenz auf 8Mhz geändert(im 
Notfall könnte ich auch auf 1Mhz runter gehen).
Man müsste bei mir nurnoch die Datenleitungen ändern, doch bisher 
funktionierte das nie!
Schonmal Danke
Mfg Pase-h

PS: Das Displan hat einen HD44780 controller drauf.
PPS: Ich benutze einen Atmega16.

von ramius (Gast)


Lesenswert?

hallo pascal,

>Man müsste bei mir nurnoch die Datenleitungen ändern [...]

ob das die einzige fehlerquelle ist, kann ich dir nicht sagen, denn ich 
komme aus der c ecke aber was bei dir falsch zu seien scheint ist 
folgendes

wenn dein display wie du sagst an d4-d7 hängt, dann überträgt deine 
lcd_data und lcd_command im mom zuerst das untere nibble und dann das 
obere also da muss die reihenfolge getauscht werden, sonst wird das nix

gruß ramius

von Pascal H. (pase-h)


Lesenswert?

ramius schrieb:
> wenn dein display wie du sagst an d4-d7 hängt, dann überträgt deine
> lcd_data und lcd_command im mom zuerst das untere nibble und dann das
> obere also da muss die reihenfolge getauscht werden, sonst wird das nix

Das ist ja klar, ich hab ja nur d4-d7 geschrieben, damit jeder weiss wie 
der Code modifiziert werden soll.

ramius schrieb:
> ob das die einzige fehlerquelle ist, kann ich dir nicht sagen
Denke nicht, da ich den Code aus dem AVR tutorial hab

von Karl H. (kbuchegg)


Lesenswert?

Pascal Haury schrieb:

> Habe schon RS und E angepasst

Das reicht nicht.
Du musst den Zusammenbau der Bits in lcd_data und lcd_command 
analysieren und anpassen. Das stimmt alles nicht.

Wenn du Assembler lernen willst, dann kommst du nicht umhin, dich damit 
zu beschäftigen wie man mit AND und OR Bits auseinandernimmt bzw. Bits 
an der richtigen Stelle setzt und löscht.

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.