Probleme mit LCD Modul 4x20 Zeichen KS0073

Gast #407523
Lesenswert?

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?
Gast #407527
Lesenswert?

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....
Gast #407529
Lesenswert?

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
Gast #407530
Lesenswert?

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.
Gast #407531
Lesenswert?

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???
Gast #407535
Lesenswert?

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?
Gast #407536
Lesenswert?

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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren