Forum: Mikrocontroller und Digitale Elektronik LCD AV0820 Ansteuerung nicht möglich, nur flimmernde Kästchen


von Simon (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich versuche mit dem angepassten Code von 
http://www.mikrocontroller.net/articles/Erweiterte_LCD-Ansteuerung
mein LCD (AV0820) im 4 bit-Modus anzusteuern.
Auf dem Display ist aber nur zu sehen, wie alle Zeichenfelder der oberen 
Reihe sich schnell flimmernd auf und ab bauen.

Meine Anpassungen im Code sind folgende: Ändern der 4-bit Datenleitungen 
auf PC4 bis PC7.
Steuerleitungen enable und reset auf PD3 und PD4.

In der Simulation von AVRStudio kann ich sehen, wie sich die Bits der 
Ports verändern. Flankenwechsel kann ich bei allen messen, bis auf PC6 
und PC7 die bleiben immer auf GND. Ich kann nicht herausfinden warum, 
der Port lässt sich mit PORTD = 0bxxxxxxxx vollständig ansteuern.

Von den Fuses sind nur SPIEN und BODEN an.

von Krapao (Gast)


Lesenswert?

Deine LCD-Library setzt ürsprünglich voraus, dass alle Pins für das LCD 
auf einem Port liegen. Das ist bei dir nicht der Fall

>//  LCD RS      <-->  PORTC Bit PC4     (RS: 0=Data, 1=Command)
>#define LCD_RS        PA4
>
>//  LCD EN      <-->  PORTC Bit PC5     (EN: 1-Impuls für Daten)
>#define LCD_EN        PD3

Du hast für die Enable-Leitung zwar die lcd_enable() angepasst, aber in 
der

>void lcd_init( void ) {
>    // verwendete Pins auf Ausgang schalten
>    uint8_t pins = (0x0F << LCD_DB) |   // 4 Datenleitungen
>                   (1<<LCD_RS) |        // R/S Leitung
>                   (1<<LCD_EN);         // Enable Leitung

und an den Stellen an denen LCD_RS eine Rolle spielt, hast du 
Anpassungen vergessen.

von moony (Gast)


Lesenswert?

Hallo,

danke erst mal für die schnelle Antwort. Ich habe überall wo EN und RS 
benutzt sind, den Port angepasst. In der Init auf Ausgang schalten ist 
nicht nötig, da ich das schon an anderer Stelle gemacht habe.
Seit heute erscheint nur ein schwarzer Balken, obwohl ich meinen Code 
noch gar nicht geändert hatte. Und mit den neuen Änderungen auch nichts 
anderes. Ich werde mal eine andere Library versuchen.

von moony (Gast)


Lesenswert?

also wenn jemand schonmal ein KS0066-Display erfolgreich angesteuert 
hat, sagt mir bitte, mit welcher library oder welche ihr empfehlen 
würdet.
Da meine Hardware schon fertig ist, wäre es auch gut, die 
Steuerleitungen wären auf einem anderen Port als der Datenbus.

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.