Problemas con la visualización del lcd en Proteus

De ante mano mis cordiales saludos bueno mi problema es al usar el LCD 16x2 en el programa programa PROTEUS v7.7... el problema radica que al simular mi diseño en el proteus no se visualiza nada en el LCD (mi código asm esta correcto me funciona a la perfección lo probé físicamente montando mi circuito en un proto y funciona bien) bueno estuve investigado y para poder hacer que el LCD visualice se le tienen que agregar unos retardos de 20ms al código fuente que seria el archivo ASM el cual genera el archivo HEX que va en el pic mi pregunta es donde poner esos retardos en el código asm para poder hacer que el LCD funcione correctamente.... seguramente a mas de uno le a pasado!!
[/COLOR]
gracias de ante mano! saludos
 
De ante mano mis cordiales saludos bueno mi problema es al usar el LCD 16x2 en el programa programa PROTEUS v7.7... el problema radica que al simular mi diseño en el proteus no se visualiza nada en el LCD (mi código asm esta correcto me funciona a la perfección lo probé físicamente montando mi circuito en un proto y funciona bien) bueno estuve investigado y para poder hacer que el LCD visualice se le tienen que agregar unos retardos de 20ms al código fuente que seria el archivo ASM el cual genera el archivo HEX que va en el pic mi pregunta es donde poner esos retardos en el código asm para poder hacer que el LCD funcione correctamente.... seguramente a mas de uno le a pasado!!
[/COLOR]
gracias de ante mano! saludos

Hola Amigo, por lo gral. el simulador no es tan minucioso en tan pequeños detalles pues tampoco habria de funcionar en circuito real, quizas en el simulador obviaste conectar algun pin del LCD.-
 
Puede ser que suceda lo que te menciona el amigo Roberto, si sigues sospechando de las rutinas de retardo, estas se colocan entre cada comando del LCD Algo así:

-Poner En a 0
-Colocar RS a 1/0 dependiendo del tipo de dato a enviar
-Escribir dato en el LCD colocando En a 1
-Aquí va el retardo, pueden ser 50uS hasta 2ms para los comandos mas lentos del LCD
-... mas instrucciones
 
Es fácil, el proteuss falla mucho. La verdad si el dispositivo te funciona físicamente, no te rompas la cabeza con el proteuss. Es bien sabido que no es un programa fino precisamente. Solo sirve para enseñar a los que inician.

No pierdas el tiempo con el y mejor trabaja las pruebas directamente sobre el diseño físico. O si por motivos académicos quieres mostrar a los alumnos como trabajan las instrucciones paso a paso, consigue una tarjeta de desarrollo con opcion de depuración y sera incluso mucho más profesional tu explicación.
 
Publica los archivos que tienes, incluyendo los hex/cof para realizar la correcta simulacion, aparte de decirnos qué version estas usando.
https://www.forosdeelectronica.com/threads/tuto-¿cómo-subir-archivos-xenforo.157730/
Bueno acabo de solucionar el problema, me sucedía lo mismo que Josué, me funcionaba en mi circuito físico, pero en la simulación no. El problema que encontré fue al momento de configurar el LCD a modo de 4 bits según el datasheet. Había enviado por separado 3h y 2h con retardo de 100us, solo por esa parte en especifico no se visualizaba en proteus. slds.

comandos_lcd(0x30); // Manda 3h
__delay_ms(5);
comandos_lcd(0x30); // Manda 3h
__delay_us(100);
comandos_lcd(0x32); // MANDA 3h seguido de 2h sin tiempo de retardo, para que funcione en proteus
__delay_us(100);
comandos_lcd(0x28); // lineas y caracteres
__delay_us(53);
comandos_lcd(0x08); // pantalla apagada, cursor apagado y parapadeo apagado
__delay_us(53);
comandos_lcd(0x01); // limpia el display
__delay_ms(3);
comandos_lcd(0x06); // modo de entrada: pantalla no se mueve, cursor si
__delay_us(53);
comandos_lcd(0x0C); // enciende pantalla
__delay_us(53);
 
Atrás
Arriba