www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Wie Graphik LCD anschliesen?


Autor: Markus Kempf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde gerne mal meinem Graphik-Display leben einhauchen mit der test
routine von AVRlib. nur wäre es hilfreich zu wissen wie ich es ab
meinen Mega16 anzuschliesen habe. Giebt es da nen schaltplan oder muss
ich mir die Belegung aus der ks0108.h zusammensuchen?

Autor: Markus Kempf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
-AUA- Den Dateianhang des letzen Posts NICHT öffen!! -- da ist wohl
irgendwas schiefgelaufen, Sorry!

Autor: Markus Kempf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http://hubbard.engr.scu.edu/embedded/avr/avrlib/
..da steht unter "Graphic LCD Driver for HD61202/KS0108-based
Displays": "A schematic of the interface wiring is coming."
Wo und wann? War wohl nix, oder wie?
hat jemand villeicht einen anderen treiber + tutorial wie ich son
graphic ding anschliese?
Thx und sorry! das ich schon das 2te mal selbst poste ;-)

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mit dem KS0108 hast Du Dir aber auch ausgerechnet das "schönste"
rausgesucht. Der Controller kann nur Grafik, Text mußt du selber
malen.
Hast Du schonmal ein normales Text-Display erfolgreich angeschlossen?
Falls nein, mach das erstmal, denn da ist die Wahrscheinlichkeit eines
Erfolges wesentlich größer.

Autor: Markus Kempf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ich habe eigentlich alles mögliche schon Erfolgreich gemacht.
Text-Displays in allen größen, I²C Temperatursensoren, AD-Wandler,
Timer... Nur an mein Graphik Display hab ich mich bissher noch nie
gewagt da ich nie eine passende routine dafür gefunden habe und mir das
selberschreiben einer solchigen nicht zutraue.
Ich habe mir den KS0108 nicht wirklich "ausgesucht" das Display ist
nur eben schon gut 10 jahre alt...habe das in meiner Ausbildungsfirma
damals günstig abgestaubt.
Zum Eigentlichen: Ich habe in der file: ks0108conf.h inwzwischen die
Pinconfiguration gefunden. Nun macht mir aber der ARV-GCC compiler
ordentlich Kopfschmerzen.
Kann jemand mit der Fehlermeldung etwas anfangen?:
C:\PROGRA~1\WINAVR\BIN\..\lib\gcc-lib\avr\3.3.\..\..\..\..\avr\lib\avr5\ 
crtm16.
o(.init9+0x0): undefined reference to `main'

Der compiler macht mich Wahnsinnig, tausende seltsame fehler und das
ganze verkommt irgendwie zum flickwerk. Ich bin nur noch am header
files hin und her kopieren da ich auch noch nicht herreausgefunden habe
wo und wie ich die include-pfade anpasse.

Autor: xonom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi also besorgt dir am besten erst mal das Datenblatt von dem Ks0108,
dann brauchste 14 Pin´s an deinem µC. es gibt nämlich keinen 4bit modus
bei nem GrafikLCD. Dann brauchste noch ein Poti mit 10k für die
kontrastspannung.
Und das oben war erst der einfache teil!
wenn du soweit bist sag bescheid

Autor: Markus Kempf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@xonom:
Ein Datenblatt vom Controller, ist übrigens nicht der Ks0108 sondern
der HD61203, habe ich schon 10 Jahre ;-)
Ein 10K poti schlummert auch in meiner Bauteilkiste und mein ATMega hat
auch alle seine Pin's frei.
Also ich bin soweit. ;-)

Autor: xonom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich bin auch dabei mein display mal zum laufen zu bringen!! zwar noch
nicht ganz mit erfolg aber ich arbeit dran!! mit dem compiler kann ich
dir net helfen!!
wo liegt den eigentlich dein hautproblem!

Autor: Markus Kempf (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Eigentlich ist seit 10 jahren das Problem das ich keine fertige
c-routine für das display gefunden habe. (zugegeben: habe auch nicht
ernsthaft gesucht) Als ich dan neulich zufällig die Routinen von AVRlib
für den AVR-GCC compiler gefunden habe, hab ich angefangen mich mit
diesem compiler zu befassen. Aber so wie es jetzt aussieht scheitre ich
nun an ebnen diesem compiler;an seinen wirren fehlermeldungen und an
den makefiles die ich nicht wirklich durchschaue. Es gelingt mir grade
noch eine c-datei mit einer include file <io.h> zu compiliern aber ich
schaffe es nichtmal die beispiel- projekte von AVRlib zu übersetzten.
Kann mir jemand der sich mit include-files auskennt sagen, was ich in
der beigefügten file wie anpassen mus damit der compiler überhaupt mal
anfängt was zu machen? Wäre sehr dankbar dafür!

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau das ist der Grund, weshalb ich C meide. Laut Aussagen von einigen
Forumsmitglieder sowieso nur ein Makro-Assembler, programmiere ich eben
nur in Assembler und muß mich nicht mit irgendwelchen Fehlermeldungen
rumschlagen.

Autor: Nik Bamert (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich kann dazu nur sagen: guckst du hier ;)
http://www.geocities.com/dinceraydin/lcd/gfxintro.htm

Dan findest du alles mögliche zu den Displays mitr diesem Controllern.
Sogar einen Simulaor an welchen du die einzelnen Eingänge des Displays
anklicken kannst und dann siehst was passiert. Es ist auch eine
Befehlsliste vorhanden. Obwohl damit nur sehr schwierig Text
dargestellt werden kann, wird der Controller meiner Ansicht nach viel
einfacher angesteuert. Page selektieren-> Bytes schicken->Fertig.
Schau einfach selbst :) Ist ganz hilfreich.

MFG Nik

Autor: Markus Kempf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Nik Bamert:
Danke für die Seite! Der Simulator dort ist wirklich hilfreich wenn
mann die C-routine zur Ansteuerung schreiben will, was ich nun
vermutlich auch tun werde. Das mit dem AVR-GCC compiler hat für mich
keine Zukunft und ich werde wohl etwas von 0 an für den CodeVisionAVR
schreiben. - Es sei den jemand hat für diesen Compiler schon was
fertiges!?
@thkais:
Ich habe nichts gegen C, was mir Probleme macht ist der compiler und
die "syntax" der makefiles. Wenn ich mir vorstelle, ich müsste das
Display mit assembler ansprechen würde ich es für immer in der Kiste
verschwinden lassen! Es geht nichts über C mit dem richtigen Compiler.
Zudem, ein assembler bringt auch Fehlermeldungen ;-) Die Frage ist, wie
Aussgaekräftig sie sind.

Autor: thkais (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alles Gewohnheitssache. Mir fällt Assembler genauso leicht, wie Basic.
Natürlich hat alles seine Grenzen.

Autor: xonom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mach dir nicht draus ich hab heut auch drei stunden dran gesessen und
bis jetzt noch keinen fortschritt gemacht aber das wird noch!!
können uns ja ausstauschen!! haste icq oder so?

Autor: Markus Kempf (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hi xonom:
Ich habe soeben meine ersten Buchstaben und linien auf dem Display
ausgegeben. Hat mich nur 4 Stunden arbeit gekostet. Dachte es wär
schwieriger. Habe das C-file angehängt. Ist noch sehr im Prototypen
status und einige Dinge muss ich noch in Funktionen packen, aber das
ist eigentlich nur noch Fleisarbeit. Allerdings muss ich zugeben noch
nicht darauf geachtet zu haben ob ich das vorgegebene Timing einhalte.
Danach hätte ich geschaut wenn es nicht funktioniert hätte ;-)
Es ist sehr schön endlich mal was sinnvolles auf dem Display zu sehen.
:)
ICQ habe ich (leider) nicht. Welches Display und welchen Compiler
verwendest du?

Autor: xonom (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi, mmh ihr seid irgendwie alle schneller als ich!! gut mmh also ich hab
ein 128x64 pixel display mit ks0108 controller, benutz den keil
compiler und nen at89s8252!

Autor: Markus Kempf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hm ich hab 2 von den HD61203 in meinem 128x64 Display, aber die sind ja
compartibel. Kuck dir mal meinen code durch, villeicht hilft er dir.
Kurz die schritte wie ich vorgegangen bin:
-die beiden controlle eingeschaltet mit: 0x3F -> daraufhin sind die
meisten pixel schwarz da wohl viel blödsinn im displayspeicher steht,
allso normal.
- dan hab ich das ne routine geschrieben welche den speicher mit 0x00
überschreibt, also das display "cleart" :
for (page=0;page<8;page++)
  {
  x_page = page | 0xB8;
  send_instr (x_page,0);
  send_instr (x_page,1);
  for (col=0;col<=63;col++)
    {
    send_data(0x00,0);
    send_data(0x00,1);
    }
  }

-und dann hab ich D/I auf high umgeschaltet und ein paar mehr oder
weniger sinnvolle daten rüeber geschoben...tata: schon hatte ich ein
paar sinnvolle pixel auf dem display.

Autor: Dieter (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Vielleicht hilft Euch diese Seite dabei.

http://home.t-online.de/home/holger.klabunde/avr/a...

MFG

Dieter

Autor: Kutschenegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey Markus,

da du erstmal die Hardwareseite testen solltest,
brauchst du etwas zuverlässiges, um dein Display
anzusteuern. Ich empfehle da den Basic compiler Bascom AVR.
Der hat schon alle nötigen Funktionen für Text und Graphik
in einfachen basic Befehlen drin. So was wie zB. "Circle X Y".
Das würde ich zum testen empfehlen.

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.