MikroBasic tips & tricks
 
  Box
Visualizzare la propria bitmap
su display grafico 128x64 (KS0108)

 

Per le informazioni riferite a questo argomento e per compilare i programmi è stata usata la vers. 7.0.0.2 di mikroBasic.
Altre versioni del compilatore potrebbero avere comportamenti diversi o non funzionare.

Per visualizzare la propria bitmap, bisogna prima crearla con un programma grafico qualunque (io ho usato il programma Paint, fornito con Windows).

Aprire il programma e creare una bitmap larga esattamente 128 pixel ed alta 64 pixel.

  Poi salvare il file in formato bitmap monocromatica


Adesso bisogna importare la bitmap nel nostro programma in mikroBasic.



Per fare questo, clickiamo, sulla barra dei menu, prima su

(1) Tools e poi su

(2) GLCD Bitmap Editor.
    Nella finestra che si aprirà, clickiamo
(3) sul tab KS0108



e poi clickiamo sul pulsante
(4) Load BMP Picture


  Dalla finestra Apri file bitmap, scegliere il file desiderato, il quale sarà poi visibile nel riquadro di anteprima display grafico


  (5) Clickiamo su mikroBASIC code e poi

(6) sul pulsante Copy CODE to Clipboard per salvare tutto negli appunti.

(7) Poi clickiamo su Exit per uscire.
 

  Torniamo al programma mikroBASIC e (8) clickiamo sul punto dove vogliamo inserire il codice della bitmap.

Dopodichè
(9) clickiamo sull'icona incolla e ci ritroviamo (10) copiato il codice della bitmap.
 

Prendiamo nota del nome della const creata (una matrice di 1024 bytes).
In questo caso il nome è
(11) bedu_bmp.


Questo nome lo dobbiamo inserire nell'istruzione Glcd_Image(...) (12) tra le parentesi, per far visualizzare la nostra immagine.


Adesso compiliamo il tutto e, se non ci sono errori, programmiamo il nostro PIC (qui ho usato il 16F877A) e vediamo il risultato effettivo sul display grafico.

Il display in mio possesso non è quello fornito con la scheda EasyPic3-4-5, perciò ho dovuto adattare le istruzioni per l'inizializzazione.
 

 

program prova_glcd

' ------------------------------------------------------
' GLCD Picture name: bedu.bmp
' GLCD Model: KS0108 128x64
' ------------------------------------------------------

const bedu_bmp as byte[1024] = (
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,224,224,
 224,224,224,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,224,224,224,224,224,224,224,224,224,224,
 224,224,224,224,224,224,224,224,224,224,224,224,224,192,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,224,224,224,224,224,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,
 255,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,255,255,255,255,255,  3,  3,  3,  3,  3,
   3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  3,  1,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,255,255,255,255,255,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,
 255,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,255,255,255,255,255,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,255,255,255,255,255,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,
 255,255,255,124,124,124,124,124,124,124,124,124,124,124,124,124,
 252,252,252,248,224,  0,255,255,255,255,255,124,124,124,124,124,
 124,124,124,124,124,124,124,124,124, 56,  0,  0,  0,  0,  0,  0,
 240,248,248,252,252,124,124,124,124,124,124,124,124,124,124,124,
 124,124,124,124,124,255,255,255,255,255,  0,  0,  0,254,254,254,
 254,254,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 254,254,254,254,254,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,
 255,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 255,255,255,255,255,  0,255,255,255,255,255,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 255,255,255,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,255,255,255,255,255,  0,  0,  0,255,255,255,
 255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
 255,255,255,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,255,255,
 255,255,255,128,128,128,128,128,128,128,128,128,128,128,128,128,
 255,255,255,255,255,  0,255,255,255,255,255,128,128,128,128,128,
 128,128,128,128,128,128,128,128,128,128,128,128,128,  0,  0,  0,
 255,255,255,255,255,128,128,128,128,128,128,128,128,128,128,128,
 128,128,128,128,128,255,255,255,255,255,  0,  0,  0,255,255,255,
 255,255,128,128,128,128,128,128,128,128,128,128,128,128,128,128,
 255,255,255,255,255,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 15, 15,
  15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
  15, 15, 15,  7,  1,  0, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
  15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,  7,  0,  0,
   1,  7, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
  15, 15, 15, 15, 15, 15, 15, 15, 15, 15,  0,  0,  0,  1,  7, 15,
  15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15, 15,
  15, 15, 15, 15, 15,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,
   0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0
)

sub procedure delay2S
  delay_ms(2000)
end sub

main:
'inizializzazione valida solo per tipo WG12864A
  Glcd_Init(PORTB, 3, 2, 4, 5, 7, 6, PORTD)

  while TRUE
      Glcd_Fill(0x00)
      Glcd_Image( bedu_bmp )
      delay2S

      Glcd_Fill(0x00)

      Glcd_Box(12, 20, 70, 57, 2)
      delay2S

   wend
end.

 

Ultima modifica  

 
Privacy Policy Cookie Policy