Forum: Mikrocontroller und Digitale Elektronik lc7985 intialisieren


von Nette M. (nette-mann)


Lesenswert?

Der LC7985 Controller soll ja 100% kompatibel zum hd44870 Controller 
sein. Hab das nun so angelötet wie beim hd44870, aber es intialisiert 
sich nicht.

$regfile = "m32def.dat"                                     'ATmega8
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.0 , 
Db7 = Portc.1 , E = Portd.4 , Rs = Portd.5
Config Lcd = 24 * 2
Config Lcdbus = 4

Do
Cls


Loop

Ist ein Atmega32 und die Verkabelung stimmt 100%tig


hab ich was vergessen?

von Ralli (Gast)


Lesenswert?

Oweh, beim dem Durcheinander von
Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.0 , Db7 = Portc.1

würde es mir schwerfallen, die richtigen Init-Kommandos abzusenden.

Kannst du das nicht "begradigen", z.B.

DB7 an PortC-3
DB6 an PortC-2
DB5 an PortC-1
DB4 an PortC-0

Zumindest Halb-Byte-weise bliebe dann doch alles überschaubar...

von Nette M. (nette-mann)


Lesenswert?

wird immer in eine Zeile geschrieben. So ist das nunmal bei Basic

von Ralli (Gast)


Lesenswert?

Hm, BASIC wird ja traditionell als Spaghetti-Code-Sprache 
herabgewürdigt.

Aber selbst in BASIC wäre es mir angenehmer, wenn die Port-Bits des µC
in ihrer Reihenfolge mit den Input-Bits des LCD-Controllers 
korrespondieren
würden. Ein paar Shift-Operationen sind ja flott programmiert, aber
unnütze Verwürfelungen führen fix zu Fehlern.

Wenn es denn in BASIC in einer Zeile stehen muss, hätte ich also die
Zuordnung wenigstens folgendermaßen gewählt:

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

ENABLE und RS müssen einzeln behandelt werden, da ist es egal,
in welchem Bit welchen Ports die stehen. Aber wenn die Reihenfolge der
Daten-Bits verwürfelt ist, ist auch schnell der INIT-Code falsch.

So ist das nunmal bei Menschen ;-)

von Nette M. (nette-mann)


Lesenswert?

der code funktioniert mit nem HD44780 ohne probleme nur nicht an dem 
LC7985

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.