Graphic LCD DOGM 128*64

UserDevice GraphIOS

nevolab
 
Avatar
 
Subject:

Graphic LCD DOGM 128*64

 · 
Posted: 19.04.2011 - 13:30  ·  #1
Guten Tag,

ich versuche derzeit ein DOGM 128+64 LCD Modul zum laufen zu bekommen.
Ich verwende den Ini Code von "Harry" - Vielen Dank. (auch für die vielen anderen Beträge!)

Aus irgend welchen Gründen, habe ich das Gefühl das GraphIOS nicht angesprungen wird.

// Quelle: Code von USER Harry

Device = mega128, VCC=3.3;
{ $BOOTRST $07000} {Reset Jump to $07000}

Import SysTick, LCDGraphic, SPIdriver1,SerPort;

From System Import CharSet;


Define
ProcClock = 16000000; {Hertz}
SysTick = 10; {msec}
StackSize = $0100, iData;
FrameSize = $0100, iData;

SPIdriver1 = PortA, 1, 0, 5, 6; // SCK, MOSI, MISO, SS
// 2 = A0 ... L=Command H=Data
// 4 = /Reset

SPIorder1 = MSB;
SPIcPHA1 = 1;
SPIcPol1 = 1;

LCDGraphic = 128, 64, 8; { Display 128 x 64 }
LCDgraphMode = column, iData;
DefCharSet = 'Graphchars.pchr';
GViewports = 4, iData;
TGraphStr = 40;

......


UserDevice GraphIOS(Cmd: Byte; Arg: byte);
Begin
If Cmd=0 then // set row addr
CurRow:=arg;
WriteLCD(%10110000+CurRow,false); // page
WriteLCD(%00010000,false); // address 0
WriteLCD(%00000000,false);
Col:= 0;
else
If Col<128
then
WriteLCD(Arg,true);
Inc(Col);
EndIf;
EndIf;
End GraphIOS;

Mache ich einen Fehler bei der Deklaration ?


Vielen Dank


Martin
Harry
Moderator
Avatar
Gender:
Location: zwischen Augsburg und Ulm
Age: 59
Posts: 2136
Registered: 03 / 2003
Subject:

Re: Graphic LCD DOGM 128*64

 · 
Posted: 19.04.2011 - 14:36  ·  #2
Hallo Martin,

wie ist denn dein GLCD an den Controller angeschlossen ? Also welcher Pin/Port µC an welchen des LCD ? Wie hast du das LCD spannungsmäßig beschaltet ? Im Datenblatt gibt es ja 2 Möglichkeiten (single/dual supply).

gruss
Harry

[EDIT] TGraphstr=40 gibt es nicht. Maximal sind 24 möglich (wenn meine Doku noch stimmt).
MISO gibt es an diesem Display nicht. Die Deklaration zeigt auf einen nicht benutzten Pin des µC.
Hast du das auch gemacht:
Code

Procedure InitPorts;
  Begin
    DDRA:=  %01010111;
  End InitPorts;

Hast du das Init angepaßt ?
Code

Procedure GraphInit;
  Var Counter : Byte;
  Begin
    Excl(PortA, 4);
    MDelay(10);
    Incl(PortA, 4);
    MDelay(10);

    WriteLCD($40,false);                    // Display Start Line 0
    WriteLCD($A1,false);                    // ADC reverse $A1 / normal $A0
    WriteLCD($C0,false);                    // normal $C0 / reverse $C8
    WriteLCD($A6,false);                    // Display normal
    WriteLCD($A2,false);                    // Set BIAS 1/9
    WriteLCD($2F,false);                    // Booster, Regulator, Follower on
    WriteLCD($F8,false);                    // Set internal Booster to 3x/4x
    WriteLCD($00,false);                    //
    WriteLCD($27,false);                    // Contrast Set
    WriteLCD($81,false);                    //
    WriteLCD($16,false);                    // Contrast: Standard $16
    WriteLCD($AC,false);                    // No Indicator
    WriteLCD($00,false);                    //
    WriteLCD($AF,false);                    // Display on

    AutoRefresh:=false;
  End GraphInit;


..... und die dümmste Frage von allen (ist mir auch schon passiert :D ) : hast du nen DIsplayrefresh nac deiner Zeichenoperation gemacht ?
pvs-deck
PowerUser
Avatar
Gender:
Age: 53
Homepage: pvs-deck.de
Posts: 1341
Registered: 02 / 2009
Subject:

Re: Graphic LCD DOGM 128*64

 · 
Posted: 20.04.2011 - 15:07  ·  #3
Hallo Harry.

Quote by Harry

..... und die dümmste Frage von allen (ist mir auch schon passiert :D ) : hast du nen DIsplayrefresh nac deiner Zeichenoperation gemacht ?


Wem ist das den noch nicht passiert? Aber man lernt ja ;)

Gruß
Thorsten
nevolab
 
Avatar
 
Subject:

Re: Graphic LCD DOGM 128*64

 · 
Posted: 20.04.2011 - 16:25  ·  #4
Hallo Harry, pvs-deck,


vielen Dank für die schnelle Hilfe.

es lag am Displayrefresh !!!!

Nochmals Danke für das Beispiel.


Gruß


Martin
Selected quotes for multi-quoting:   0

Registered users in this topic

Currently no registered users in this section

The statistic shows who was online during the last 5 minutes. Updated every 90 seconds.
MySQL Queries: 15 · Cache Hits: 14   78   92 · Page-Gen-Time: 0.027452s · Memory Usage: 2 MB · GZIP: on · Viewport: SMXL-HiDPI