-
        

Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 14

Thema: Graphic Display Ansteuerung mittels µC

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    23.09.2008
    Beiträge
    12

    Graphic Display Ansteuerung mittels µC

    Anzeige

    Frage hat irgend wer ein kleinens c - Programm welches mir nur veranschaulicht wie ein Graphic Display zu programmieren ist ich hab ein Standart Display mit den Standart Treiber TS ...... (weis ich jetzt nicht genau)

    Ich hätte ein Programm gesucht welches mir z.B. eine Schräge Linie Zeichnen

    Weil ich in Prinzip keine Ahnung von der Komunikationsprotokollen habe

    ich hoffe ich könnt mir helfen

    mfg
    daniel

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Naja ohne die genaue Bezeichnung oder weitere Angaben (Auflösung, Farbe oder s/w) wirds schwierig bzw. Unmöglich, da nicht alle GLCDs gleich angesteuert werden.
    #ifndef MfG
    #define MfG

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    23.09.2008
    Beiträge
    12
    Ich meine das von Pollin

    LCD-Modul TG12864B-03

    Blaues, grafisches LC-Display (128x64 Pixel) mit integriertem Controller (kompatibel zu KS010 und LED-Hintergrundbeleuchtung. Geeignet zum Betrieb am PC-Druckerport (LPT). Download verfügbar.

    Technische Daten:
    - Auflösung 128x64 Pixel
    - weiße LED-Hintergrundbeleuchtung
    - Betriebsspannung +5 V-
    - Kontrastspannung +9 V-
    - Pixelgröße 0,48x0,48 mm
    - Anzeigefläche 70,7x38,83 mm
    Maße (BxHxT): 93x70x13,6 mm.

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Genau dieses Display hab ich zur Zeit auch aufm "OP-Tisch".
    Hab dir mal meine bisherigen Codes angefügt; müsstest entsprechend anpassen, damits bei deinem Projekt läuft. Aber geht ja im Grunde nur um die Grundkommunikation mit dem Display.

    Was schon geht:
    - Display mit einem "Muster" füllen (Muster kann auch leer = blau bzw. voll = weiss gefüllt sein)
    - einzelne Pixel setzen/löschen
    - Box (gefülltes Rechteck) zeichnen
    - Rahmen zeichnen
    - Text schreiben (5x7-Font im Source)
    - "Überschrift" schreiben (weisser Balken, blaue Schrift)
    - Eine Art "Bluescreen" (wie passend bei nem blauen LCD...) für Fehler

    Zeichenfunktionen für Kreise, Ellipsen, schiefe Linien etc. kommen bei mir demnächst (sobald ich mein ISP-Kabel wieder find... in der Katze isses schon mal nicht...).
    Ne grundlegende Idee dazu hab ich schon.

    mfG
    Angehängte Dateien Angehängte Dateien
    #ifndef MfG
    #define MfG

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    23.09.2008
    Beiträge
    12
    Danke schon mal Frage hast du auch eine Vorversion wo nur die Pixelset funktion funktioniert

    Ohne Fonts, Rechtecke, ...

    Das Programm überfordert mich leicht da ich noch nicht alle befehle darin kenne
    währe echt toll

    danke

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    23.09.2008
    Beiträge
    12
    Noch eine kleine Frage kannst du die Ports noch Beschreiben Datenbits(0-7) R/W - Pin ...

  7. #7
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    Also Zu dem SetPixel ist es so, dass alle anderen Funktionen diese SetPixel verwenden. SetPixel ist also die grundlegenste Funktion.
    Wenn ich mich nicht vertan hab, kannst du die folgenden Funktionen rauswerfen:

    void GLCD_Box(ui8_t xstart, ui8_t ystart, ui8_t xend, ui8_t yend, ui8_t color);
    void GLCD_Frame(ui8_t xstart, ui8_t ystart, ui8_t xend, ui8_t yend, ui8_t color);
    void GLCD_PutC(ui8_t x, ui8_t y, ui8_t chr, ui8_t color);
    void GLCD_PutS(ui8_t x, ui8_t y, char *chr, ui8_t color);
    void GLCD_PutS_Inv(ui8_t x, ui8_t y, char *chr, ui8_t color);
    void GLCD_Fill(ui8_t pattern);
    void GLCD_Header(char *text);
    void GLCD_On(void);
    void GLCD_Off(void);
    void GLCD_Error(char *descr, char *module, ui16_t value);

    Wenn PutS/PutC weg ist, kannst du auch die "static const stc_font5x7 font5x7[] PROGMEM =...." rauswerfen; frisst dann nicht so viel Flash.

    Die "static inline void _delay4Cycles(ui16_t __count)" sowie das nachfolgende define delay(us)... kann ebenso raus.

    Von den Ports her ist es so, dass ich hier nicht (wie bei anderen Beispielen) nur 2 Ports hab (d.h. 1 Datenport und 1 Command-Port), sondern dass ich die Command-Leitungen auf verschiedene Ports aufgeteilt hab (ging vom Platinendesign her nicht anders). Macht das ganze aber auch flexibler.

    In der Header-File setzt du einfach die Pins & Ports:
    Hier mal nur die Kürzel #define TG12864B_....

    DATA: Datenport, LCD-Pins 7-14; Datenleitungen

    EN: Enable, LCD-Pin 6; Bei einem Enable-Puls werden die an den DATA-Leitungen angelegten Signale übernommen (Write) bzw. das Display legt die angeforderten Daten an die Leitungen (Read).

    RW: Read/Write, LCD-Pin 5; Low: Daten zum Display senden; High: Daten vom Display auslesen.

    DI: Data/Instruction, LCD-Pin 4; Low: Instruction, Steuerbefehle; High: "Bilddaten"

    CS1/CS2: Chip Select für Treiber 1/2, LCD-Pin 15-16; welcher der beiden Treiber soll bei Enable die Daten übernehmen? Beim Schreiben von Daten können beide aktiviert sein, wenn beide das Gleiche machen sollen; beim Lesen darf jedoch nur 1 aktiv sein.

    RST: Reset LCD-Pin 17; Low-Aktiv, kann auch mit dem Reset des Controllers verbunden werden für gleichzeitigen Reset.


    Nachtrag: achja, dass in der SetPixel 2x GLCD_ReadCell ausgeführt wird, ist Absicht. Wenns nur 1x gemacht wird, macht das Display nur Grütze. Da gabs hier schon mal nen Beitrag von mir dazu.
    #ifndef MfG
    #define MfG

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    23.09.2008
    Beiträge
    12
    Danke hat mir sehr geholfen
    werde mich vielleicht irgend mal noch einmal melden wenn ich darf

    lg
    daniel

  9. #9
    Erfahrener Benutzer Robotik Einstein Avatar von Jaecko
    Registriert seit
    16.10.2006
    Ort
    Lkr. Rottal/Inn
    Alter
    35
    Beiträge
    1.987
    nur zu *g* vielleicht hab ich die Grafikfunktionen dann schon fertig.
    #ifndef MfG
    #define MfG

  10. #10
    Neuer Benutzer Öfters hier
    Registriert seit
    23.09.2008
    Beiträge
    12
    Ne 4GB SD Karte drann und wir können das blau/ weiß filme anschauen

    *g*

    lg

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •