www.mikrocontroller.net

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


Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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/S1D1...
http://www.farnell.com/datasheets/47142.pdf

Danke Mfg Thomas

Autor: ARM-Fan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Anhang fehlt.

Autor: Thomas (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Sorry, hoffe diesmal ist er dabei!
MfG Thomas

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

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

Gruß
Andreas

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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"

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Quellcode ist für einen AVR mit Hardware-SPI geschrieben. Man kann 
das natürlich auch in Software machen:
void lcd_spi_write(UINT8 c)
{
  UINT8 mask;

  for(mask=0x80; mask!=0; mask>>=1)
  {
    if(mask&c)
    {
      LCD_MOSI = 1;
    }
    else
    {
      LCD_MOSI = 0;
    }
    LCD_CLK = 1;
    LCD_CLK = 0;
  }

  return;
}

  

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Japp, nur das "__AT__" durch "@" ersetzen.

Autor: Sascha Linz (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Schau dir mal den Schaltplan im Anhang an.

Gruß
Andreas

Autor: Sascha Linz (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: Andreas H. (heilinger)
Datum:

Bewertung
0 lesenswert
nicht 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:
PORTA |= (1<<PA0); //für ersten Chip
PORTA &= ~(1<<PA1);
0xE2 //Reset
0xAE //Display off
0xA1 //set adc
0xC0 //comout
0xA6 //display normal
0xA4 //all dots off
0x24 //res  ratio
0xA2 //lcd bias
0x2F //power circuits
0x81 //electronic volume
0x2B //electronic volume value
0x40 //start line
0xAF //display on

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

und dann schicke ich: 0xF0
LCD_send_data(0xF0);

void LCD_send_data(char data)
{
  PORTB |= (1<<PB1);  //LCD-A0 auf high (Daten senden)
  SPDR = data;
  /* Wait for transmission complete */
  while(!(SPSR & (1<<SPIF)))
  ;
}

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?

Autor: Andreas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie siehts mit folgendem Code aus:
Beitrag "Re: SPI Display"

Autor: Andreas H. (heilinger)
Datum:

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

Autor: Andreas H. (heilinger)
Datum:

Bewertung
0 lesenswert
nicht 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?

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.