Autor Tema: [SOLUCIONADO]pintar un byte en una glcd asignandole las coordenadas  (Leído 3280 veces)

0 Usuarios y 3 Visitantes están viendo este tema.

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
[SOLUCIONADO]pintar un byte en una glcd asignandole las coordenadas
« en: 24 de Noviembre de 2012, 11:16:45 »
Hola amigos de lo interesante...
actualmente estoy mejorando un proyecto que tengo en mente añadiendole un GLCD... no habia utilizado nunca ninguno asi que he intentado empaparme del foro en lo referente a este tema,.
Use un par de librerias para hacerme una que se adaptara a mis necesidades y aqui esta el problema.... tengo una funcion en esta libreria la cual visualiza bit a bit un valor

Código: [Seleccionar]
void GLCD_pintaBYTE(int8 x,int8 y,int8 dato)
{
   int8 a;
   for(a=0;a<=7;++a){
      if(bit_test(dato,a))glcd_punto(x,y+a,1);      
   }
}


con esta funcion puedo "imprimir" este bit en la cosicion de la glcd que a mi me convenga, pero creo que demora muchos ciclos y me gustaria preguntaros como podria visualizar directamente el byte entero sin tener que ir comprobando bit a bit todo el byte...
no se si me me explico con claridad....
un saludo y gracias por la ayuda...

esta libreria me ha servido de mucho, pero no me deja seleccionar la coordenada y, con la funcion GLCD_enviarBYTE
libreria Ucontrol
« Última modificación: 24 de Diciembre de 2012, 07:15:47 por ppyote »
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: pintar un byte en una glcd asignandole las coordenadas
« Respuesta #1 en: 24 de Noviembre de 2012, 14:12:58 »
Dale una mirada a las funciones WriteLCD o fillScreenLCD, es esas directamente se envía el byte entero.


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: pintar un byte en una glcd asignandole las coordenadas
« Respuesta #2 en: 24 de Noviembre de 2012, 22:54:09 »
gracias suky.... en el momento que pueda las revisare a ver que me pueden aclarar, por cierto.... por donde andan las funciones que me has comentado?
es alguna libreria del ccs?
« Última modificación: 24 de Noviembre de 2012, 23:15:20 por ppyote »
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: pintar un byte en una glcd asignandole las coordenadas
« Respuesta #3 en: 26 de Noviembre de 2012, 11:33:34 »
Solucionado el tema del envio de bytes, se me presenta otro problema,
el tema es que me parpadea muy levemente el glcd
El pic que tengo montado es un 18f2550 a 20 mhz, mi pregunta es la siguiente, con el prescaler puedo aumentar la frecuencia para que este trabaje a los 48mhz? O no afectara a la cantidad de instrucciones que puede llevar a cabo el pic?
Se podría hacer? Mejorara el parpadeo de poderse hacer?
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: pintar un byte en una glcd asignandole las coordenadas
« Respuesta #4 en: 26 de Noviembre de 2012, 12:38:25 »
El glcd tambien tiene un limite de transferencia, para evitar esto lo mejor que haces es utilizar la ram como si fuese la memoria de la glcd, ahi la modificas a tu gusto, y cada X tiempo actualizas la glcd con el contenido de la ram del pic, asi te evitas de tener que leer los bits de la glcd, editarlo y luego escribirlo.

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1086
Re: pintar un byte en una glcd asignandole las coordenadas
« Respuesta #5 en: 26 de Noviembre de 2012, 13:10:40 »
Hola amigos, me disculpan que me cuele en este hilo, pero requiero resolver algunas dudas respecto a los GLCD ya que me apremia el tiempo y veo que ustedes ya tiene manejo de estos elementos.

Estoy tratando de presentar en mensaje y un gráfico en el GLCD, ya logré presentar una letra en la fila 0 columna N pero no he podido con la ubicación de las filas, cuando intento escribir en la columna 1 me ubica el caracter en una posición incomprensible para mi.

Lo que sucede es que no comprendo bien la distribución de memoria de estos dispositivos.

Agradezco infinitamente su colaboración

Saludos.

Código: CSS
  1. #zero_ram       //Borrado de la memoria ram
  2.  
  3. void main()             //Rutina principal
  4. {
  5. set_tris_a(0b000000);           //Configuracion de entradas y salidas del puerto A
  6. set_tris_b(0b00000000);         //Configuracion de entradas y salidas del puerto B
  7. //port_b_pullups(true);         //Habilitación de las resistencias pull-ups
  8. porta = 0xff;
  9. portb = 0;
  10.  
  11. setup_adc(adc_off);
  12.  
  13. ///////////////////////////////////////////////////////////////////////////////
  14. int i;
  15.  
  16. for(i=0;i<=5;i++)
  17. {
  18.         bit_clear(rs);  //reset a la pantalla
  19.         delay_ms(1);
  20.         bit_set(rs);
  21.         delay_ms(1);
  22. }
  23. ///////////////////////////////////////////////////////////////////////////////
  24.  
  25. enviar_a_lcd(0,0); //area de texto de cada caracter
  26. enviar_a_lcd(0,0); //
  27. enviar_a_lcd(1,0x40); //codigo para area de texo
  28.  
  29. enviar_a_lcd(0,40); //numero de columnas para caracter
  30. enviar_a_lcd(0,0); //
  31. enviar_a_lcd(1,0x41); //codigo para area de texo
  32.  
  33. enviar_a_lcd(0,12); //area de grafico por cada dato
  34. enviar_a_lcd(0,0); //
  35. enviar_a_lcd(1,0x42); //codigo para area de grafico
  36.  
  37. enviar_a_lcd(0,40); //area de grafico por cada dato
  38. enviar_a_lcd(0,0); //
  39. enviar_a_lcd(1,0x43); //codigo para area de grafico
  40.  
  41. enviar_a_lcd(1,0b10010011); //cursor con parpadeo
  42. //enviar_a_lcd(1,0b10011000);   //pantalla solo grafico
  43. enviar_a_lcd(1,0b10010100);     //pantalla solo texo
  44. enviar_a_lcd(1,0b10100111);     //grosor del cursos
  45.  
  46. enviar_a_lcd(0,0);
  47. enviar_a_lcd(0,0);
  48. enviar_a_lcd(1,0x21); //configurar cursor pointer set
  49.  
  50. enviar_a_lcd(0,0);
  51. enviar_a_lcd(0,0);
  52. enviar_a_lcd(1,0x22); //configurar offset register set
  53.  
  54. enviar_a_lcd(0,0);
  55. enviar_a_lcd(0,0);
  56. enviar_a_lcd(1,0x24); //configurar addres pointer set
  57.  
  58. enviar_a_lcd(0,16); //dato para escribir (se presenta el caracter 0)
  59. enviar_a_lcd(1,0xc0); //comando para escribir e incrementar
  60.  
  61. ///////////////////////////////////////////////////////////////////////////////
  62. while(true)             //Rutina general
  63.         {
  64.        
  65.         }
  66. }
  67. ///////////////////////////////////////////////////////////////////////////////
  68. void enviar_a_lcd(short bit_cd, int dato) //rutina que escribe dato en el lcd
  69. {
  70.        
  71.         while(!bit_test(status,1) && !bit_test(status,0))
  72.         {
  73.                 set_tris_b(0xff);
  74.                 bit_set(cd);
  75.                 bit_set(wr);
  76.                 bit_clear(rd);
  77.                 bit_clear(ce);
  78.                 delay_us(10);
  79.                 status = portb;
  80.                
  81.                 bit_set(wr);
  82.                 bit_set(rd);
  83.                 bit_set(ce);
  84.                 bit_set(cd);
  85.                
  86.                 delay_us(10);
  87.         }
  88.                
  89.         if(bit_cd) {bit_set(cd);}
  90.         else {bit_clear(cd);}
  91.         bit_clear(wr);
  92.         bit_set(rd);
  93.         bit_clear(ce);
  94.         portb = dato;
  95.         set_tris_b(0);                 
  96.        
  97.         bit_set(wr);
  98.         bit_set(rd);
  99.         bit_set(ce);
  100.         bit_set(cd);
  101.         delay_us(10);
  102.        
  103.         status = 0;
  104. }
  105. ///////////////////////////////////////////////////////////////////////////////
]

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: pintar un byte en una glcd asignandole las coordenadas
« Respuesta #6 en: 26 de Noviembre de 2012, 14:19:31 »
El glcd tambien tiene un limite de transferencia, para evitar esto lo mejor que haces es utilizar la ram como si fuese la memoria de la glcd, ahi la modificas a tu gusto, y cada X tiempo actualizas la glcd con el contenido de la ram del pic, asi te evitas de tener que leer los bits de la glcd, editarlo y luego escribirlo.
+1

Diego_E, si tu GLCD es compatible con el KS0108 te recomiendo lo siguiente: http://www.ucontrol.com.ar/PDF/GLCD_K0108.C


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: pintar un byte en una glcd asignandole las coordenadas
« Respuesta #7 en: 26 de Noviembre de 2012, 15:26:12 »
El glcd tambien tiene un limite de transferencia, para evitar esto lo mejor que haces es utilizar la ram como si fuese la memoria de la glcd, ahi la modificas a tu gusto, y cada X tiempo actualizas la glcd con el contenido de la ram del pic, asi te evitas de tener que leer los bits de la glcd, editarlo y luego escribirlo.

No se me ocurre como poder hacerlo...
El problema viene cuando modifico variables ya que primero tengo que borrar los bits de la glcd para que no se superpongan
Y cuanto mayor es la imagen(tamaño de fuente)más se nota el parpadeo
por eso preguntaba lo de la frecuencia, he leído en algún post que la gente ha usado la glcd con frecuencias del osc de 48mhz

de ahí mi duda
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado MerLiNz

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2463
Re: pintar un byte en una glcd asignandole las coordenadas
« Respuesta #8 en: 26 de Noviembre de 2012, 16:34:24 »
La velocidad del micro no importa, el glcd tiene una velocidad bastante inferior, por lo cual por muchos mhz que pongas en el pic el glcd hara de cuello de botella. El principal problema de usar el sistema de lectura/modificacion/escritura es que es mas lento que usar la ram como si fuese la memoria del glcd, este metodo solo escribiria, por lo cual te ahorrarias la lectura.

Por ahi hay librerias que usan este metodo, tendrias que buscarlas porque en CCS no estoy muy puesto. Pero seria algo asi:

char glcd[1024];

ahora utilizas el array glcd editandolo a tu gusto, como si fuese la memoria del GLCD: glcd[0]=0b010110; te puedes hacer tus funciones para hacer letras, lineas, cuadrados... ahora escribes todo el array en la glcd, para esto nose que funcion tendrias en CCS

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: pintar un byte en una glcd asignandole las coordenadas
« Respuesta #9 en: 26 de Noviembre de 2012, 16:54:54 »
La velocidad del micro no importa, el glcd tiene una velocidad bastante inferior, por lo cual por muchos mhz que pongas en el pic el glcd hara de cuello de botella. El principal problema de usar el sistema de lectura/modificacion/escritura es que es mas lento que usar la ram como si fuese la memoria del glcd, este metodo solo escribiria, por lo cual te ahorrarias la lectura.

Por ahi hay librerias que usan este metodo, tendrias que buscarlas porque en CCS no estoy muy puesto. Pero seria algo asi:

char glcd[1024];

ahora utilizas el array glcd editandolo a tu gusto, como si fuese la memoria del GLCD: glcd[0]=0b010110; te puedes hacer tus funciones para hacer letras, lineas, cuadrados... ahora escribes todo el array en la glcd, para esto nose que funcion tendrias en CCS

de ahí lo de necesitar 1k para el modo GLCD_FAST?
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: pintar un byte en una glcd asignandole las coordenadas
« Respuesta #10 en: 26 de Noviembre de 2012, 18:40:50 »
Exactamente! Tenes una copia de la RAM del GLCD en el microcontrolador, para modificarlo rápidamente (te ahorras de leer la del GLCD), entonces si es de 128x64 pixeles es 128x64/8=1024 bytes  ;-)

Podes buscar en la librería de CCS en modo Fast y yo aquí lo implementé de forma genérica: http://www.micros-designs.com.ar/libreria-glcd-128x64-c/


Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: pintar un byte en una glcd asignandole las coordenadas
« Respuesta #11 en: 27 de Noviembre de 2012, 16:50:05 »
Está noche probare a ver que tal funciona, gracias Suky... Por cierto, como pretendo cargar alguna imagen desde una eeprom ya sea eterna o la interna del pic crees que sería más producente usar el mode glcdfast?
Siempre que se pretenda dibujar, limpiar, mostrar algo en el glcd en modo fast, la librería glcdgeneric se encargará de volcar y actualizar?
No he podido mirar la librería ya que ando con el móvil y no me deja abrirá...
Aún teniendo un ejemplo en la web de micro-designs a la cual haces referencia, no me queda del todo claro...
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: pintar un byte en una glcd asignandole las coordenadas
« Respuesta #12 en: 27 de Noviembre de 2012, 19:29:10 »
Está noche probare a ver que tal funciona, gracias Suky... Por cierto, como pretendo cargar alguna imagen desde una eeprom ya sea eterna o la interna del pic crees que sería más producente usar el mode glcdfast?

Sin duda, sino vas a notar como va dibujando, se va a ser muy lento.

Siempre que se pretenda dibujar, limpiar, mostrar algo en el glcd en modo fast, la librería glcdgeneric se encargará de volcar y actualizar?

No, no es automático, debes utilizar vGLCDUpdate(); De esa manera puedes dibujar un rectángulo, un circulo, cargar una pequeña imagen (en realidad se modifica el buffer en RAM del micro) y cuando esté terminado actualizas la pantalla.

Saludos!
No contesto mensajes privados, las consultas en el foro

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: pintar un byte en una glcd asignandole las coordenadas
« Respuesta #13 en: 29 de Noviembre de 2012, 23:16:57 »
como no podria ser de otra forma.... rizare mas el rizo.....
no puedo hacer el proyecto con el 18f2550 ya que echando cuentas no tengo suficientes pins I/O, asi que he optado por cambiar de pic pero aqui esta el kit de la cuestion..... no dispongo de ningun pic de la familia 18f, lo mas que dispongo es de los 16f886 y el 16f1936.... este segundo con menos de 1k de ram....
joder siempre pasa lo mismo... cuando piensas que lo tienes todo solucionado plafffff....
dadme alguna idea para que pueda refrescar el glcd mas rapidamente.... o con algun tipo de truco para crear menus que no necesiten mucho tiempo en mostrarse...
tengo la cabeza ya que me da vueltas, hasta la mujer me lo dice todos los dias :D :D :D
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...

Desconectado ppyote

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 929
Re: pintar un byte en una glcd asignandole las coordenadas
« Respuesta #14 en: 15 de Diciembre de 2012, 18:04:23 »
bueno gente.... como a lo mejor a alguien le interesa algo este tema.... pongo una modificacion de la libreria de Ucontrol para poder pintar el byte entero en vez de pixel por pixel...
asi se gana en pintar una imagen en el lcd 8 veces el tiempo... reduciendo el tiempo y evitando parpadeos.....
Código: [Seleccionar]

void GLCD_pintaByte(int8 x, int8 y,int8 dato_entrada,int8 tipo)
{
   BYTE dato;
   int1 lado = GLCD_lado_CS1;  // Lado en que voy a dibujar.

   if(x > 63)                  // Veo si cae del otro lado
   { x -= 64;
      lado = GLCD_lado_CS2;}

   output_low(GLCD_DI);      // Modo instruccion
   bit_clear(x,7);           // Limpio bit MSB...
   bit_set(x,6);             // ...y pongo el bit 6 en 1
   GLCD_enviaBYTE(lado, x);  //Envio la dirección de la coordenada X

   // Calculo en que pagina de las 8 cae...
   GLCD_enviaBYTE(lado, (y/8 & 0xBF) | 0xB8);
   output_high(GLCD_DI);     // ...y paso a Modo datos

   //Se necesitan dos lecturas para que devuelva el dato en la nueva direccion
   GLCD_leeBYTE(lado);
   dato = GLCD_leeBYTE(lado);
   if(tipo==0)dato = dato_entrada;
   if(tipo==1)dato = dato | dato_entrada;
  
   output_low(GLCD_DI);          // Modo instruccion
   GLCD_enviaBYTE(lado, x);      // Fijo el lado a escribir,
   output_high(GLCD_DI);         // pongo en Modo Datos y....
   GLCD_enviaBYTE(lado, dato);   // dibujo el pixel
}


este es una funcion para mostrar las imagenes....
Código: [Seleccionar]

void glcd_imagen (int x,int8 x_lim,int8 y,int8 y_lim,int screen,int8 tipo){
 
      int8 j,o,x2;
      long w=0;
      --y_lim;
      x2=x;
      for(j=y;j<=y_lim+y;++j){
         o=j*8;
         do{
           
            if(screen==1) glcd_pintabyte(x2,o,logotipo[w],tipo);
            if(screen==2) glcd_pintaByte(x2,o,bateria[w],tipo);
            if(screen==3) glcd_pintaByte(x2,o,valores_guardados[w],tipo);
            if(screen==4) glcd_pintaByte(x2,o,ajustes_screen[w],tipo);
            if(screen==5) glcd_pintaByte(x2,o,fecha_hora[w],tipo);
            if(screen==6) glcd_pintaByte(x2,o,dos_puntos[w],tipo);
            if(screen==7) glcd_pintaByte(x2,o,guion[w],tipo);
            if(screen==8) glcd_pintaByte(x2,o,luz[w],tipo);
            ++x2;
            ++w;
         }while(x2<x_lim+x);
         x2=x;
      }
 
}


decir que la coordenada y debe de ser multiplo de 8... la X puede ser la que sea..... lim_x el tamaño de la imagen(ancho) lim_y el tamaño de la imagen(alto)despues el dato tipo es para que pinte encima de la antigua imagen que estaba representando el glcd o que la respete y pinte los pixeles de la imagen nueva con los de la vieja....

comentar que las imagenes las cree con el FastLCD, que edite el .bas... copie y pegé....
Código: [Seleccionar]

#define logo 1

const int8 logotipo[746]={
 
0x18,0x1C,0x1C,0x1C,0x1C,0x1C,0xFC,0xFC,0xFC,0x1C,0x1C,0x1C,0x18,0x18,0x18,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xFE,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0xC0,0xE0,0xF0,0x70,0x78,0x38,0x1C,0x1C,0x1C,0x1C,0x1C,0x1C,
0x1C,0x38,0x78,0xF0,0xF0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFC,
0xFC,0xF8,0xE0,0xF0,0x78,0x38,0x1C,0x1C,0x1C,0xFC,0xF8,0xE0,0x00,0x00,0x00,0x00,
0xFF,0xFF,0xFF,0x70,0x38,0x18,0x1C,0x1C,0x1C,0x1C,0x38,0x78,0xF0,0xE0,0x80,0x00,
0x00,0x00,0x80,0xE0,0xF0,0xF8,0x38,0x3C,0x1C,0x1C,0x1C,0x3C,0x78,0xF8,0xF0,0xC0,
0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0xF0,0xFC,0xFF,
0x1F,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,0xC0,0xC0,0xC0,0x80,0x00,0x00,
0x00,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0x80,0xFF,0xFF,
0xFF,0x80,0x80,0x80,0x80,0x80,0x80,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x03,0x00,
0x00,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0xFF,0xFF,0xFF,0xC0,
0x80,0x80,0x80,0x80,0x80,0xC0,0xC0,0xF0,0xFF,0x7F,0x1F,0x00,0x00,0x00,0x1F,0x7F,
0xFF,0xE0,0xC0,0x80,0x80,0x80,0x80,0xC0,0xE0,0xFF,0x7F,0x1F,0x00,0x00,0x00,0x00,
0x00,0x00,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00,0x07,0x1F,0x7F,0xF8,0xE0,0xE0,0xC0,
0x80,0x80,0x80,0x80,0x80,0x80,0xC0,0xC0,0xE0,0xF0,0x7C,0x3F,0x0F,0x07,0x00,0x00,
0x00,0x00,0xC0,0xC7,0x0F,0x0D,0x0C,0x0C,0x9C,0xF8,0xF0,0x00,0x00,0xFF,0xFF,0x00,
0x00,0x00,0x00,0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
0x03,0x03,0x01,0x00,0x00,0x00,0x00,0x01,0x03,0x03,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x03,0x03,0x03,0x00,0x00,0x00,0x00,0x03,0x03,0x01,0x03,0x03,0x03,0x03,0x03,
0x03,0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x03,
0x03,0x03,0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x07,
0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x03,0x03,0x03,0x03,
0x03,0x03,0x03,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,
0x03,0x03,0x03,0x03,0x01,0x01,0x06,0x06,0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x03,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0xC0,0x30,0x08,0x04,0x04,0x04,0x0C,0x00,0x00,0xC0,0x20,0x20,0x20,0xC0,0x00,
0x00,0xE0,0x40,0x20,0xE0,0x40,0x20,0xC0,0x00,0x00,0xE0,0x20,0x20,0x20,0xC0,0x00,
0x00,0x80,0x40,0x20,0x20,0xE0,0x00,0x00,0xE0,0x40,0x20,0x20,0xC0,0x00,0x60,0x80,
0x00,0x00,0x80,0x60,0x00,0x00,0x00,0x00,0x00,0x00,0x08,0x04,0x84,0x84,0x44,0x38,
0x00,0x00,0xF0,0x08,0x04,0x04,0x08,0xF0,0x00,0x00,0x08,0xFC,0x00,0x00,0x00,0x00,
0x08,0x04,0x84,0x84,0x44,0x38,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x08,0x08,
0x08,0x08,0x08,0x04,0x00,0x00,0x07,0x08,0x08,0x08,0x07,0x00,0x00,0x0F,0x00,0x00,
0x0F,0x00,0x00,0x0F,0x00,0x00,0xFF,0x08,0x08,0x08,0x07,0x00,0x00,0x07,0x08,0x08,
0x08,0x07,0x08,0x00,0x0F,0x00,0x00,0x00,0x0F,0x00,0x00,0xC1,0x36,0x0E,0x01,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x09,0x08,0x08,0x08,0x08,0x00,0x00,0x03,0x04,
0x08,0x08,0x04,0x03,0x00,0x00,0x08,0x0F,0x08,0x00,0x00,0x00,0x0E,0x09,0x08,0x08,
0x08,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};


a ver si me animo y arreglo lo de la coordenada y para que no salte de 8 en 8 pixeles....

un saludo y suerte....
« Última modificación: 15 de Diciembre de 2012, 18:10:02 por ppyote »
PPyote... siempre estareis en mi corazon.... Te quiero Hermano...