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
EdwinNadorp
Koop hier uw kristallen bol - in 2008 ga ik m'n projecten afmaken, echt waar ....... nouja in 2009 dan ..... ehh 2010 ....
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.
marcob
Honourable Member
People tend to overestimate what can be done in one year and to underestimate what can be done in five or ten years
LCD_rstPIN = PORTB.5deze 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"
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%)]