LCD Jedes Zeichen ein kästchen

Gast #786403
Lesenswert?
• ▲
▼
Hallo!

Ich habe in Display mit dem KS0066 Controller und wenn ich ein zeichen 
ausgebe kommt immer nur ein kästchen. Ich betreibe das ganze an einem 
Atmega8. Meine Vermutung ist ein fehler in der initialisierung. Kanns 
aber nicht bestimmt sagen.
Hatte jemand schonmal diesen fehler?
Gast #786615
Lesenswert?
• ▲
▼
hmmm,
hast du eine selbsgeschriebene Initialisierung des LCD's oder hast du 
sie runtergeladen??? Kontrollier noch mal genaustens die Anschlüsse das 
LCD zum uC. Könnte sein das eine Datenleitung oder so vertauscht ist, 
oder die Software noch auf die richtigen I/O Pins eingestellt werden 
muss.
Gast #786616
Lesenswert?
• ▲
▼
> Meine Vermutung ist ein fehler in der initialisierung. Kanns
aber nicht bestimmt sagen.

Kein Sourceocode. Ist die lustige Ratestunde zum Testen unsere 
Gedankenübertragungs-Kräfte hiermit eröffnet?
Gast #786626
Lesenswert?
• ▲
▼
1
powerupwait:
2
  rcall  delay5ms
3
  dec  temp3
4
  brne  powerupwait
5
  ldi  temp1,0b00000010  ; muss 2mal hintereinander gesendet
6
  out  LCD_PORT,temp1  ; werden zur Initialisierung
7
  rcall  lcd_enable  ; 1
8
  rcall  delay5ms
9
  rcall  lcd_enable  ; 2
10
  rcall  delay5ms
11
  ldi  temp1,0b00001100  ; n f einstellen
12
  out  LCD_PORT,temp1
13
  rcall  lcd_enable
14
  rcall  delay5ms
15
  rcall  delay5ms
16
  ldi  temp1,0b00110000  ; DCB einstellen
17
  rcall  lcd_command
18
  rcall  delay5ms
19

20
  ldi  temp1,0b00010000  ; display clear
21
  rcall  lcd_command
22
  ldi  temp1,0b01100000  ; inc und entrie shift
23
  rcall  lcd_command
24
  ret

Wenn ich die initialisierung so mache wie oben (nach datenblatt) dann 
kommt gar nix mehr. mit dem init aus dem tutorial kommen wie gesagt 
anstatt zeichen kästchen.
Gast #786712
Lesenswert?
• ▲
▼
Markus schrieb:
> ich verwende kein poti. Vss V0 und R/W liegen auf masse.

Guido Körber schrieb:
> Pack nen Poti rein und stell den Kontrast richtig ein.

So ist es. V0 muss meist in der Gegend von 1 V liegen, deutlich
darüber wird alles weiß, deutlich darunter alles schwarz.
Gast #786797
Lesenswert?
• ▲
▼
Bei meinem letzten Versuch, die LCD Routinen aus dem GCC Tutorial zu 
benutzen hatte ich das gleiche Problem. Konnte die Zeichen nur sehen, 
wenn ich mit dem Poti den Kontrast definiert einstellte und den Pin 
nicht direkt auf Masse legte. Da aber mit einem älteren 
Assembler-Programm alles korrekt funktionierte (ohne Kontrastregelung), 
war die Hardware in Ordnung.

Im Endeffekt musste ich dann in lcd_init nach den Zeilen:
1
   // 4 Bit Modus aktivieren 
2
   LCD_PORT &= 0xF0;
3
   LCD_PORT |= 0x02;
4
   lcd_enable();

noch ein
1
   _delay_ms(1);

einfügen. Danach ging es mit dem C-Programm auch ohne Kontrastregelung. 
(Habe danach das zusätzliche Delay im Tutorial eingefügt.)

Kann also durchaus an deiner Initialisierung liegen.

Gerhard
Gast #787029
Lesenswert?
• ▲
▼
Wenn die Spannung am Vo nicht stimmt ist es egal was man für Befehle an 
das Display schickt, es ist nichts zu sehen...

Grundzustand sollte sein, dass auf dem nicht initialisierten Display 
leicht graue Felder zu sehen sind, nicht satt schwarz.

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