Forum: Mikrocontroller und Digitale Elektronik LCD -- BTHQ24064 mit S1D10605 Controller


von Thomas (Gast)


Lesenswert?

Hallo,
möchte das genannte Display über eine Digitale IO 3.0V Karte ansteuern.
Der Epson Controller muss auf diesem Display Seriell angesteuert werden.
In meinem Beispiel möchte ich ganz Simpel alle Points des LCD 
aufleuchten lassen.
Doch leider keine Reaktion des Displays!!!!
Schaut Euch bitte meinen Code an. Zu Beginn wird "BUTTON DISPLAY TEST" 
aufgerufen!!!

Ich wäre jedem sehr dankbar, der mir Tips zu meinem Problem gibt.

Hier die passenden Datenblätter des Display und des Controllers:

http://www.data-modul.com/us/product_news/pdf/S1D10605_606_607_608_609_MF1323-06.pdf
http://www.farnell.com/datasheets/47142.pdf

Danke Mfg Thomas

von ARM-Fan (Gast)


Lesenswert?

Anhang fehlt.

von Thomas (Gast)


Angehängte Dateien:

Lesenswert?

Sorry, hoffe diesmal ist er dabei!
MfG Thomas

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

Du musst das Display richtig initialisieren. Schau dir mal meinen Code 
an:
Beitrag "Re: SPI Display"

Gruß
Andreas

von Thomas (Gast)


Lesenswert?

Hallo Andreas,

schon mal danke für Deine Hilfe.
Ich schau mir den Code gleich mal an.

Hast du auch mit dem "Batron BTHQ 240064" Display gearbeitet?
Und dieses dann auch Seriell angesteuert?

Gruß Thomas

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

> Hast du auch mit dem "Batron BTHQ 240064" Display gearbeitet?
Ja, ich habe das gleiche LCD.

Gruß
Andreas


PS: Falls Du noch welche brauchst: 
Beitrag "Verkaufe Grafik-LCD"

von Thomas (Gast)


Lesenswert?

Ich kämpfe mich gerade durch Deinen Quellcode. Danke nochmal!
Blicke soweit auch ganz gut durch. Eine Frage ist jedoch aufgetreten.
Die 8 Bits jedes COMMANDs werden ja nacheinander übertragen.
Werde nur aus Deiner Funktion lcd_spi_write nicht ganz schlau. Wie 
frägst du ab, dass das einzelne Bit richtig übertragen wurde.

Dachte ich muss nacheinader je ein Bit setzen und das durch den Clock 
übernehemen. (bei D7 angefangen).
Danach den nächsten COMMAND bis die Ini Routine durch ist.

Oder liege ich falsch?

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

Der Quellcode ist für einen AVR mit Hardware-SPI geschrieben. Man kann 
das natürlich auch in Software machen:
1
void lcd_spi_write(UINT8 c)
2
{
3
  UINT8 mask;
4
5
  for(mask=0x80; mask!=0; mask>>=1)
6
  {
7
    if(mask&c)
8
    {
9
      LCD_MOSI = 1;
10
    }
11
    else
12
    {
13
      LCD_MOSI = 0;
14
    }
15
    LCD_CLK = 1;
16
    LCD_CLK = 0;
17
  }
18
19
  return;
20
}

  

von Thomas (Gast)


Lesenswert?

Wollte Dir gerade mal schreiben!
Ist Deine E-Mail Ad. wirklich so richtig?

a_watterott__AT__yahoo.de

Sie funktioniert bei mir nämlich nicht!

Gruß Thomas

von Andreas W. (andreasw) Benutzerseite


Lesenswert?

Japp, nur das "__AT__" durch "@" ersetzen.

von Sascha Linz (Gast)


Lesenswert?

Hallo,

ihr scheint ja schon erfolgreich mit diesen Displays zu arbeiten. ich 
habe da ein problem, und zwar, wie muß man die kondensatoranschlüsse 
beschalten ???

kann mir da evtl. jemand weiterhelfen ???

gruß,
sascha

von Andreas W. (andreasw) Benutzerseite


Angehängte Dateien:

Lesenswert?

Schau dir mal den Schaltplan im Anhang an.

Gruß
Andreas

von Sascha Linz (Gast)



Lesenswert?

Hallo,

erstmal vielen Dank, hoffe, daß es auf dieses Display übertragbar ist. 
Eigentlich müßte der Hersteller des LCD-Moduls doch angeben, was da wie 
angeschlossen werden muß, da es laut Kontrollerdatenblatt von der Größe 
des Displays abhängig sein soll, also Displayspezifisch, je nach größe 
unterschiedlich .... traurig, daß es nicht in den Displayspezifischen 
Datenblättern steht ..., wo sind eigentlich die Werte aus obigen 
Schaltplan her ?


Gruß,
Sascha

von Andreas H. (heilinger)


Lesenswert?

Hallo,

dieser Thread ist zwar nen alter Schinken, jedoch habe ich auch einige 
Fragen bezüglich des Displays, da ich im Netz dazu kaum etwas finde:

Ich nehme an, dass ich die Init-Sequenz für beide Chips machen muss?!

Leider tut sich bei mir nichts. Am Oszi kann ich jedoch erkennen, dass 
ich die richtigen Daten schicke.

Meine Init-Sequenz:
1
PORTA |= (1<<PA0); //für ersten Chip
2
PORTA &= ~(1<<PA1);
3
0xE2 //Reset
4
0xAE //Display off
5
0xA1 //set adc
6
0xC0 //comout
7
0xA6 //display normal
8
0xA4 //all dots off
9
0x24 //res  ratio
10
0xA2 //lcd bias
11
0x2F //power circuits
12
0x81 //electronic volume
13
0x2B //electronic volume value
14
0x40 //start line
15
0xAF //display on

Findet da jemand einen Fehler, ich vermute, dass meine Init-Sequenz 
nicht ganz korrekt ist.

und dann schicke ich: 0xF0
1
LCD_send_data(0xF0);
2
3
void LCD_send_data(char data)
4
{
5
  PORTB |= (1<<PB1);  //LCD-A0 auf high (Daten senden)
6
  SPDR = data;
7
  /* Wait for transmission complete */
8
  while(!(SPSR & (1<<SPIF)))
9
  ;
10
}

Auf dem Display ist leider nichts zu erkennen. Wie schnell kann denn 
überhaupt der Mikrocontroller vom Display Daten per SPI-Schnittstelle 
aufnehmen?

Und kann mir einer mal due Funktionen der Ports V1-V5 erklären? Ich habs 
wie in der Schaltung weiter oben auch einfach alles über nen 
100n-Kondensator gegen VDD geschaltet.

Kann ich eigentlich irgendwo die VLCD messen?

von Andreas (Gast)


Lesenswert?

Wie siehts mit folgendem Code aus:
Beitrag "Re: SPI Display"

von Andreas H. (heilinger)


Lesenswert?

den habe ich auch schon getestet. Er unterscheidet sich auch nur 
unwesentlich von meinem, ich habe nur 2 Zwischenbefehle...

von Andreas H. (heilinger)


Lesenswert?

hast du das Display zufälligerweise noch angeschlossen?

Kannst du mal nachmessen, welche Spannungen an den Pins 9 - 19 anliegen.

Bei mir
9: Vout = -2,86V
10: Cap3- = -2,86V
11: Cap1+ = 1,78V
12: Cap1- = -0,01V
13: Cap2- = -1,52V
14: Cap2+ = 1,68V
15: V1 = 2,55V
16: V2 = 1,67V
17: V3 = -1,39V
18: V4 = -2,3V
19: V5 = -2,8V

Oder hat jemand nen komplettes Code-File für nen AVR, den ich grade mal 
aufspielen kann, um zu testen, ob das Display nicht defekt ist?

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.