Forum: Mikrocontroller und Digitale Elektronik EA DOG-M 163; SPI; Initialisierung & Kontrast


von Markus Z. (markus_z)


Lesenswert?

Hallo Leute,

Im Zuge einer Diplomarbeit bauen wir gerade ein Board mit dem EA DOG-M 
163 Display.

Betrieben wird es im SPI mit 3,3 Volt.

Ich habe hier den Code für die Initialisierung:

1
// Startup timing according to datasheet recommendation
2
send_instSPI(0x38);    // FUNCTION SET: N, DH, IS2, IS1:   2/3 lines, 5x8 Font, instruct. table 0,0;  #### 1 line: 0x30
3
waitms (40);          // wait
4
5
send_instSPI(0x39);    // FUNCTION SET: N, DH, IS2, IS1:   2/3 lines, 5x8 Font, instruct. table 0,1;  #### 1 line: 0x31
6
waitms (10);          // wait
7
8
send_instSPI(0x14);    // BIAS SET:  14 (2x16?) statt (1d 3x16?) 3 line displays: D4=1,  1 ans 2 line displays: D4=0
9
waitms (10);          // wait                     
10
11
send_instSPI(0x55);     // COMMAND: POWER/ICON/CONTROL/CONTRAST SET:      ION, BON, C5, C4
12
waitms (10);          // wait
13
14
send_instSPI(0x6D);     // FOLLOWER CONTROL
15
waitms (10);         // wait
16
17
// send_instSPI(0x78);     // CONTRAST SET ( low nibble )
18
send_instSPI(0x78);     // Humer
19
waitms (10);          // wait
20
21
send_instSPI(0x0E);       // Display ON/OFF
22
//send_instSPI(0x0F);       // Display ON/OFF
23
busy_lcd ();         // Wait for ready
24
25
send_instSPI(0x01);     // Clear Display
26
busy_lcd ();        // Wait for ready
27
28
send_instSPI(0x06);     // Entry mode set
29
busy_lcd ();         // Wait for ready   
30
31
send_instSPI(0x38);      // FUNCTION SET: N, DH, IS2, IS1:   2/3 lines, 5x8 Font, instruct. table 0,0;  #### 1 line: 0x30
32
busy_lcd ();         // Wait for ready

Dieser funktionier auch anscheinend soweit, dass ich etwas aufs Board 
schreiben kann. Jedoch ist es komplett "schwarz" und nur wenn man unter 
einem steilen Winkel draufsieht kann man durch die schwarzen Balken das 
Wort sehen.

Hier ein Bild wie es aussieht:
http://s7.directupload.net/images/120413/88g53yde.jpg

Jetzt hab ich schon ewig lang mit den Contrast Settings auch rumgespielt 
und ich kriegs einfach nicht hin.

Vielleicht seht ihr ja einen Fehler in der Initialisierung?

von spess53 (Gast)


Lesenswert?

Hi

Ist das auch ein Display, das man ohne Beleuchtung verwenden kann?

MfG Spess

von Markus Z. (markus_z)


Lesenswert?

spess53 schrieb:
> Hi
>
> Ist das auch ein Display, das man ohne Beleuchtung verwenden kann?
>
> MfG Spess

Ja das von mir verwendete Display (genaue Bezeichnung: DOGM 163L-A) ist 
ohne Hintergrundbeleuchtung und mit 3 Zeilen.

Lg

von Dirk (Gast)


Lesenswert?

Hier gibt es eine funktionierende Lib (C-Sourcecode) für EA DOG LCDs. 
Die ist für PICs, der C Code ist aber selbsterklärend und leicht auf 
andere Controller portierbar:

http://www.mculabs.com/drivers/eadogm.html

von Markus Z. (markus_z)


Lesenswert?

Habe nun auch die Werte für die Initialisierung in meinem Programm 
probiert und es ergibt wieder das gleiche. Versuche jetzt noch den 
gesamten Code für meinen µC zu adaptieren.

Danke für den Tipp!

Falls sonst noch wer Ideen hat bitte melden.

LG

von Chris (Gast)


Lesenswert?

http://www.lcd-module.de/eng/pdf/doma/dog-me.pdf
Hab es mir nicht im Detail angeschaut, aber deine Werte bzw. deren 
Reihenfolge weicht von den Werten auf S. 7 ab. Halte Dich doch zuerst 
einmal weitestgehend daran (insebesondere an die Reihenfolge).

von Olaf (Gast)


Lesenswert?

> Falls sonst noch wer Ideen hat bitte melden.

Ich habe selbst noch letzte Woche ein 3x16Zeichen ueber SPI in Betrieb 
genommen. Und ich musste auch nicht irgendwelchen fremden Code 
abschreiben. Einfach die Initialisierung aus dem Handbuch und es hat 
funktioniert.

Wenn das bei dir nicht so ist dann hast du entweder das Datenblatt nicht 
richtig gelesen. (Unterschiedliche Beschaltung 5V/3.3V) oder dein 
Display ist wirklich defekt. Man koennte ja auch mal auf die Idee kommen 
die SPannungen an Vcc, Booster in/out nachzumessen. .-)

Das einzige was ich an dem Display ein wenig aergerlich finde, das der 
Hersteller zu bloed war den MOD-Pin fuer den I2C-Bus rauszulegen.

Olaf

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.