lc7985 intialisieren

OP #1548379
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?
Gast #1548394
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...
Gast #1549217
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 ;-)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren