Autor Tema: Errores aleatories en lcd grafico.  (Leído 1641 veces)

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

Desconectado Pchuqui_1

  • PIC16
  • ***
  • Mensajes: 187
Errores aleatories en lcd grafico.
« en: 21 de Septiembre de 2012, 14:31:38 »
Hola a todos. Estoy utilizando un display gráfico 128 x 64 con el controlador KS0108. El problema es que muestran pixeles aleatorios, deformando lo que tengo escrito. Yo había leído que hay que modificarle unos tiempos en la librería pero lo hice y nada pasa, sigue igual. Alguien tubo el mimo problema? Lo estoy usando a 20 mHz.

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Errores aleatories en lcd grafico.
« Respuesta #1 en: 21 de Septiembre de 2012, 15:17:00 »
Principalmente debe ser problema de poco tiempo entre instrucciones. Que modo estas usando, FAST_MODE?
No contesto mensajes privados, las consultas en el foro

Desconectado Pchuqui_1

  • PIC16
  • ***
  • Mensajes: 187
Re: Errores aleatories en lcd grafico.
« Respuesta #2 en: 21 de Septiembre de 2012, 17:18:48 »
Hola Suky. No estoy usando el modo FAST...Estoy trabajando a 20 Mhz.  Yo pensé que podría ser ruido eléctrico en el lcd... No sé por donde buscar el problema... 

Desconectado Pchuqui_1

  • PIC16
  • ***
  • Mensajes: 187
Re: Errores aleatories en lcd grafico.
« Respuesta #3 en: 21 de Septiembre de 2012, 17:51:22 »
Lo probé con un cristal de 12 Mhz y anda de 10!!! Pero porque con el de 20 mHz me fallá...  :5] :5] :5]

Desconectado Suky

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Errores aleatories en lcd grafico.
« Respuesta #4 en: 21 de Septiembre de 2012, 19:27:21 »
En la función que escribe un pixel agrégale una demora de 10 us cada vez que envía una instrucción. Si mejora entonces el problema esta por ahí, así que podes empezar a probar a disminuir la demora o sacar algunas como para hacerlo más rápido.


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

Desconectado Pchuqui_1

  • PIC16
  • ***
  • Mensajes: 187
Re: Errores aleatories en lcd grafico.
« Respuesta #5 en: 30 de Septiembre de 2012, 14:26:00 »
Hola. Modifiqué los tiempos en esta rutina... pero nada sigue  lo mismo.   :lol:

void glcd_writeByte(int1 side, BYTE data,int1 SelGLCD)
{
   if(side)                                                        // Choose which side to write to
      output_high(GLCD_CS2);
   else
      output_high(GLCD_CS1);

   output_low(GLCD_RW);                               // Set for writing
   output_d(data);                                          // Put the data on the port
   delay_us(10);                               //modifique delay_cycles(1);
 
  if (SelGLCD==1){
     output_high(LCD1);            //activamos el LCD1
        }
   if (SelGLCD==0){
     output_high(LCD2);                     //activamos el LCD2
   }

   delay_us(15);                             // modifique delay_cycles(5);
 
  if (SelGLCD==1){
     output_low(LCD1);                     //desactivamos el LCD1
        }
   if (SelGLCD==0){
     output_low(LCD2);                     //desactivamos el LCD2
   }


   output_low(GLCD_CS1);                             // Reset the chip select lines
   output_low(GLCD_CS2);
}

Desconectado Pchuqui_1

  • PIC16
  • ***
  • Mensajes: 187
Re: Errores aleatories en lcd grafico.
« Respuesta #6 en: 30 de Septiembre de 2012, 14:31:37 »
Bueno ahora anda! Le modifiqué los tiempos en las rutinas de lectura y escritura...

glcd_writeByte(int1 side, BYTE data,int1 SelGLCD)

glcd_readByte(int1 side, int1 SelGLCD)

Le puse 10 us  y ahora si anda. jaaaaaaaaa  ((:-)) ((:-)) ((:-))

Entonces para usar los GLCD  a frecuencias altas, > a 12 mHz en mi caso modificar las rutinas.