PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [ERLEDIGT] LCD falsche Buchstaben



Sp666dy
03.02.2012, 20:27
Guten Tag,

Also ich habe heut mein erstes LC Display versucht anzusteuern und habe mich am AVR Tutorial gehalten.

Mein Problem ist, das einfach ganz andere Buchstaben kommen....

Ich habe im Tutorial gelesen das ich die Optimierung richtig einstellen soll, so die delay's stimmen...

Habe alleine Einstellungen versucht, dadrunter kann mann eine manuelle Einstellung einstellen... gibt es eine bestimmte???

Benutze den RN-Control und habe bis jetzt nur das Tutorial kopiert, was sollte man sonst falsch machen??

Danke

masasibe
03.02.2012, 21:13
Hallo Sp666dy,

Poste doch mal deine genauen Programmcode!
Hast du das Ganze in Bascom geschrieben?

Und lade auch mal deine genaue Anschlussbelegung
des Displays an den AVR hoch.
Bist du sicher, dass du nicht die Datenleitungen vertauscht hast,
dann wäre es klar, warum das Display falsche Buchstaben anzeigt!
;-)

mfg masasibe

Sp666dy
03.02.2012, 21:16
Genau so wie im Tutorial (http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung)

Und wenn ich das Programm resette kommen immer wieder andere Buchstaben ohne das Programm zu ändern.


Ich habe das auch wie im Tutorial in c geschrieben

Kampi
03.02.2012, 21:24
Zeig mal bitte deinen Code und eventuell ein Foto des "Fehlers"
Dann kann man das leichter nachprüfen.

PICture
03.02.2012, 21:33
Hallo!

Wenn bei gleichem Programm verschiedene Buchstaben erscheinen, dann ist meistens das Display zu schnell beschrieben. ;)

Sp666dy
03.02.2012, 21:49
gut das heißt???

[QUOTE]// // Anpassungen im makefile:
// ATMega8 => MCU=atmega8 im makefile einstellen
// lcd-routines.c in SRC = ... Zeile anhängen
//
#include <avr/io.h>
#include "lcd-routines.h"

int main(void)
{
// Initialisierung des LCD
// Nach der Initialisierung müssen auf dem LCD vorhandene schwarze Balken
// verschwunden sein
lcd_init();

// Text in einzelnen Zeichen ausgeben
lcd_data( 'T' );
lcd_data( 'e' );
lcd_data( 's' );
lcd_data( 't' );

// Die Ausgabemarke in die 2te Zeile setzen
lcd_setcursor( 0, 2 );

// erneut Text ausgeben, aber diesmal komfortabler als String
lcd_string("Hello World!");

while(1)
{
}

return 0;
}
/QUOTE]
die routines.c/.h sind auch rein kopiert wie im Tutorial.

Das Ergebniss:
21411

Kampi
03.02.2012, 21:52
Das sieht mir eher danach aus das das LCD nicht richtig angesteuert wird. Hast du mal die Verdrahtung überprüft? Und was ist das für ein LCD? Was sitzt da für ein LCD Controller drauf?

Sp666dy
03.02.2012, 22:00
Also das ist ein EA DIPS082 inkl. Kontroller KS0066 <= Hd 44780 kompatibel...

Ja habe gerade alle neue Anschlüsse neu gesteckt um sowas zu vermeiden und habe die lötpunkte nachgeprüft.

Als nach jedem reset Knopf kommen auch andere Buchstaben und wie im Tutorial beschrieben sollte die Optimierung richtig sein so die delays stimmen, mein problem ist eigentlich was heißt richtig so die delay stimmen, habe vom avr studio alle typen von der Optimierung ausprobiert und dadrunter steht ja manuelle Optimierung ... was müsste darein so die delay stimmen wie rechnet man so was aus...

Bumbum
04.02.2012, 12:35
Also wenns grob funktioniert, würde ich mal tippen, dass einfach zwei der Datenleitungen vertauscht sind?

Sp666dy
04.02.2012, 12:59
Das würde aber dann so sein, das bei jeden Neustart die Buchstaben an der
gleiche stelle sein würden oder?
Das mit der zeit wegen den Delay würde eher hin kommen... Nur bei jeder oOptimierung
gibt es kein anderes ergebniss...

Dazu muss ich sagen das ich auch zwei mal die Kabel neu gesteckt habe um nach zu kontrollieren
ob da ein Datenkabel falsch war...

robocat
04.02.2012, 13:31
// Hier die verwendete Taktfrequenz in Hz eintragen, wichtig!

#ifndef F_CPU
#define F_CPU 3686400
#endif
Hast du dort die richtige Taktfrequenz stehen?

KS0066 und Hd 44780 sind meines Wissens leicht unterschiedlich.

Ich würde es mal mit der LCD Library von Peter Fleury versuchen.

Grüße

Kampi
04.02.2012, 13:34
KS0066 und Hd 44780 sind meines Wissens leicht unterschiedlich.



Ja die sind unterschiedlich.
In den Datenblättern wird zwar angegeben, dass die Kompatibel sind aber ich hatte schon öfters das Problem das diese Controller doch nicht 100%ig Kompatibel sind.

Sp666dy
05.02.2012, 19:39
Ok wollt mich nur nochmal bedanken, es lag an den Controller und mit der lib von Peter ... ging alles wie am Schnürchen...
Auch wenn ich die andere lib übersichtlicher fand funkt es jetzt.

Danke nochmal und ein schönen Abend noch
Sp666dy