www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik lc7985 intialisieren


Autor: Nette Mann (nette-mann)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Ralli (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Nette Mann (nette-mann)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wird immer in eine Zeile geschrieben. So ist das nunmal bei Basic

Autor: Ralli (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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 ;-)

Autor: Nette Mann (nette-mann)
Datum:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.