Autor Tema: LCD con 16F877A no me funciona  (Leído 15542 veces)

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

Desconectado VOLTIO

  • PIC16
  • ***
  • Mensajes: 154
Re:LCD con 16F877A no me funciona
« Respuesta #45 en: 29 de Febrero de 2016, 15:06:08 »
hola Pinolillo16 si lo probe pero no anda , yo estoy tan confundido que no se que hacer , cuando lo simulaste lo hiciste con mi diagrama verdad ?? entonces no se porque el unico lcd que viene en proteus es este.

Desconectado Pinolillo16

  • PIC18
  • ****
  • Mensajes: 324
Re:LCD con 16F877A no me funciona
« Respuesta #46 en: 29 de Febrero de 2016, 23:08:54 »
Te anexo el diagrama con el que lo simule. Saludos

Desconectado VOLTIO

  • PIC16
  • ***
  • Mensajes: 154
Re:LCD con 16F877A no me funciona
« Respuesta #47 en: 01 de Marzo de 2016, 10:05:01 »
hola PINOLILLO estoy probando en otra pc y ahora me funciona tu codigo , raro es el mismo proteus, lo que me gustaria me digas que modificaste en tu programa para ir viendo si puedo armar el mio, no me doy cuenta que retocaste, o si fue dentro de la rutina del lcd o de los retardos.
Desde ya muy agradecido por todo

* Ejmplo LCD 4 bit 877.asm
(1.07 kB - descargado 205 veces)
« Última modificación: 01 de Marzo de 2016, 10:07:22 por VOLTIO »

Desconectado Pinolillo16

  • PIC18
  • ****
  • Mensajes: 324
Re:LCD con 16F877A no me funciona
« Respuesta #48 en: 01 de Marzo de 2016, 14:18:59 »
Solo el encabezado del pic si te das cuenta es diferente. Fuera de eso no modifico nada si tu PIC lo manejas con un cristal de 4mhz todo va igual, ahora si le cambias la velocidad tienes que hacer tus propios retardos y revisar las direcciones de los registros para saber donde estan alojadas. Espero que te sea útil, si es para implementar algun proyecto no estaria demas que revisaras otros micros que son mas economicos y tienen muchas cosas mas interesantes.

Saludos

Desconectado VOLTIO

  • PIC16
  • ***
  • Mensajes: 154
Re:LCD con 16F877A no me funciona
« Respuesta #49 en: 01 de Marzo de 2016, 15:34:58 »
si copio tu simulacion con tus archivos, funciona, todo lo mismo pero con mi simulacion no funciona.NO ENTIENDO

Desconectado VOLTIO

  • PIC16
  • ***
  • Mensajes: 154
Re:LCD con 16F877A no me funciona
« Respuesta #50 en: 01 de Marzo de 2016, 15:39:35 »
ya encontre el error era la masa y el +b del lcd la tenia invertida.
PERDON

Desconectado VOLTIO

  • PIC16
  • ***
  • Mensajes: 154
Re:LCD con 16F877A no me funciona
« Respuesta #51 en: 02 de Marzo de 2016, 14:37:55 »
hola PINOLILLO16 pude hacer funcionar mi codigo , pero ahora me titila continuamente los dos mensajes de las dos lineas , como hago para que quede fijo ??? eso no lo se .
saludos

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:LCD con 16F877A no me funciona
« Respuesta #52 en: 02 de Marzo de 2016, 19:10:26 »
Te titila, por que estas escribiendolo una y otra ves al LCD.. Lo que podes hacer es escribirlo una sola ves y luego quedarte esperando un loop infinito.

Es decir reemplaza:

Código: ASM
  1. GOTO    MENU

por:

Código: ASM
  1. NOP
  2.                 GOTO    $-1

Entocnes una ves escrito todo el mensaje se queda ahi esperando, y no vuelve a enviar el mensaje. Esto por que tu programa no tiene mas nada.
Pensa exactamente linea a linea lo que hace tu programa y vas a ver el error

Desconectado VOLTIO

  • PIC16
  • ***
  • Mensajes: 154
Re:LCD con 16F877A no me funciona
« Respuesta #53 en: 02 de Marzo de 2016, 20:01:39 »
Exelente, yo voy a usar un par de botones que al oprimirlos deben hacer algo y ademas mostrarlo en pantalla , pero ahora al menos ya  veo los mensajes, es cuestion de armar el programa.
La unica consulta que me queda al respecto es como se trabaja con el llamado a mansajes a travez de tablas, vi por ahi se que llama a la rutina con pcl creo.
MUCHAS GRACIAS me has ayudado muchisimo , tambien KILLERJC .

Saludos
Ruben Figueredo
Pergamino,BsAs,Argentina

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:LCD con 16F877A no me funciona
« Respuesta #54 en: 02 de Marzo de 2016, 20:59:57 »
Las tablas dependen demasiado del PIC que estas usando. Algunos PICs no pueden leer la memoria flash, por lo tanto deben SI o SI tener que usar tablas con RETLW, aunque normalmente se usa una directiva de preprocesamiento para no tener que escribir todos los RETLW. Si tu PIC puede leer la flash, va a depender si es un PIC16 o un PIC18, si es un PIC16 no vas a tener cambios mas que una forma diferente para leer la tabla, si es un PIC18, cambia la directiva de preprocesamiento por que no usa RETLW para poner mas datos dentro.

Si queres saber como hacerlo te voy a dar 3 pistas.

1- Pagina 36 Datasheet del PIC, 3.5 Reading Flash Program Memory

2- Pagina 100 del manual de usuario del compilador MPASM, directiva DT , http://ww1.microchip.com/downloads/en/DeviceDoc/33014L.pdf

3- Pagina 191 del manual de usuario del compilador MPASM,  LOW, HIGH AND UPPER OPERATORS

Con eso en mente ( que ya el mismo datasheet te da el codigo ) podes hacer tu tabla.
Hay ejemplos seguidos y todo :3

Desconectado VOLTIO

  • PIC16
  • ***
  • Mensajes: 154
Re:LCD con 16F877A no me funciona
« Respuesta #55 en: 02 de Marzo de 2016, 23:57:07 »
gracias Genio !!!

Desconectado VOLTIO

  • PIC16
  • ***
  • Mensajes: 154
Re:LCD con 16F877A no me funciona
« Respuesta #56 en: 03 de Marzo de 2016, 01:04:04 »
A ver ahi modifique un poco para que se inicie con un mensaje de inicio en este caso "ELECTRONICA FIGUEREDO"  y luego el programa sigue con unos botones , los cuales si yo oprimo quiero que se borre todo y muestre otra cosa , ahora yo puse nombres cualquieras para probar pero no logro ver donde me estoy equivocando porque me titilan los mensajes y ademas cuando oprimo aparece el msj pero no borra el anterior
gracias
* UNO NUEVO.zip
(36.23 kB - descargado 223 veces)

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:LCD con 16F877A no me funciona
« Respuesta #57 en: 03 de Marzo de 2016, 03:31:39 »
Solo decirte VOLTIO que estos problemas son ya basicos y significan que no conoces exactamente que hacen las instrucciones, no entiendo como es que se llego a hacer funcionar el LCD. Pero bueno este es tu problema:

Código: ASM
  1. MENU   
  2.                
  3.                 BTFSS   SW1
  4.                 CALL    MENSAJE2
  5.                                
  6.                 BTFSS   SW2
  7.                 CALL    MENSAJE3
  8.                                
  9.                 BTFSS   SW3
  10.                 CALL    MENSAJE4
  11.                        
  12.                 CALL    INICIO

Cambiando 1 sola linea, quedando asi:

Código: ASM
  1. MENU   
  2.         BTFSS   SW1    
  3.         CALL    MENSAJE2
  4.                                
  5.         BTFSS   SW2
  6.         CALL    MENSAJE3
  7.                        
  8.         BTFSS   SW3
  9.         CALL    MENSAJE4
  10.                        
  11.         GOTO    MENU

Desconectado VOLTIO

  • PIC16
  • ***
  • Mensajes: 154
Re:LCD con 16F877A no me funciona
« Respuesta #58 en: 03 de Marzo de 2016, 10:50:08 »
exelenteeeeee
graciasss

Desconectado VOLTIO

  • PIC16
  • ***
  • Mensajes: 154
Re:LCD con 16F877A no me funciona
« Respuesta #59 en: 03 de Marzo de 2016, 15:27:40 »
Bien y como hago para mostrar un mensaje alternativo con otro, o sea muestro un mensaje bienvenida , borro todo y muestro un mensaje diferente y que cuando en cualquier momento oprimo sw1 por ej. muestre otro mensaje diferente, yo pense que era llendo a la rutina LCD_Borra y luego  LCD_Iinicialliza para despues mostrar un mensaje nuevo , pero no me funciona.