Was für einen Kondensator hast du an Vlcd?
Warum ?
Tja,ich würde mal haarscharf kombinieren das eine Softemulation nicht so leistungsfähig sein kann wie Hardware.
Da fällt einiges unterm Tisch.
Beim Softwareuart das gleiche.
Kein Puffer
Gruß
Ratber
Was für einen Kondensator hast du an Vlcd?
der einzige kondensator den ich dran hab ist nen 1µf-elko zwischen gnd und Vout am display. ich habs allerdings auch mit nem 1µf-folienkondensator versucht. ich werd mal ne schnittstelle für hardware-spi löten und es dann nochmal testen.
-> MEIN PROJEKTBLOG <-
ok, hab das ganze an den SCK und MOSI meines atmegas angeschlossen, den code entsprechend wieder geändert und siehe da: gleiches ergebnis... auch mit beiden kondensatoren getestet
-> MEIN PROJEKTBLOG <-
Probier mal ein 10µF Elko. Irgendwo habe ich gelesen man kann 1µF bis 10µF benutzen.
Ich hatte das Display mal am PC. Da flackerte es auch. Jetzt am Mega16 und Hard-SPI ist es normal.
Z.Zt. läuft es mit 8MHz und Prescaler 4, sollte aber rechnerisch mit dem Vorteiler auch bei 16MHz laufen.
Der Code von dir kommt mir auch bekannt vor. Selbst damit ging es bei mir. Sonst hätte es ja evtl noch eine Einstellung sein können.
Kurz gesagt, außer anderen Elko fällt mir nichts ein
also ich hab jetzt nen 1er, nen 10er und nen 2,2er getestet. mit dem gleichen ergebnis. Programmer abgesteckt hab ich auch versucht...
-> MEIN PROJEKTBLOG <-
Es sieht so aus, als ob die die 3,3V mit Spannungsteiler erzeugst?!
Der LPT liefert ja auch keine 3,3V sondern mehr. Ich weiss nicht, wie es mit LCDHype lief. Vielleicht war der Ausgang getaktet und erzeugte nicht an allen Pins die gleiche Spannung und flackerte deshalb bei mir?
Ich habe es am Mega16 zuerst mit Spannungsteiler mit Festwiderständen probiert. Aber die Spannung war auch immer unterschiedlich. Damit lief das Display absolut nicht. Nur beim flashen wenn das LCD auch am ISP mit dran war, konnte man ab und zu ein paar Zeichen oder Bilder erkennen, die mich vermuten lassen haben, das das Display zwar meistens was empfangen hat, aber nur nicht angezeigt hat.
Dann habe ich den Mega16 (nicht L) mit 3,3V betrieben und das Display direkt an den Ports angeschlossen. Dann ging's.
Aber mit viel weniger Spannung läuft der AVR nicht.
Hallihallo...
Ich habe ein altes Nokia 5210 rumliegen gehabt, da dachte ich mir... das display passt gut in den PC zur Überwachung und Steuerung meiner WaKü.
Hab mir code aus Beispielen übernommen und es läuft auch irgendwie.
Nur scheinen die Kommandos nicht richtig zu funktionieren, wie z.b. RAM adresse auf NULL, oder invertieren des Displays.
ich benutze nen Mega16 an 5V, das Display LPH7366 (NOKIA 5210) mit integriertem Controller PCD8544 an 2,9V
Angesprochen wird das Display mit hard-SPI
Im Programm soll ersteinmal das LCD getestet werden und dann an erster Stelle ein Rechteck blinken.
Der Test klappt auch, aber das Rechteck wandert auf dem Bildschirm immer Zeichen für Zeichen weiter.
Hat jemand vielleicht eine Idee, woran das liegen könnte?
Hab noch nicht so die Erfahrung mit der Materie...
Danke schonmal, wäre gut, wenn jemand nen Gedanken dazu hätte...Code:$regfile = "m16def.dat" $crystal = 12000000 Config Portb = Output Declare Sub Ukommando(byval Wert As Byte) Declare Sub Udata(byval Wert As Byte) Declare Sub Initialisierung Declare Sub Lcdloeschen Declare Sub Lcdtest Declare Sub Invert Dim Xx As Byte Config Spi = Hard , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 4 Dc Alias Portb.0 Ce Alias Portb.2 Re Alias Portb.1 Re = 0 'Reset Waitus 250 Re = 1 Spiinit Weiter: Initialisierung Lcdloeschen Lcdtest 'Initialisierung Do Lcdloeschen Waitms 500 Udata &B11111111 Udata &B10000001 Udata &B10000001 Udata &B10000001 Udata &B11111111 Udata &B00000000 Waitms 500 Loop Sub Invert Ukommando &H21 'Erweiterter Kommando-Mode Ukommando &HC8 Ukommando &H06 Ukommando &H13 Ukommando &H0D Ukommando &H20 'Wieder in den normalen Kommando-Mode Ukommando &H21 Ukommando &H0D Ukommando &H20 End Sub Sub Lcdtest Lcdloeschen For Xx = 1 To 84 Udata &B11111111 Udata &B11111111 Udata &B11111111 Udata &B11111111 Udata &B11111111 Udata &B11111111 Next Waitms 500 Ukommando &H24 Waitms 500 Ukommando &H20 Invert Waitms 500 Lcdloeschen End Sub Sub Initialisierung Ukommando &H21 'Erweiterter Kommando-Mode Ukommando &HC8 Ukommando &H06 Ukommando &H13 Ukommando &H20 'Wieder in den normalen Kommando-Mode Ukommando &H0C End Sub Sub Lcdloeschen Local I As Word Ukommando &H0C 'Normaler Bildschirm Ukommando &H80 Ukommando &H21 'Erweiterter Kommando-Mode 'Ukommando &H80 'Setze RAM-Adresse auf 0 Ukommando &H20 'Normaler Kommando-Mode Ukommando &H0C 'Normaler Bildschirm Ukommando &H80 'Setze RAM-Adresse auf 0 Dc = 1 'Sicherstellen, dass man im Daten-Mode ist For I = 0 To 503 Udata &H00 Next Ukommando &H0C 'Normaler Bildschirm Ukommando &H80 'RAM auf adresse 0 End Sub '------------------------------------------------------------------------------ Sub Ukommando(byval Wert As Byte) Dc = 0 'in den Kommando-Mode Spiout Wert , 1 Dc = 1 'zurück in den Daten-Mode End Sub Sub Udata(byval Wert As Byte) Dc = 1 'um sicher zu gehen, dass man auch wirklich im Datenmode ist Ce = 0 Spiout Wert , 1 Ce = 1 End Sub
Stefan
Hallo zusammen,
das Thema ist zwar schon etwas älter aber vielleicht haben ja noch andere ein Problem bei der Inbetriebnahme?
Ich habe mein Display an einen Mega 8 angeschlossen und das Programm on http://www.mkprojekt.de/index.php/content/view/2/2/ aufgespielt.
Das Display zuckt kurz wenn ich Spannung anlege oder wegnehme. Ich bin mir bei den Widerständen etwas unsicher da zu diesen keine Werte ngegeben waren.Code:$regfile = "m8def.dat" $crystal = 4000000 Config Portc = Output Declare Sub Ukommando(byval Wert As Byte) Declare Sub Udata(byval Wert As Byte) Declare Sub Initialisierung Declare Sub Lcdloeschen Config Spi = Hard , Data Order = Msb , Master = Yes , Polarity = Low , Phase = 0 , Clockrate = 4 Dc Alias Portc.0 Ce Alias Portc.5 Re Alias Portc.2 Re = 0 'Reset Waitus 250 Re = 1 Spiinit 'Initialisierung der SPI-Schnittstelle Do Portc.4 = 1 Initialisierung Lcdloeschen Udata &H7F Udata &H02 Udata &H04 Udata &H02 Udata &H7F Udata &H00 Portc.4 = 0 Wait 2 Loop Sub Initialisierung Ukommando &H21 'Erweiterter Kommando-Mode Ukommando &HC8 Ukommando &H06 Ukommando &H13 Ukommando &H20 'Wieder in den normalen Kommando-Mode Ukommando &H0C End Sub Sub Lcdloeschen Local I As Word Ukommando &H20 'Normaler Kommando-Mode Ukommando &H0C 'Normaler Bildschirm Ukommando &H80 'Setze RAM-Adresse auf 0 Dc = 1 'Sicherstellen, dass man im Daten-Mode ist For I = 0 To 503 Udata &H00 Next End Sub '------------------------------------------------------------------------------ Sub Ukommando(byval Wert As Byte) Dc = 0 'in den Kommando-Mode Spiout Wert , 1 Dc = 1 'zurück in den Daten-Mode End Sub Sub Udata(byval Wert As Byte) Dc = 1 'um sicher zu gehen, dass man auch wirklich im Datenmode ist Ce = 0 Spiout Wert , 1 Ce = 1 End Sub
Hat jemand ne Idee wie es richtig sein muss?
Tobias
probiers mal mit 1k Wiederständen
Lesezeichen