LCD Ansteuerung - Fehlersuche

OP #1304411
Lesenswert?

Moin !

Habe nun seit einiger Zeit versucht ein LCD Anzusteuern. Habe es auch 
durch probieren geschafft das die Initialisierung abschliesst aber dann 
nimmt es keine Daten an.
Das Display ist von CSD-Electronics "LCD 16 x 2 LED LoC Typ II" mit 
HD44780 Controller.
Datenblatt ist vorsorglich im Anhang.

Laut Datenblatt denke ich das ich alles richtig sende :/
Ich versuche das Display folgendermassen zu initialisieren :
1
Start
2
delay 15ms
3

4
Function Set
5
4 = 8bit mode
6
rs  rw  D7  D6  D5  D4  D3  D2  D1  D0
7
0  0  0  0  1  1  0  0  0  0
8

9
delay 5ms
10

11
Function Set
12
4 = 8bit mode
13
rs  rw  D7  D6  D5  D4  D3  D2  D1  D0
14
0  0  0  0  1  1  0  0  0  0
15

16
delay 100us
17

18
Function Set
19
4 = 8bit mode
20
rs  rw  D7  D6  D5  D4  D3  D2  D1  D0
21
0  0  0  0  1  1  0  0  0  0
22

23

24
Function Set
25
4 = 8bit mode
26
3 = 1 : 2 Line Display Mode
27
2 = 0 : 5x7 Font
28
rs  rw  D7  D6  D5  D4  D3  D2  D1  D0
29
0  0  0  0  1  1  1  0  0  0
30

31
Display off
32
rs  rw  D7  D6  D5  D4  D3  D2  D1  D0
33
0  0  0  0  0  0  1  0  0  0
34

35
Display clear
36
rs  rw  D7  D6  D5  D4  D3  D2  D1  D0
37
0  0  0  0  0  0  0  0  0  1
38

39
Entry Mode Set
40
0 = shiften
41
0 = decrement
42
rs  rw  D7  D6  D5  D4  D3  D2  D1  D0
43
0  0  0  0  0  0  0  1  0  0
44

45
Display on
46
rs  rw  D7  D6  D5  D4  D3  D2  D1  D0
47
0  0  0  0  0  0  1  1  1  0
48

49
Initialisierung beendet
50

51
Write Data : 'T'
52
rs  rw  D7  D6  D5  D4  D3  D2  D1  D0
53
1  0  0  1  0  1  0  1  0  0 
54

55
Write Data : 'e'
56
rs  rw  D7  D6  D5  D4  D3  D2  D1  D0
57
1  0  0  1  1  0  0  1  0  1 
58

59
Write Data : 's'
60
rs  rw  D7  D6  D5  D4  D3  D2  D1  D0
61
1  0  0  1  1  1  0  0  1  1
62

63
Write Data : 't'
64
rs  rw  D7  D6  D5  D4  D3  D2  D1  D0
65
1  0  0  1  1  1  0  1  0  0 
66

67
Senden der Daten
68
E = 1
69
delay 200us
70
E = 0

Sieht vielleicht jemand von euch den Fehler ?
Angehängte Dateien:
Gast #1304496
Lesenswert?

Die Initialisierung mache ich ähnlich, nur ein paar Details sind 
unterschiedlich, vielleicht liegt's daran:
1
Display off
2
rs  rw  D7  D6  D5  D4  D3  D2  D1  D0
3
0  0  0  0  0  0  1  0  0  0
4

5
Display clear
6
rs  rw  D7  D6  D5  D4  D3  D2  D1  D0
7
0  0  0  0  0  0  0  0  0  1
8

9
Entry Mode Set
10
0 = shiften
11
0 = decrement
12
rs  rw  D7  D6  D5  D4  D3  D2  D1  D0
13
0  0  0  0  0  0  0  1  0  0
14

15
Display on
16
rs  rw  D7  D6  D5  D4  D3  D2  D1  D0
17
0  0  0  0  0  0  1  1  1  0

Bei mir:
00001100 (Display on, Cursor off, no Crs-Blink)
00000001 (Display clear)
00000110 (Address increment, no shift)

Im Gegensatz zu Deiner Konfiguration wird bei mir der Cursor nicht 
eingeschaltet (unwichtig), aber Address Increment wird bei mir gesetzt - 
vielleicht liegt's daran.
OP #1304540
Lesenswert?

Erstmal danke für die antworten.
Mir geht es hier nur um darum ob ich die richtigen befehle zum display 
schicke.
Die Daten liegen an den korrekten Ports (nachgemessen)
Die Ports sind mit den korrekten Pins des Displays verbunden

Das habe ich wieder und wieder überprüft.

Ich werds aber heut abend nochmal überprüfen.

Mein Verdacht war das sich in die Abfolge zur initialisierung einfach 
ein Fehler geschlichen hat, deswegen hier nur der Ablauf und kein Code.
Code wird nachgereicht, der liegt eh grad daheim..
OP #1305185
Lesenswert?

So nun mit quellcode.

e ist an  PD5

RS ist an PD7
RW ist an  PD6

D7 ist an  PC3
D6 ist an  PC2
D5 ist an  PC1
D4 ist an  PC0


Die freien Datenleitungen sind mit 10k gegen masse geschaltet.

Wenn die Stromversorgung hergestellt wird zeigt das Display einen 
schwarzen Balken. Resette ich den Controller verschwindet er und beide 
Zeilen werden aktiviert (sieht man ja wenn man den kontrast komplett 
hochdreht)

Also zumindest bis zur auswahl der Zeilen scheint es zu funktionieren 
auch wenn beim ersten hochfahren wohl das timing spinnt.
Nur Ausgaben sehe ich nicht auf dem Display :/
Angehängte Dateien:

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