Hallo,
ich bin jetzt schon zwei Tage am probieren das Display zum laufen zu
bekommen, hatte aber bis jetzt kein Erfolg. Es tut sich gar nichts
werder ein Cursor blink noch ein Buchstabe erscheint.
Habe das Display an einem AVR mega8 hängen PortD(4 Bit modus), (D0 - D3
-> Data) und D4-> Enable D5->R/W. Es passiert nichts wenn ich das
display wie im Tutorial beschrieben initialisiere, auch nicht wenn ich
die hier im Forum modifizierte Variante(laut Datenblatt) verwende.
Wäre schön wenn mir jemand helfen könnte, gibt es eine Möglichkeit zu
Testen ob das Display überhaupt funktioniert?
Bei den meisten Character Displays erscheint nach anlegen der
Speisespannungen eine Zeile dunkler und die anderen hell, solange es
noch nicht initialisiert wurde.
Falls das bei Dir der Fall ist, dann wäre die Speisung und
Kontrastspannung schon mal ok.
Falls es nicht der Fall ist, dann sagt es nicht viel aus....
Die Versorgungsspannungen sind alle Ok dh. wenn ich den Kontrast ganz
hoch mache ist das ganze Display voll mit weißen Rechtecken, also alle
Pixel sind an.
Habe die ganze Schaltung auf einem Steckbrett (sollte aber kein Problem
sein is ja nicht gerade HF)
Der Kontroller ist : KS0073, ist das Blau/Weiße Display von Reichelt
Initialisiert habe ich das Display wie es im Datenblatt beschrieben ist
nur habe ich den 4 Bit Modus aktiviert
der Initialisierungscode ist :
ldi lcdCommand, 0b00110100 ; function Set
rcall send_command
ldi lcdCommand, 0b00001001 ; 4 zeilen Modus
rcall send_command
ldi lcdCommand, 0b00110000 ; 4 bit datenlänge
rcall send_command
ldi lcdCommand, 0b00001111 ; display ein, cursor ein cursor blink
rcall send_command
ldi lcdCommand, 0b00000001 ; clear display
rcall send_command
ldi lcdCommand, 0b00000110 ; Cursor auto increment
rcall send_command
send_command:
mov temp1, lcdCommand
swap temp1
andi temp1, 0b00001111
out PORTD, temp1
rcall lcd_enable
andi lcdCommand, 0b00001111
out PORTD, temp2
rcall lcd_enable
rcall delay
ret
nach jedem send_command warte ich ca. 200 ms
Hallo,
versuch doch einfach mal ein c-programm aus der codesammlung aus. Da
gibt es auch eins mit 4Bit-Modus. Oder die Lib von Peter Fleury.
Übrigens: Im SPI Modus funktioniert das Display auch sehr schön.
Habe es mit C versuch, aus der Codesammlung mit folgenden Parametern in
der Headerdatei lcd.h habe 7,3728 Mhz:
#define XTAL 7372800
#define LCD_PORT PORTD /**< port for the LCD lines */
und aufgrufen habe ich :
int main(void)
{
lcd_init(LCD_DISP_ON_CURSOR_BLINK);
lcd_clrscr();
lcd_putc('T');
while(1)
;
}
geht aber auch nicht, das Display zuckt kein bisschen, habe auch alle
Verbindungen überprüft auch an den Lötstellen der Pins, im Display
alles OK. an was könnte es noch liegen???
Ehmmmm Hallo,
hieß es eigentlich nicht dass man die oberen vier Bit(DB4-7)für 4-Bit
Interface benutzen sollte, und die unteren(DB0-3) gegen ground
schalten?
Hallo habe ein neues Display besorgt, aber das geht auch nicht! Ich
keine Ahnung an was es liegen könnte, habe im header alle pins
angepasst nur. habe auch schon die befehle in je 4bit unterteilt und
ans display geschickt, muß ich nach jedem nibbel(msb) eine gewisse zeit
warten bis das lsb geschickt werden kann?
Hallo,
habe gerade mal ins Datenblatt geschaut:
PowerOn
min. 20ms warten
0010 ausgeben
Ich hatte mit einem anderen Controller mal das Problem, daß er den
4Bit-Mode erst beim 2.Mal akzeptierte,
Bits 0-3 sollten am Masse, einige Display haben sonst Probleme
min. 39µs warten
0010 ausgeben
N0xx ausgeben B Anzahl Zeilen 0 - Eine, 1 - Zwei
min. 39µs warten
0000 ausgeben
1DCB ausgeben D Display On/Off, C Cursor On/Off, B Blink On/Off
min 39µs warten
usw.
Die Pausen beim PowerOn-Init habe ich meist länger als angegeben
gemacht, man initialisiert den Kram ja nur einmal...
Gruß aus Berlin
Michael
es geht jetzt habe im datenblatt was falsch gelesen, der rest pin muß an
5V und nicht wie ich dachte an gnd, trotzdem danke an alle die mir
geantwortet haben
sers,
hab das gleiche problem, hatte bis jetzt den reset pin gar net
verbunden, da bin ich jetzt mal gespannt ob es klappt wenn ich den an 5V
leg, wenn ja dann danke