Generación de imágenes para LCD gráficos (sólo C y PIC)

Estoy incursionando con LCD gráficos y, averiguando por ahí, me enteré que hay un programa llamado FASTLCD que te genera una imagen toda pixelada a partir del tipo de pantalla que uno tiene, guardándote un archivo .bmp para poder usarlo en la pantalla en cuestión.
El tema es que no logro rejuntar la información necesaria para conseguir el procedimiento entero desde la generación de la imagen en .bmp, pasando por el volcado de la misma en el código del programa hasta llegar a la imagen vista en mi pantalla.
EN RESUMEN: necesito que me den información de como pasar el .bmp al programa del micro (si hay que convertirlo a otro formato, etc.), si es que necesito alguna librería en especial, si hay programas mejores que el FASTLCD, etc.

NOTA IMPORTANTE: sólo uso pic y lo programo en C (lo digo porque encontré otro foro donde hablan de este tema pero no específicamente para lo que estoy pidiendo yo).

Si es que sirve de algo, en este momento tengo en mi poder un GLCD de 128x64 con controlador KS0108.

MUCHAS GRACIAS
 
Hola amigos.. Hace días que estoy intentando hacer funcionar un sistema que sirva de interfaz y no me funciona de la manera esperada. Específicamente consiste en un sistema destinado a detectar cualquier tipo de circuito abierto (faro quemado, puerta abierta, fusible quemado, etc.). En fin, el sistema me funciona a la perfección si utilizo el lcd 2x64.. pero al utilizar el glcd empiezan los errores.. alguien sabe como solucionar este problema? he buscado e investigado muchas posibles soluciones y la verdad que sigo con el mismo problema



el glcd que utilizo es el lgm12641bs1r de la librería de proteus.. la programación del pic la hago en mikroc..
esta es la programación
Código:
char GLCD_DataPort at PORTD;

sbit GLCD_CS1 at RC0_bit;
sbit GLCD_CS2 at RC1_bit;
sbit GLCD_RS  at RC2_bit;
sbit GLCD_RW  at RC3_bit;
sbit GLCD_EN  at RC4_bit;
sbit GLCD_RST at RC5_bit;

sbit GLCD_CS1_Direction at TRISC0_bit;
sbit GLCD_CS2_Direction at TRISC1_bit;
sbit GLCD_RS_Direction  at TRISC2_bit;
sbit GLCD_RW_Direction  at TRISC3_bit;
sbit GLCD_EN_Direction  at TRISC4_bit;
sbit GLCD_RST_Direction at TRISC5_bit;
// End Glcd module connections
bit k1;
bit k2;
bit k3;
bit k4;
bit k5;
bit i;


void main() {
  Glcd_Init();                                          // Initialize GLCD
  Glcd_Fill(0x00);                                      // Clear GLCD
  Glcd_Set_Font(Font_Glcd_Character8x7,8, 2, 32);
  k1=0;
  k2=0;
  k3=0;
  k4=0;
  k5=0;
  i=0;
  portb = 0;
  trisb = 1;



  

    Glcd_Write_Text("           AGUARA", 1, 3, 1);
    delay_ms(3000);
      Glcd_fill (0);
      delay_ms(1500);
      Glcd_Write_Text("          HASSAN", 1, 3, 1);
    delay_ms(3000);
      Glcd_fill (0);
        delay_ms(1500);
      while (1){
      if (button(&portb,0,1,0)){
         glcd_write_text("quemadofoco", 1, 3, 1);
      }


         }


}



la parte conflictiva es en el condicional if.. no se por que motivo no cumple con la condición.. he hecho un circuito que funciona de la siguiente manera..
si un circuito se abre, al pin de entrada del pic le llega 0V.
si el circuito se mantiene cerrado, al pin de entrada le llega 5V.
Lo raro es que cuando al pin de entrada (en mi caso el PORTB.F1) le llega 0v, no responde al comando que le doy..
alguien tiene idea del por que de esto? estaría eternamente agradecido si me dan una idea..
 
Última edición por un moderador:
Atrás
Arriba