TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: ALE1973 en 18 de Noviembre de 2009, 20:28:38

Título: LCD 128x64 y opcion FAST_GLCD
Publicado por: ALE1973 en 18 de Noviembre de 2009, 20:28:38
Buenas, tengo una aplicacion con un pic 18f4550 y un lcd 128x64 con el controlador KS0108, la aplicacion esta hecha en CCS, con el driver que trae el mismo CCS (HDM64GS12.c)
Resulta que sin usar la opcion #define FAST_LCD, el lcd anda bien, muestra sin errores lo que dibujo, etc, al habilitar esta opcion, para refrescar la pantalla mas rapido, en el display
las pantallas aparecen con errores, caracteres raros, lineas, etc, lo hace tanto en la simulacion de proteus, como en el prototipo, alguien tuvo un problema similar, se les ocurre que puede
ser?


Saludos.
Alejandro.

PD: Agregue unas capturas del problema, una es cuando el dispositivo inicia, la otra es despues de cambiar de pantalla y retornar nuevamente a esta.
Título: Re: LCD 128x64 y opcion FAST_GLCD
Publicado por: AKENAFAB en 18 de Noviembre de 2009, 22:23:03
aumenta 1microsegundo el retardo donde evia los datos , en el enable para ser exactos.

Tuve el mismo problema pero con una velocidad mayor a 10MHz , modifique ese retardo y listo ahora lo tengo a 40Mhz y sin problemas.

Saludos!
Título: Re: LCD 128x64 y opcion FAST_GLCD
Publicado por: ALE1973 en 19 de Noviembre de 2009, 00:38:30
aumenta 1microsegundo el retardo donde evia los datos , en el enable para ser exactos.

Tuve el mismo problema pero con una velocidad mayor a 10MHz , modifique ese retardo y listo ahora lo tengo a 40Mhz y sin problemas.

Saludos!

Gracias AKENAFAB, hice varias pruebas, pero el problema presiste, es mas, no noto diferencia con el otro retardo, solo por la velocidad de
refresco, el micro esta trabajando a 4mhz.
Código: CSS
  1. void glcd_writeByte(int1 side, BYTE data)
  2. {
  3.    if(side)                   // Choose which side to write to
  4.       output_high(GLCD_CS2); ////high
  5.    else
  6.       output_high(GLCD_CS1);   ///high
  7.  
  8.    output_low(GLCD_RW);       // Set for writing
  9.    output_d(data);            // Put the data on the port
  10.    delay_cycles(3);    ///AQUI PROBE A CAMBIAR
  11.    output_high(GLCD_E);       // Pulse the enable pin
  12.    delay_cycles(5);// 5         ///AQUI PROBE A CAMBIAR
  13.    output_low(GLCD_E);
  14.  
  15.    output_low(GLCD_CS1);      /////low // Reset the chip select lines
  16.    output_low(GLCD_CS2);     ///////low
  17. }

Es esta rutina la que entiendo dices que hay que modificar, pero los resultados son identicos.

Seguire probando...

Gracias.
Saludos.
Alejandro.
Título: Re: LCD 128x64 y opcion FAST_GLCD
Publicado por: AKENAFAB en 19 de Noviembre de 2009, 04:46:16
Hola pana , una disculpa , entendi mal  :oops: :oops:

Eso solo sirve sin el FAST_GLCD cuando vayas a mas de 10MHz. No uso el FAST_GLCD porque se lleva mucha ram.

Pero es lo mismo por lo que te salen esos pixeles basura , porque la libreria de CCS no lee el Busy Flag de la pantalla sino solo un retardo.Al sercargado en la RAM del pic puedes tener acceso mas rapido a los datos.

Saludos!
Título: Re: LCD 128x64 y opcion FAST_GLCD
Publicado por: ALE1973 en 19 de Noviembre de 2009, 08:17:18
Hola pana , una disculpa , entendi mal  :oops: :oops:

Eso solo sirve sin el FAST_GLCD cuando vayas a mas de 10MHz. No uso el FAST_GLCD porque se lleva mucha ram.

Pero es lo mismo por lo que te salen esos pixeles basura , porque la libreria de CCS no lee el Busy Flag de la pantalla sino solo un retardo.Al sercargado en la RAM del pic puedes tener acceso mas rapido a los datos.

Saludos!

Gracias por la molestia AKENAFAB, anoche solucione el problema, igual me sirve lo que comentas ya que pienso trabajar a 48mhz, pero solo luego de probar bien a baja velocidad, y si es cierto se lleva muuucha ram al FAST_LCD.

El problema estaba en varios lados, algunos rectangulos que tenian un pixel mas del ancho de la pantalla, y en unos punteros que eran de 8 bits, que luego al cambiarlo a 16 bits se termino el problema, debido a que la imagen en ram del display estaba (obviamente) en direcciones altas.

Voy a ver si puedo subir un video para que veas el funcionamiento...

Saludos y gracias nuevamente.

Alejandro.
Título: Re: LCD 128x64 y opcion FAST_GLCD
Publicado por: AKENAFAB en 19 de Noviembre de 2009, 10:46:57

Que bien que lo resolviste!

Esperare ese video  :mrgreen:

Saludos!
Título: Re: LCD 128x64 y opcion FAST_GLCD
Publicado por: ALE1973 en 19 de Noviembre de 2009, 12:57:01
Buenas, espero que se vea, pongo el video de la prueba del display, falta todavia, pero es la base, no tiene el baccklight.



Saludos
Alejandro

PD: no tengo idea como hacer para que se vea desde aqui...

Saludos.

Gracias migsantiago.... primero probe con el codigo que da youtube pero como no anduve, deje asi nomas...

Saludos.
Título: Re: LCD 128x64 y opcion FAST_GLCD
Publicado por: migsantiago en 19 de Noviembre de 2009, 13:07:40
Buenas, espero que se vea, pongo el video de la prueba del display, falta todavia, pero es la base, no tiene el baccklight.



Saludos
Alejandro

PD: no tengo idea como hacer para que se vea desde aqui...

Saludos.

Hola, enciérralo en código youtube  ;-)

Código: [Seleccionar]
[youtube]http://www.youtube.com/watch?v=iIzkbVypzAo[/youtube]
usando el botoncito del editor (http://www.todopic.com.ar/foros/Themes/babylon/images/bbc/youtube.gif)
Título: Re: LCD 128x64 y opcion FAST_GLCD
Publicado por: AKENAFAB en 19 de Noviembre de 2009, 14:34:28

Muy buenos los avances pana!

Felicitaciones!

Saludos!
Título: Re: LCD 128x64 y opcion FAST_GLCD
Publicado por: BEXTIXTOX en 22 de Junio de 2010, 16:28:40
HOLA BUENDIA  ALE1973

OYE TENGO UN PROBLEMA CON MI GLCD QUE INTENTO CONTROLAR CON UN PIC 18F4550
MI PROBLEMA ES QUE NO CONSIGO ASERLA FUNCIONAR

Y QUISIERA ME AYUDARAS PASANDOME ALGUN PROGRAMA QUE TENGAS O ESTE QUE SUBES AL FORO PUES ME DI CUENTA QUE USAS TANBIEN UN PIC IGUAL AL MIO Y ATI SI TE FUNCIONA
NO QUIERO ROBAR TU IDEA DE PROGRAMA SOLO QUIERO QUE ME AYUDES

TE PASO MI ENLASE DE DONDE SUBI MI TEMA PERO LA AYUDA QUE ME DAN NO ME SOLUCIONA NADA


SALUDOS
GRACIAS...