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?
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...
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 ;-)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.