Hallo,

Ik heb sinds maandag de Easypic 5 van Mikroe
http://www.mikroe.com/en/tools/easypic5/

Nu programmeer ik in PICBASIC (proton+) de volledige versie.

als code heb ik nu:

DEVICE 16F877A  
    XTAL = 8        
    ALL_DIGITAL = TRUE

config hs_osc,wdt_off,lvp_off   

    ' LCD spec and pins

  lcd_type = samsung
  LCD_DTPORT = PORTD
  LCD_rstPIN = PORTB.5	
  LCD_ENPIN = PORTB.4
  LCD_RWPIN = PORTB.3
  LCD_RSPIN = PORTB.2
  LCD_CS1PIN = PORTB.0
  LCD_CS2PIN = PORTB.1

  INTERNAL_FONT = On		
  FONT_ADDR = 0

    ' clear screen and print some text
    Cls
    Print At 0,0, "Test display "
    Print At 1,4, "- 128 * 64 pixel"
    Print At 2,4, "- Samsung KS0108"
    
    Include "FONT.INC"

het GLCD is als volgt op het bordje aangesloten:
http://www.mikroe.com/pdf/easypic5/easypic5_manual.pdf zie pagina 24

Daarom ook in mn code de lijnen zo gedeclareerd (goed gespeld??)

Echter verschijnt er niets op het display...:-(

Ik heb de gewone 2x16 kar. display via Picbasic wel aan de praat.
Wie kan me helpen om de GLCD met PROTON en de Easypic5 aan de praat te krijgen?

Oja, via een voorbeeldcode van het borje werkt het display wel goed, echter is dat geschreven in Microbasic en daar heb ik geen volledige versie van, vandaar dat ik het in proton+ wil doen.
Gegevens van het display heb ik verder niet.
Het enige wat er op staat is:
C22x80201-08-02-22
LGM12864B-NSW-BBS
Uitgaande van de benamingen die bij de connector staan, zie eerdergenoemde PDF blz 24, ga ik ervan uit dat dit een Samsung KS0108 display is.

ga ik ervan uit dat dit een Samsung KS0108 display is.

volgens mij is het een touch pad dus geen KS0108

Het is een GLCD, de touchpad kan er overheen.

Inderdaad, het is een GLCD met een losse touchscreen erover heen.
Deze losse touchscreen is geheel los van de GLCD, en wordt ook apart uitgelezen/aangestuurd.

LCD_rstPIN = PORTB.5

deze is niet nodig volgens mij, kun je aan de + hangen.

Plaats voor CLS een delay, eerst je scherm even laten opstarten.

Ik gebruik de easyPic4 board en had in het begin ook problemen met de GLCD. Proton gebruikt een eigen pin definitie voor de GLCD dus het werkt niet meteen. Je moet alles opnieuw configureren, zie mijn voorbeeld. Je moet ook heel goed de manual van Proton lezen (blz 309). Easypic and Proton zijn niet op elkaar gematched.Als je Mikrobasic gebruikt hoef je niks te doen.

Voorbeeld GLCD declare voor Easypic board met Proton:


'MikroElektronika EP4 GLCD Definition
        Declare LCD_TYPE       SAMSUNG
        Declare LCD_INTERFACE  8         
        Declare LCD_DTPIN      PORTD.0
        Declare LCD_ENPIN      PORTB.4
        Declare LCD_RSPIN      PORTB.2
        Declare LCD_RWPIN      PORTB.3
        Declare LCD_RSTPIN     PORTB.5
        Declare LCD_CS1PIN     PORTB.1
        Declare LCD_CS2PIN     PORTB.0
        Declare GLCD_CS_INVERT On
        'declare GLCD_STROBE_DELAY 30000
        High                   PORTB.5
'End of MikroElektronika EP4 GLCD Definition

Onderstaande code werkt nog niet naar behoren.

DEVICE 16F877A  
    XTAL = 8        
    ALL_DIGITAL = TRUE

config hs_osc,wdt_off,lvp_off   

  'MikroElektronika EP5 GLCD Definition
        Declare LCD_TYPE       SAMSUNG
        Declare LCD_INTERFACE  8         
        Declare LCD_DTPIN      PORTD.0
        Declare LCD_ENPIN      PORTB.4
        Declare LCD_RSPIN      PORTB.2
        Declare LCD_RWPIN      PORTB.3
        Declare LCD_RSTPIN     PORTB.5
        Declare LCD_CS1PIN     PORTB.0
        Declare LCD_CS2PIN     PORTB.1
        Declare GLCD_CS_INVERT on
        ;declare GLCD_STROBE_DELAY 30000
        High                   PORTB.5
'End of MikroElektronika EP5 GLCD Definition
   INTERNAL_FONT = on		
   FONT_ADDR = 0
       DELAYMS 1000
    ' clear screen and print some text
    Cls
    Print At 0,0, "Test display "
    Print At 1,0, "- 128 * 64 pixel"
    Print At 2,0, "- Samsung KS0108"
    
    Include "FONT.INC"

Tekst begint in het midden van de display, en ook soms op een andere regel, zal een timing probleem zijn?
Moeten er nog lijnen aan een pull of down liggen??

[Bericht gewijzigd door lampje25 op (12%)]

Ik zie het al, CS1 en CS2 is fout geconfigureerd, sorry mijn foutje. Je moet ook aan het eind aangeven dat je stopt, dat doe je met "stop", zie voorbeeld, het werk nu.


Device 16F877A  
    XTAL = 8        
    ALL_DIGITAL = TRUE

Config hs_osc,wdt_off,lvp_off   

  'MikroElektronika EP5 GLCD Definition
        Declare LCD_TYPE       SAMSUNG
        Declare LCD_INTERFACE  8         
        Declare LCD_DTPIN      PORTD.0
        Declare LCD_ENPIN      PORTB.4
        Declare LCD_RSPIN      PORTB.2
        Declare LCD_RWPIN      PORTB.3
        Declare LCD_RSTPIN     PORTB.5
        Declare LCD_CS1PIN     PORTB.1  ' Was Portb.0 
        Declare LCD_CS2PIN     PORTB.0  'Was portb.1 
        Declare GLCD_CS_INVERT On
        High                   PORTB.5
'End of MikroElektronika EP5 GLCD Definition
  INTERNAL_FONT = On		
  FONT_ADDR = 0
       DelayMS 1000
    ' clear screen and print some text
    Cls
    Print At 0,0, "Test display "
    Print At 1,0, "- 128 * 64 pixel"
    Print At 2,0, "- Samsung KS0108"
    Stop    ' geeft aan dat je stop met print 
    Include "FONT.INC"
      End

Thanks, nu werkt het inderdaad wel.

Maar hoe komt het dat je de 2 CS lijnen moet omdraaien?
CS1 zit volgens het boekje op RB0 ipv RB1

Maar ben blij dat het nu werkt, kan ik er nu verder mee "spelen"

Ik denk dat het een hardware foutje is. toen ik mijn board kreeg heb ik ook lang moeten zoeken.

Heb jij een datasheet van de LGM12864B (GLCD)? Ik heb namelijk precies hetzelfde bordje, alleen programmeer ik in ASM en daar zijn geen voorbeelden. Sowiezo hou ik er wel van om originele datasheet van dergelijke onderdelen te hebben.

[Bericht gewijzigd door Henry S. op (78%)]