Autor Tema: Como Imprimir Imagen en GLCD teniendo la tabla Cdata?  (Leído 4679 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado brnaer

  • PIC10
  • *
  • Mensajes: 9
Como Imprimir Imagen en GLCD teniendo la tabla Cdata?
« en: 23 de Junio de 2009, 15:40:21 »
Hola de nuevo amigos, los molesto preguntando una duda mas que ha surgido con otro proyecto, la idea es tener un GLCD de 128 x64 de ks0108, controlada con pic16f877a.
No he tenido ningun problema ya para imprimir texto sin embargo quiero imprimir una imagen y utilizo proton, como saben proton tiene su generador de codigo para imagenes sin embargo ya no se que hacer con esta tabla ya que la pego al final de mi codigo pero no se como decirle al programa que imprima la imagen, este es mi codigo:

Device 16F877A

XTAL 20

Declare INTERNAL_FONT  1
Declare LCD_TYPE 1

LCD_DTPORT = PORTD

LCD_RSPIN = PORTB.2

LCD_ENPIN = PORTB.5

LCD_RWPIN = PORTB.4

LCD_CS1PIN = PORTB.0

LCD_CS2PIN = PORTB.1
             
'Declare GLCD_CS_INVERT On

GLCD_EXTERNAL_PRINT=PPRINT

ini:
    Cls
    DelayMS 500

    PRINT ??????   
       
D2:
CData 8,128,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,128,192,064,224,160,208,080,056,_
008,008,012,012,004,004,004,004,004,006,006,006,006,006,006,006,_
006,006,004,012,008,012,012,020,024,024,056,048,048,112,224,192,_
064,128,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,128,248,030,227,249,030,007,001,001,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,128,224,112,184,094,006,002,000,000,000,000,000,000,000,_
001,002,005,013,018,076,016,096,128,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,064,064,079,028,115,207,120,192,000,064,064,064,064,_
064,064,064,064,064,064,064,064,064,064,064,064,000,064,160,248,_
246,125,090,079,067,065,064,064,064,064,064,064,064,064,064,064,_
064,064,064,064,064,064,065,092,195,252,000,064,064,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,001,003,006,047,060,056,008,000,_
000,000,000,000,000,000,000,000,128,032,216,244,251,255,063,015,_
003,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,192,248,127,031,001,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,032,240,120,206,255,255,255,255,255,001,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,128,128,192,096,_
048,024,004,014,007,003,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,056,015,001,007,013,011,031,031,023,023,023,022,022,_
020,028,024,008,008,012,004,004,006,002,003,001,001,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000

como veran solo necesito la instruccion para que imprima los datos pero no tengo ni idea de como se haga, por lo cual pido su ayuda.

espero puedan resolver esta duda, muchas gracias por su tiempo.

Desconectado doppel

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1534
Re: Como Imprimir Imagen en GLCD teniendo la tabla Cdata?
« Respuesta #1 en: 23 de Junio de 2009, 19:30:30 »
Hola
No he simulado tu ejemplo, pero lo que tienes que hacer es convertir la imagen que deseas a formato BMP monocromático y luego lo ingresas al generador de protón, comentame si has hecho eso.-



saludos


« Última modificación: 23 de Junio de 2009, 20:07:34 por doppel »
" Para ser exitoso no tienes que hacer cosas extraordinarias. Haz cosas ordinarias, extraordinariamente bien "

Desconectado brnaer

  • PIC10
  • *
  • Mensajes: 9
Re: Como Imprimir Imagen en GLCD teniendo la tabla Cdata?
« Respuesta #2 en: 24 de Junio de 2009, 19:36:27 »
Hola doppel, gracias por tu respuesta, te comento que efectivamente comverti la imagen a monocromatico y la meti al convertidor de proton y me genero la tabla que se observa al final del codigo, sin embargo ya no se como decirle a proton que me imprima dicha tabla.

Desconectado doppel

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1534
Re: Como Imprimir Imagen en GLCD teniendo la tabla Cdata?
« Respuesta #3 en: 24 de Junio de 2009, 19:43:57 »
Hola
ayer no pude probar tu ejemplo, hoy tenia un poco de tiempo y lo armé en proteus para probar, aparentemente te faltan unas definiciones arriba y además estuve mirando que me tira desborde de memoria, lo que habria que hacer en teoria es copiar la tabla en la eprom y desde ahi leerla para que la muestre en el GLCD, todabia no lo he probado pero espero hacerlo pronto y te pego el codigo resultante, mientras tanto sigue probando tu y nos comentas

saludos

Hernán
" Para ser exitoso no tienes que hacer cosas extraordinarias. Haz cosas ordinarias, extraordinariamente bien "

Desconectado brnaer

  • PIC10
  • *
  • Mensajes: 9
Re: Como Imprimir Imagen en GLCD teniendo la tabla Cdata?
« Respuesta #4 en: 26 de Junio de 2009, 12:56:29 »
Hola de nuevo, encontre una funcion para imprimir dichas tablas sin embargo me satura la acpacidad del pic y practicamente ya no tengo espacio para nada, sin embargo no encontre ninguna informacion sobre como subir los datos a la eeprom, este es el codigo como quedo, gracias.

Device 16F877A

XTAL 20

Declare INTERNAL_FONT  1
Declare LCD_TYPE 1

LCD_DTPORT = PORTD

LCD_RSPIN = PORTB.2

LCD_ENPIN = PORTB.5

LCD_RWPIN = PORTB.4

LCD_CS1PIN = PORTB.0

LCD_CS2PIN = PORTB.1
             
'Declare GLCD_CS_INVERT On

GLCD_EXTERNAL_PRINT=PPRINT
 
Dim temp As Byte
Dim X As Byte '<----------POSICION X DE 0 A 128
Dim Y As Byte'<-----------POSICION Y DE 1 A 8
Dim DATO As Byte'<--------VALOR A ESCRIBIR EN POSICION X,Y
Dim PUNTERO As Word

ini:
    Repeat
Repeat
DATO = LRead logo9 + PUNTERO
LCDWrite Y,X,[DATO]
Inc X
Inc PUNTERO
Until X = 128
X = 0
Inc Y
Until Y = 8
DelayMS 800
Cls
Print At 5,20,"Ready"
Print At 40,40,"to FLY"
DelayMS 3000


D2:
CData 8,128,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,128,192,064,224,160,208,080,056,_
008,008,012,012,004,004,004,004,004,006,006,006,006,006,006,006,_
006,006,004,012,008,012,012,020,024,024,056,048,048,112,224,192,_
064,128,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,128,248,030,227,249,030,007,001,001,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,128,224,112,184,094,006,002,000,000,000,000,000,000,000,_
001,002,005,013,018,076,016,096,128,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,064,064,079,028,115,207,120,192,000,064,064,064,064,_
064,064,064,064,064,064,064,064,064,064,064,064,000,064,160,248,_
246,125,090,079,067,065,064,064,064,064,064,064,064,064,064,064,_
064,064,064,064,064,064,065,092,195,252,000,064,064,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,001,003,006,047,060,056,008,000,_
000,000,000,000,000,000,000,000,128,032,216,244,251,255,063,015,_
003,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,192,248,127,031,001,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,032,240,120,206,255,255,255,255,255,001,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,128,128,192,096,_
048,024,004,014,007,003,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,056,015,001,007,013,011,031,031,023,023,023,022,022,_
020,028,024,008,008,012,004,004,006,002,003,001,001,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,_
000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000


 

anything