Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

28/01/2011 #1


Caracter fantasma en LCD
Hola, Tengo un problema con los display lcd, me aparece un caracter "fantasma" que no debería aparecer, lo hace luego de la presentacion.
En la simulacion no aparece, y no es problema del display porque de los 4 circuitos que arme aparece en todos.
En el codigo le meti lcd_putc("\f") por todos lados pero sigue ahi.
En la foto puede verse, debajo del 1. Saludos y gracias.
28/01/2011 #2


Faltan datos.
Que compilador usas, que microcontrolador y un codigo de referencia.

Yo tuve problema parecido con el keil en los ARM optimizado al tamaño del hex, lo resolvi agregando en el array un elemento mas a que uso.
28/01/2011 #3

Avatar de gzaloprgm

Hacé esto: Conectá las patas de control y datos así:



Es decir, conectalas a dip switches y pulsadores... Esto te sirve para hacer todo el proceso de inicialización manual, y te asegurás que no sea un problema de tiempos...

Si con eso sigue el problema, seguramente sea un problema del controlador del lcd...

Un saludo,
Gonzalo
28/01/2011 #4


Compilador CCS, micro 16f886.
No puede ser un problema del controlador, a menos que los 5 o 6 display que tengo esten todos fallados.
Gonzalo, tengo las placas armadas, no puedo hacerlo. De todos modos el caracter aparece en la segunda pantalla, en la primera de bienvenida no aparece, por lo que no creo que sea la inicializacion.

Me olvide mencionar que luego de escoger un menu, el caracter desaparece.


void main() {

set_tris_c(0);
output_c(0);
lcd_init();
delay_ms (20);
lcd_putc("\f");
lcd_gotoxy(4,1);
lcd_putc("SELECCIONE");
lcd_gotoxy(5,2);
lcd_putc("SISTEMA");
delay_ms (1000);
lcd_putc("\f");
while(true)
{
/////////ACA APARECE EL CARACTER FANTASMA///////////////
lcd_gotoxy(1,1);
lcd_putc("1-induc 2-piezo");
lcd_gotoxy(1,2);
printf (lcd_putc," sistema:%U\n\r",testeado);
28/01/2011 #5

Avatar de dragondgold

Que versión del CCS usas? Intenta poniendo así: lcd_putc('\f') en ves de lcd_putc("\f").

Saludos
29/01/2011 #6


El CCS creo que es 4.023. Probare lo que me dices. Gracias

Edit, no funciono.
29/01/2011 #7

Avatar de dragondgold

marcelo, la variable testeado que colocas en el printf que es lo que contiene??

Saludos
02/02/2011 #8


Perdon por la demora. Esta es la variable:

if (input(pin_a1)==1){delay_ms(300); break;}
else if(input(pin_a0)){delay_ms(300); testeado++; if(testeado>2){testeado=2;};}
else if(input(pin_a2)){ delay_ms(300); testeado--; if(testeado<1){testeado=1;};}
}
if(testeado==0) // si la opcion seleccionada es la 0, salimos del menú
{

// enable_interrupts(GLOBAL);
// enable_interrupts(INT_EXT);
// lcd_putc("\f");
// break;
}
else if(testeado==1){induc(); lcd_putc("\f");}
else if(testeado==2){piezo(); lcd_putc("\f");}
02/02/2011 #9

Avatar de gzaloprgm

Hacé esto:

Copiá todo el código en otro proyecto y andá sacándole funcionalidades hasta que el caracter fantasma desaparezca...

Un saludo,
Gonzalo
02/02/2011 #10

Avatar de dragondgold

Es muy raro lo que comentas marcelo, cuando tengo esa clase de problemas que no les veo solución por ser algo muy raro recurro al soporte de CCS, es muy bueno siempre encuentran la solución y rápidamente, tambíen intenta buscar alguna versión más nueva del compilador, en internet anda dando vuelta la 4.110 que implementa muchas mejoras con respecto a la versión que usas ahora. Probablemente el error esté en un bug con la función printf().

Saludos si encontras la solución posteala
02/02/2011 #11


Cuando tenga tiempo probare. Pero para complicarcelas mas, si "testeado" es igual a 2, el carecter desaparece, pero si es 1, a pesar de que se limpia la pantalla luego de seleccionar la opcion, SE QUEDA AHI!!!

else if(testeado==1){induc(); lcd_putc("\f");}
02/02/2011 #12

Avatar de dragondgold

marcelo esto afirma más aun lo que pienso, es un bug de la función printf a mi parecer, busca una versión más reciente del compilador y proba, yo creo que se soluciona así.

Saludos
03/02/2011 #13


OK lo hare. Pregunto porque no recuerdo, tengo que aplicarle medicina para que funcione el CCS no?
03/02/2011 #14

Avatar de dragondgold

Si lo bajas de internet sí, sino podes bajarte el demo de su página web.

Saludos
19/02/2011 #15


Despues de un tiempo, descargue la version 4.114, la ultima que encontre con key, y el caracter sigue ahi, es mas, antes estaba medio borroso y se notaba un parpadeo, ahora esta bien fijo y con buen contraste. No se que sera. Saludos.
19/02/2011 #16

Avatar de dragondgold

Que raro probaste usar alguna otra librería de LCD o buscar un LCD con otro controlador?

Saludos
21/02/2011 #17


Con otra libreria no probe, con otro lcd si, pero los dos modelos distintos son la misma marca, fordata, Empiezo a sospechar de ellos.
24/02/2011 #18


Problema solucionado, puse asi: printf (lcd_putc," sistema:%u",testeado); y desaparecio. Saludos y gracias.
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.