Hilfe zur Ansteuerung vom Pollin GLCD: DG-16080 Schritt für Schritt

sutter.michi

Neues Mitglied
29. Nov. 2009
5
0
0
Sprachen
Hallo zusammen!

Ich habe mir bei Pollin 3 dieser DG-16080 Grafikdisplays mit Touchscreen gekauft. Link zum Datenblatt
Auf dem Display ist der IC LC7981 verbaut.
Ich möchte das Display mit BASCOM ansteuern.

Ich weiss das es schon viele Artikel zu diesem Display gibt, aber ich habe nirgens etwas gefunden wo die Ansteuerung Schritt für Schritt beschrieben wird. Man findet wohl fix-fertige Programme, welche man auf den uC laden und nach ein bisschen tüftelei auch verändern kann, dafür lernt man nichts dabei!!

Ich hoffe ich kann mich hier, mit eurer Hilfe, Schritt für Schritt mit dem Display Beschäftigen. :rolleyes:

Ich stelle mir das so vor: Zuerst mal nur im Textmodus, wenn das klappt im Grafikmdus und zum Schluss Grafikmodus + Touchscreen. :pleasantry:


Ich verwende zum Anfang einen ATmega8, welchen ich aber durch einen ATmega32 ersetzen könnte, falls der Speicher zu klein wird. Ich habe folgende Verdrahtung zwischen LCD und uC:

dg16080_schaltplan.gif


OK also als erstes nun zum Textmodus!

Es gibt in Bascom ja folgende Library: glcdlc7981.lib. Ich nehem mal stark an, dass dises ja mit meinem Display funktionieren müsste!
Aber wie genau muss ich nun vorgehen, um das Display im Textmodus richtig anzusteruern?
Denn wenn man ein Standard LCD mit HD4480 ansteuern will, braucht mann ja keine Lib einzubinden.

Ich habe also folgendes Programm:

Code:
$regfile = "m8def.dat"
$crystal = 4000000
$lib "glcdLC7981.lib"

 Config Lcd Ich Weiss Nicht Wiviele Zeichen Im Textmodus Angezeigt Werden Können!!
 Config Lcdpin = Pin , Db0 = Portb.0 , Db1 = Portb.1 , Db2 = Portb.2 , Db3 = Portb.3 , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portd.4 , Rs = Portd.2 , Rw = Portd.3
 Config Lcdbus = 8

Do
 Cls
 Locate 1 , 1
 Lcd "Hallo Welt"
Loop

End

Was genau muss ich denn hier umschreiben um dieses "Hallo Welt" auf meinem Display anzuzeigen?



Gruss und besten Dank im Vorraus!!

Michi
 
Hi
So wie ich dich verstehe, suchst du einen Tutor. Na ja, so ein paar Hilfen wirst du wohl bekommen, aber so speziell für dich zugeschnitten eine komplette Step by Step Hilfe? Vielleicht erbarmt sich einer unserer Bascom-Experten... Ich hab da leider nix mit am Hut. Trutzdem, ich werd mal schauen, ob was für mich brauchbares dabei ist. Also, viel Glück bei deinem Projekt.

Gruß oldmax
Ach ja, herzlich willkommen im Forum
 
Hallo Michi!

Willkommen im AVR-Praxis Forum! :ciao:

Ich kann dich ein wenig verstehen, was deine Idee betrifft.....
Gerade zu Beginn kommt einem vieles seltsam vor. ;)

Du bekommst hier auch bestimmt Hilfe, zu deinen Fragen und Themen....
aber das mit dir jemand "gemeinsam" alles entwickelt glaube ich auch nicht.

Nimm z.B. die Zeitschrift Elektor.....
Die bietet verschiedene "Onlinekurse" mit zugehöriger Hardware an.
Natürlich gegen Geld!

Du würdest nun verlagen, dass jemand nur aus Spaß das Gleiche machen soll..... und du auch noch die Hardware vorgibst.

Ich möchte damit nicht gesagt haben, dass sich evtl. keiner findet..... sondern dich nur mal drauf hinweisen, falls du weder hier noch in einem anderen Forum keinen finden solltest. ;)

Machen wir es doch so wie immer....
Stell dich selber im "Vorstellungsthread" erst einmal vor und dann beginnst du mit deiner "Übung".
Den ersten Teil (Zeichnung und Code) hast du ja schon begonnen. :)
Zwischendurch können wir dich dann immer wieder auf den "rechten Weg" bringen, wenn du mal nicht weiter kommst..... oder du etwas falsch verstanden hast.

Schöne Grüße,
Cassio
 
Hallo,

also von den Dingern hab ich auch noch 3 (glaube ich) hier rumfliegen ;)
Infos habe ich schon ne Menge gesammelt. Für Versuche hat die Zeit noch
nicht gereicht. Das meißte was man für das Display findet ist in C geschrieben.
In Bascom war glaube ich nur ein einziges Beispiel zusammen mit dem Touch.

Das EL-Backlight muß ich hier auch noch zum laufen bekommen. Schaltplan für
nen einfachen Inverter hab ich auch schon (aber es fehlt die Zeit).

Am einfachsten ist das Touch. Dafür benötigst du vier ADC-Eingänge.

Naja ... mal sehen wer das Ding zuerst am laufen hat ;)

Gruß
Dino
 
Hi @ all!

Ok ich glaube ich habe mich vielleicht ein bisschen falsch ausgedrückt. :eek:

Ich möchte natürlich nicht dass mir jemand alles vorkaut und ich dass dan nur noch übernehmen muss. Sorry falls das jetzt so rübergekommen ist!!

@ dino03 Ich habe auch schon mehrere fertige files gefunden. Jedoch finde ich, dass mir die nix bringen, da ich das ganze ja verstehen will!

Nun also zu meiner ersten Frage :

->GLCD im Textmodus

Wenn man ein LCD mit einem Standart HD4480 Controller hat, so kann man es ja sehr einfach mit diesem Code einen Text ausgeben:

Code:
$regfile = "m8def.dat"
$crystal = 4000000

Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4
Config Lcdbus = 4
 
Cls
Locate 1 , 1
Lcd "Hallo Welt"
End

Wie man sieht, ist da ja aber nirgens eine lib eingebunden!
Wie muss ich denn nun meinen Code schreiben um einen Text an meinem GLCD auszugeben? Ich nehme mal an dass ich diese "glcdLC7981.lib" verwenden muss. Vielleicht gibt es aber auch andere Möglichkeiten?

Und ich nehme mal an, dass man auch nicht die gleichen Befehle verwenden kann oder?

Wenn mir da jemand weiterhelfen könnte wäre das suuper!

Gruss Michi

Achja übrigens vielen Dank für die Herrzliche Begrüssung!
 
Hallo Michi!

Warum muss es denn unbedingt dieses Display sein? :rolleyes:

Ich finde es ja in Ordnung, dass du dir etwas sinnvolles zum Üben ausgesucht hast.....
aber warum ausgerechnet ein Stück Hardware, dass nicht direkt von BASCOM unterstützt wird? :hmmmm:

Wie mir schreint, fängst du ganz "vorne" an und musst daher erst mal viele grundsätzliche Dinge lernen.
Von daher würde ich sagen, nimm erst mal ein ganz normales LCD, oder ein GLCD dass auch von BASCOM direkt mit einer LIB unterstützt wird.


Nun also zu meiner ersten Frage :

->GLCD im Textmodus

Tja also...... so direkt gibt es bei einem GLCD keinen Textmodus!
Wenn du dir mal verschiedene Codes im Internet ansiehst dann wirst du feststellen, dass bei GLCD`s eigentlich immer eine Font-Datei verwendet wird.

Ein LCD mit Standard-Displaycontroller ( Beispiel ) hat intern schon die Zeichen parat.
Bei einem GLCD ( Beispiel ) ist dies NICHT der Fall und du musst quasi jeden Buchstaben einzeln "malen".
Genau das übernimmt dann die Fontdatei! ;)
Im Programm schreibst du nur noch, dass du z.B. ein "A" ausgeben möchtest....
....und die Fontdatei hält dafür alle Angaben bereit, um das "A" z.B. auf 8x8 Pixel zu malen. Könntest aber auch eine Fontdatei nehmen, die dir das "A" auf 16x16 Pixel malt. ;)

Eine Ausnahme bei den GLCD`s wäre da der T6963C Diplaycontroller ( Beispiel ). Dieser hat schon intern eine bzw. zwei Fonts abgelegt..... oder eben das OLED von Dirk hier im Shop (sogar in Farbe )! ;)


Wie du siehst, gibt es eine Menge Display`s (auch Andere als meine Beispiele) die du erst einmal zum Lernen verwenden kannst.
Ich denke mal, du wirst zu Beginn genug damit beschäftigt sein deinen Code richtig zu entwickeln. Da kannst du doch froh sein, dass die Hardware auf alle Fälle ordnungsgemäß arbeitet..... wenn es die richtigen Daten bekommt. ;)


Entscheiden musst du es aber selbst!

Gruß,
Cassio
 
Hallo!

Warum muss es denn unbedingt dieses Display sein?

Nunja ich habe mal vor ein paar Wochen bei Pollin bestellt. Und habe diese Displays gesehen. Nachdem ich kurz gegoogelt habe und auch gleich ein paar Infos dazu gefunden habe, habe ich einfach mal 3 Stück mitbestellt.

Also bezüglich Programmieren hast du Recht. Ich fange gerade mit Bascom an, habe jedoch in der Lehre gelernt auf einem HC12 Assembler zu programmieren.

Ich habe mir noch 2 HD4480 LCDs bestellt, auf die warte ich aber noch.

Ich möchte aber doch recht gerne das DG16080 GLCD ansteuern, da es mir einfach zu langweilig ist nur ein paar LED's ein und auszuschalten, da ich das in der Lehre schon ausgiebig mit Assembler machen durfete :D !


Was ist denn nun mit dieser Lib: "glcdLC7981.lib" kann die nicht für mein Display gebraucht werden? Der Controller ist ja derselbe. Wenn ja, wie müsste ich ich die einbinden.

Und wenn das nicht geht, kann ich ja so einen Font nehmen. Wie genau müsste ich denn das mit dem Font machen?


Gruss Michi
 
Hi Michi,

Ich möchte natürlich nicht dass mir jemand alles vorkaut und ich dass dan nur noch übernehmen muss. Sorry falls das jetzt so rübergekommen ist!!
Also bei mir ist es nicht so rumgekommen. Wenn du allerdings erst anfängst
dann hast du dir gleich den größten Brocken ausgesucht. Nen Grafik-LCD und
zusätzlich mit schlechter Bibliotheks-Unterstützung.

Wie man sieht, ist da ja aber nirgens eine lib eingebunden!
Es ist eine Lib eingebunden. Das ist aber ne Standard-Lib die bereits in Bascom
drinsteckt und standardmäßig mit dem Befehl für das normale LCD geladen wird.

Für I2C (TWI), 1Wire, DCF77, ... gibt es schon viele Standard-Libs die einfach
so ohne großes Zutun geladen werden.

Gruß
Dino
 
Hallo!

Ich habe noch etwas recherchiert, und habe ausführlichere Datenblätter zum GLCD und auch zum IC gefunden.

Datenblatt LC7981
Datenblatt Display -> ich glaube es ist sogar von dir Dino03

Wie mir scheint ist aber da im Textmodus aber schon ein Zeichensatz vorhanden, auch im Roboternetz Forum wurde das glaube ich gesagt.
-> sagt mir wenn ich mich irre! :confused:

Und eine Lib habe ich auch gefunden :D
-> im Anhang (.txt durch .lib ersetzen sollte aber klaar sein denke ich :cool: )

Ich bin jetzt fleissig alle Befehle am testen :D :D
Aber mit dieser Lib klappt das suuper!!
Im Text und im Grafikmodus!

Ich muss dann mal versuchen die Lib zu verstehen, was warscheinlich aber nicht allzu einfach sein wird.;)

Das Programm ist etwas gross desshalb als Dateianhang!

Gruss

Michi

Achja Font habe ich diesen hier: Font hatte ich vergessen ;-)
 

Anhänge

  • glcdLC7981.txt
    11,3 KB · Aufrufe: 80
  • DG160-80_Testfile.bas
    5,5 KB · Aufrufe: 64
Hallo Michi!

Ich "kenne" die LIB auch.... besser gesagt, ich weiß wo sie her kommt und wer sie geschrieben hat!
Es wäre daher fair gewesen, wenn du die LIB hier nicht direkt hochgeladen sondern zur Quelle verlinkt hättest!

Wie aber schon erwähnt..... ich habe weder das Display noch diese LIB, von daher kann ich dir da leider nicht weiterhelfen.

Du kannst die LIB ja mal mit nem Editor öffnen und hineinschauen um zu wissen, wie du sie verwenden musst.
Soweit ich weiß gibt es aber auch Beispielcodes, die dir erst mal die Verwendung erklären.
Danach sollte alles ein "Kinderspiel" sein.....
Denn letztlich musst du dir durch die LIB um die Ansteuerung des Displays keine Gedanken mehr machen. ;)

Gruß,
Cassio
 
Wer die Lib geschriben hat steht ja auf der ersten Zeile. Ich habe die Seite nicht gerade gefunden drum habe ich meinen gespeicherten hochgeladen:D.

Jo ich probiere dann mal die lib zu verstehen!

Gruss

Michi
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)