Hoi,
Ik kan nu een bitmap op mijn GLCD laten zien.
dit is geschreven in Picbasic (volledige versie)
alleen hoe kan ik nu 2 verschilende afbeeldingen achter alkaar laten zien, dus eigenlijk afwisselend afb. 1 en afb.2?
Ik heb nu de onderstaande code:
DEVICE 16F877A
XTAL = 8
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
Declare LCD_CS2PIN PORTB.0
Declare GLCD_CS_INVERT on
;declare GLCD_STROBE_DELAY 30000
;declare GLCD_read_delay 500
High PORTB.5
'End of MikroElektronika EP5 GLCD Definition
INTERNAL_FONT = on
FONT_ADDR = 0
ALL_DIGITAL = TRUE
; include "PROTON_G4.INT"
Dim xpos as byte
dim temp as byte
dim yline as byte
dim glcd_data as Byte
Dim data_pointer as Word
yline = 0
data_pointer = 0
cls
Repeat
repeat
glcd_data = lread Splash2 + data_pointer
LCDwrite yline,xpos,[glcd_data]
inc xpos
inc data_pointer
until xpos = 128
xpos = 0
inc yline
until yline = 8
Repeat
repeat
glcd_data = lread Splash3 + data_pointer
LCDwrite yline,xpos,[glcd_data]
inc xpos
inc data_pointer
until xpos = 128
xpos = 0
inc yline
until yline = 8
';Stop
;end
;bmp_img.bmp (128 x 64)
Splash2:
LData $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$F0,$F8,$FC,$FE,$FF,$FF,$03,_
$00,$00,$00,$00,$00,$F0,$E0,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$02,$1E,$7E,$FE,$F8,$F0,$81,$07,$0F,$8F,$FF,$FE,_
$F8,$F0,$00,$00,$C0,$FF,$FF,$7F,$04,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$07,$3F,$0F,$00,$0E,$3F,$7F,$0F,_
$01,$00,$00,$0F,$0F,$07,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$C0,$E0,$E0,$E0,$F0,$70,$30,$38,$18,$18,$18,$18,$1C,$1C,$1C,$0C,$0C,$08,_
$08,$80,$C0,$E0,$E0,$E0,$F0,$F0,$F0,$E0,$F0,$E0,$E0,$E0,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$0F,$3F,$7F,$FF,$FE,$F8,$F8,$F8,$F0,$F0,$F0,$F0,$E0,$E0,$E0,$E0,$E0,$E0,_
$E0,$E0,$E0,$E1,$71,$70,$78,$38,$19,$1F,$8F,$EF,$F7,$F3,$F9,$38,$1C,$0C,$0E,$0E,$0E,$FE,$FE,$FC,$F8,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$03,$0F,$3F,$FF,$FE,$F8,$E0,$80,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$80,$E0,$F8,$FE,$7F,$1F,$07,$01,$00,$38,$3C,$7C,$7C,$7E,$7E,$3F,$3F,$0F,$03,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$E0,$F0,$F8,$F8,$FC,$FC,$FC,$FE,$1E,$0F,$0F,$07,$07,$07,$03,$03,$03,$0F,$1F,$3E,$38,$70,$60,$60,$60,_
$60,$60,$70,$70,$38,$3E,$1F,$07,$03,$00,$08,$3C,$3E,$3E,$3E,$3E,$FC,$FC,$F8,$F8,$F0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$01,$03,$07,$07,$0F,$0F,$1F,$1F,$1E,$1E,$3E,$3C,$3C,$38,$38,$78,$78,$78,$70,$70,$70,$70,$70,$60,_
$60,$70,$70,$60,$60,$70,$70,$70,$70,$30,$38,$38,$18,$1C,$1E,$1F,$0F,$07,$03,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00;
;end
Splash3:
LData $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$3C,$FC,$F0,$C0,$80,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$C0,$F0,$F0,$70,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$01,$0F,$0F,$0C,$FC,$FC,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$80,$EF,$FF,$7D,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$1F,$3F,$78,$70,$40,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$1E,$7F,$7F,$E3,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$C0,$E0,$E0,$E0,$F0,$70,$30,$38,$18,$18,$18,$18,$1C,$1C,$1C,$0C,$0C,$08,_
$08,$80,$C0,$E0,$E0,$F8,$F8,$F8,$F8,$F8,$F8,$F8,$E8,$E8,$80,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$07,$0F,$3F,$7F,$FF,$FE,$F8,$F8,$F8,$F0,$F0,$F0,$F0,$E0,$E0,$E0,$E0,$E0,$E0,_
$E0,$E0,$E0,$E1,$71,$70,$78,$38,$19,$1F,$8F,$EF,$F7,$F3,$F9,$38,$1C,$0C,$0E,$0E,$0E,$FE,$FE,$FC,$F8,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$01,$03,$0F,$3F,$FF,$FE,$F8,$E0,$80,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$80,$E0,$F8,$FE,$7F,$1F,$07,$01,$00,$38,$3C,$7C,$7C,$7E,$7E,$3F,$3F,$0F,$03,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$E0,$F0,$F8,$F8,$FC,$FC,$FC,$FE,$1E,$0F,$0F,$07,$07,$07,$03,$03,$03,$0F,$1F,$3E,$38,$70,$60,$60,$60,_
$60,$60,$70,$70,$38,$3E,$1F,$07,$03,$00,$08,$3C,$3E,$3E,$3E,$3E,$FC,$FC,$F8,$F8,$F0,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$01,$03,$07,$07,$0F,$0F,$1F,$1F,$1E,$1E,$3E,$3C,$3C,$38,$38,$78,$78,$78,$70,$70,$70,$70,$70,$60,_
$60,$70,$70,$60,$60,$70,$70,$70,$70,$30,$38,$38,$18,$1C,$1E,$1F,$0F,$07,$03,$01,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_
$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$00;
endHij laat nu alleen de eerste afbeelding zien.
Wie kan mij op weg helpen?
Jeroen Boere
IF you can't convince them, then confuse them!
wat doen die dubbele repeats daar?
Het is voor jezelf, en al helemaal voor ons duidelijker om achter elke regel code kort en duidelijk te omschrijven wat de functie ervan is..
Goedemorgen,
wat doen die dubbele repeats daar?
Het is voor jezelf, en al helemaal voor ons duidelijker om achter elke regel code kort en duidelijk te omschrijven wat de functie ervan is..
Klopt maar het stukje code is gecopieerd van:
http://www.picbasic.org/forum/showthread.php?t=2960&highlight=bitmap+g…
Als ik de repeat eruit haal dan krijg ik een foutmelding op de regel met "until".
Ik vond dat ook al raar en verwachte geen foutmelding als ik repeat zou weghalen
Ok, ik ben er ondertussen uit, met dank aan:
http://www.picbasic.org/forum
de code die ik nu heb:
DEVICE 16F877A
config hs_osc,wdt_off,lvp_off
XTAL = 8
'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
Declare LCD_CS2PIN PORTB.0
Declare GLCD_CS_INVERT on
;declare GLCD_STROBE_DELAY 30000
;declare GLCD_read_delay 500
High PORTB.5
'End of MikroElektronika EP5 GLCD Definition
;INTERNAL_FONT = on
;FONT_ADDR = 0
ALL_DIGITAL = TRUE
Dim XPOS As Byte ' X position of cursor
Dim YPOS As Byte ' Y position of cursor
Dim temp As Byte
Dim yline As Byte
Dim glcd_data As Byte
Dim data_pointer As Word
Dim splashaddress As Word
main:
yline = 0
data_pointer = 0
XPOS = 0
YPOS = 0
;Cls
splashaddress = Splash1
GoSub displaysplash
DelayMS 500
;Cls
splashaddress = Splash2
GoSub displaysplash
DelayMS 500
splashaddress = Splash3
GoSub displaysplash
DelayMS 500
splashaddress = Splash4
GoSub displaysplash
DelayMS 500
GoTo main
displaysplash:
Cls
YPOS = 0
XPOS = 0
data_pointer = 0
yline = 0
Repeat
Repeat
glcd_data = LRead splashaddress + data_pointer
LCDWrite yline,XPOS,[glcd_data]
Inc XPOS
Inc data_pointer
Until XPOS = 128
XPOS = 0
Inc yline
Until yline = 8
Return
Include "AFBEELDING4.INC"
;End
in afbeeldingen4.inc heb ik de code's van de bitmap(pen) staan. Op die manier kan ik de code overzichtelijk houden.
René Kramer
Ook tegenwind gaat liggen.
Nu dan even een vraagje van mijn kant aan Lampje25:
Hoe heb jij je Bitmap omgezet naar de data die je in je code hebt staan?
Hallo Rene,
Ik heb hiervoor gebruik gemaakt van het programma GLCD Tools.
http://www.compsys1.com/workbench/Benchware/GLTools/gltools.html
het enige waar ik tegen aan loop is dat de data die er uit komt te lang is.
Ik weet nog niet waardoor dat komt.
Het werkt echter wel.
Ook weet ik ondertussen hoe de data wordt/is opgebouwd.
Dit heb ik met behulp van o.a. excel en de handleiding van Proton uitgedokterd.
René Kramer
Ook tegenwind gaat liggen.
Bedankt!
Het is nu gelukt om met de code van picbasic.org jouw afbeelding op het GLCD te krijgen.
Alleen loop ik waarschijnlij tegen hetzelfde probleem aan als jouw. De code die uit het programma "GL Tools" rolt is maar 8 regels, maar wel met met iets van 120 waardes achter elkaar (bij vertikaal converteren. Met als resultaat dat proton het niet wil compileren, hij blijft hangen bij de 1e pass op 87% en stopt er dan mee.
Al doe ik Horizontaal converteren krijg ik bijna het omgekeerde, veel regels, en maar 16 waarden achter elkaar. Wel wil proton dan complimeren, en als ik het dan op het GLCD wil zetten lukt dat. Alleen lijkt het of hij de afbeelding 8 keer naast elkaar zet.
Oftewel, hoe heb jij de code zo gekregen zoals je hierboven in het topic hebt staan?
Rene,
Klopt ik heb handmatig de regels afgebroken, want daar gaat het mis.
Regels afbreken kan door na de "," een "_" te plaatsen dan een enter en de rest weer aansluiten.
je kunt 16 (ik zelf heb het gedaan met 36) waarden achter elkaar te zetten alvorens j op een nieuwe regel begint.
De data die GL tools maakt moeten we eens controlen of het aantal inderdaad wel klopt
Een 128x64 display heeft "8 regels" elke regel heeft een hoogte van 8 pixels (8x8=64.
120 waarden, dat zullen er dan 128 zijn, staat voor het aantal pixels dat een regel heeft.
Ik totaal krijg je dus 1024 waarden
als je 16 waarden op 1 regel zet dan heb je n totaal 64 regels nodig.
elke 8 regels staan dan weer voor 1 complete rij (8x16=128)
ik had het gevoel dat ik meer dan 1024 waarden had, dit heb ik echter verder nog niet gecontroleerd.
zo, een heel verhaal zo op de vroege ochtend...
René Kramer
Ook tegenwind gaat liggen.
Super!, erg bedankt!
Het werkt als een zonnetje, gewoon de regels afkappen op 32 waarden en gaan met die banaan.