LCD Pollin-Addonboard

  • Hallo


    Ich will gerne das AVR-Tutorial mit dem LCD von mikrocontroller.net durcharbeiten, allerdings verweigert mir das LCD auf dem Pollinboard den Gehorsam. :cursing:
    Etwas Googlen ergibt, dass das Addonboard falsch beschriftet ist, was ich beim Nachprüefn allerdings nicht bestätigen kann.


    Da ja hier auch einige das Addonboard haben wollte ich mal fragen, ob ihr euer LCD zum Laufen gekriegt habt und wie....






    Ist der im Tutorial verwendete Code...;)
    http://www.mikrocontroller.net…R-Tutorial:_LCD#Anwendung

    Das Erfolgskonzept von Windows ist eine gelungene Mischung aus Marketing, Korruption, Kartellmißbrauch und der erfolgreichen Spekulation auf das Naturgesetz, daß Scheiße oben schwimmt.


    Auch aus Steinen, die einem in den Weg gelegt werden,
    kann man Schönes bauen.
    Johann Wolfgang von Goethe

  • kann man denn da die Anschlüsse umpatchen, also auf andere Pins legen....?


    bei mir (kein Pollin-Board, halt LCD einfach an den µC) hat das mit dem Code aus dem µC-Forum auch nicht so 100% hingehauen, ich habe mir dann daraus eigene LCD-Routinen gemacht, ich frage auch das "Busy"-Flag ab, damit ich nicht auf das Display warten muss... das ist aber mit "Notausstieg", also wenn die R/W-Leitung (die braucht man dazu, man muss ja vom Display lesen) nicht angeschlossen ist, dann geht's nach ner Wartezeit weiter, die SW hängt also nicht fest, wenn das Display nicht antwortet...


    kann mich auch so gaanz dunkel erinnern, dass meinem Display die Wartezeiten aus dem µC.net-Tutorial etwas zu kurz waren...


    hier mal anbei, vielleicht hilft's ja was - bei mir sind die 4 Datenleitungen das obere Nibble vom Port, die anderen "unten", das passt dann vom Layout her meist besser... steht in der SW drin, was wo angeschlossen gehört, R/W, Enable und RS kann man auch auf andere Pins legen...


    HW-mäßig passt aber alles....? - wenn das Display Strom bekommt, aber noch nicht initialisiert ist, müssen in der ersten Zeile schwarze Kästchen sein... evtl. stimmt ja auch da was nicht (Kontrast verstellt o.ä.?)

    Dateien

    • LCD-Routinen.zip

      (1,96 kB, 87 Mal heruntergeladen, zuletzt: )

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Hallo Pesi


    Ja, die Pins kann ich frei belegen per Drahtbrücke und Steckbuchse.
    Und in der ersten Reihe zeigt er mir auch schwarze Kästchen an, mit dem Kontrast stimmt es also zumindest.


    Deinen Code probier ich im Laufe des Tages aus...

    Das Erfolgskonzept von Windows ist eine gelungene Mischung aus Marketing, Korruption, Kartellmißbrauch und der erfolgreichen Spekulation auf das Naturgesetz, daß Scheiße oben schwimmt.


    Auch aus Steinen, die einem in den Weg gelegt werden,
    kann man Schönes bauen.
    Johann Wolfgang von Goethe

  • Meine Erfahrung,
    je billiger das LCD umso schlechter die Routinen im LCD.


    Generell Wartezeit nach init 100ms.
    Nach jeden Byte im 4 Bit Modus mindestens 2 ms Wartezeit.
    Es gibt LCDs welche 6ms nach jedem Schreibbefehl benötigen.
    R/W kann abgefragt werden, muss aber nicht.
    Gute EA Displays haben unter 400µs Wartezeit.


    Generell sind die reinen Grafik Displays schneller.


    MfG Raimund

  • Ich habe in letzter Zeit die hier - ja, die sind billig, aber mir gefallen die am Besten... ;)


    und da ist es wirklich so, nach dem init muss man recht lange warten (ich warte vorsichtshalber gleich ca. 200 ms, so viel Zeit hat man schon ;)) - und nach dem Umstellen auf 4 bit Modus muss ich noch mal etwas warten, sonst kommt manchmal doch der Cursor - das ist da schon drin...


    btw. zu den Routinen oben gehört dann natürlich noch ne Warteschleife dazu, ich habe die immer extra gesammelt in einer Datei, hier anbei... die angegebenen Zeiten stimmen nicht 100%, gelten für 16 MHz Systemtakt... hierfür braucht man nur die "_wait_200ms:"


    nach jedem Befehl/Datenübergabe warte ich ca. 1,6 ms, ausser eben das Busy Flag ist wieder gelöscht, dann wird die Warteschleife abgebrochen... damit läuft es problemlos, die nötige Wartezeit scheint hier also unter 2 ms zu liegen... wenn Dein (White Fox) Display noch länger braucht, dann einfach die Warteschleife länger machen (da bei "ldi temp0, 64" bei "_LCD_ready:" einfach mehr als 64 eingeben...)


    und wie gesagt, es geht auch ohne dass man R/W anschließt, dann wartet die Routine eben einfach stur 1,6 ms vor jedem auszugebenden Byte...

    Dateien

    • Wait.zip

      (486 Byte, 75 Mal heruntergeladen, zuletzt: )

    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Das rote Display schaut ja mal wirklich geil aus... :thumbsup:



    Also Pesi, ich hab deine Routinen mal ausprobiert, leider jedoch ohne Erfolg.
    Ich hab anfangs den Quellcode stumpf in mein Programm reinkopiert, das eigt Programm
    entsprechend geändert, das Display blieb davon ziemlich unbeeindruckt.
    Dann hab ich, weil das ganze ziemlich unübersichtlich war, den Code eben von
    außen eingebunden, hat aber am LCD nix geändert.


    DB4-DB7 hängen an PD4-PD7
    RS an PD1
    R/W an PD2
    PD3 an E


    Nur die Hintergrundbeleuchtung hab ich nicht angestöpselt.



    Die Fuses hab ich auch entsprechend umgestellt.
    "Ext. Crystal/Resonator High Freq ; Start-up-Time: 16CK 64ms"


    Das Erfolgskonzept von Windows ist eine gelungene Mischung aus Marketing, Korruption, Kartellmißbrauch und der erfolgreichen Spekulation auf das Naturgesetz, daß Scheiße oben schwimmt.


    Auch aus Steinen, die einem in den Weg gelegt werden,
    kann man Schönes bauen.
    Johann Wolfgang von Goethe

  • naja, Du hast die Routinen ja oben eingebunden, d.h. er läuft erst mal da rein, die Warteschleifen durch, dann in die LCD-Routinen, und da macht er dann halt *irgendwas*... :D


    mach' die zwei Zeilen


    Code
    1. .include"Warteschleife.asm"
    2. .include"LCD-Routinen.asm"


    doch mal *ganz an den Schluß* hin, *nach* dem "rjmp ende"...


    P.S.: das Display sieht auch ausgeschaltet gut aus (also ich finde, besser als die hellen ;)):


    It's only light - but we like it!


    Da es sich in letzter Zeit häuft: Ich beantworte keine PNs mit Fragen, die sich auch im Forum beantworten lassen!
    Insbesondere solche von Mitgliedern mit 0 Beiträgen, die dann meist auch noch Sachen fragen, die bereits im entsprechenden Thread beantwortet wurden.
    Ich bin keine private Bastler-Hotline, technische Tipps etc. sollen möglichst vielen Lesern im Forum helfen!

  • Hm...noch immer keine Veränderung.


    Aber dieses rote Display...lechz...da kommen mir schon wieder die tollsten Ideen.
    Aber erstmal will ich wenigstens dieses Pollin-Display zum Laufen bringen.



    Kleine Anmerkung:
    In einem früheren Versuch hat das LCD zufällig mal ein paar Zeichen angezeigt.
    War jedoch weder dass, was es anzeigen sollte, noch werden dieses Zeichen
    von normalen Mitteleuropäern verwendet.
    Mit einem Reset hab ich dann aber auch nur erreicht, dass es ein Zeichen mehr wurde.

    Das Erfolgskonzept von Windows ist eine gelungene Mischung aus Marketing, Korruption, Kartellmißbrauch und der erfolgreichen Spekulation auf das Naturgesetz, daß Scheiße oben schwimmt.


    Auch aus Steinen, die einem in den Weg gelegt werden,
    kann man Schönes bauen.
    Johann Wolfgang von Goethe

    Einmal editiert, zuletzt von White_Fox ()