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
Du musst das Display richtig initialisieren. Schau dir mal meinen Code an: Beitrag "Re: SPI Display" Gruß Andreas
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
> 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"
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?
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 | }
|
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
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
Schau dir mal den Schaltplan im Anhang an. Gruß Andreas
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
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?
den habe ich auch schon getestet. Er unterscheidet sich auch nur unwesentlich von meinem, ich habe nur 2 Zwischenbefehle...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.