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