Autor Tema: lcd pic 16f84  (Leído 5213 veces)

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

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re: lcd pic 16f84
« Respuesta #15 en: 16 de Diciembre de 2014, 14:56:05 »
Te pongo lo que estas haciendo mal y el por que, aunque ya tendrias que dar cuenta

Tu codigo solo funciona para una linea.

Código: [Seleccionar]
SePulsoDerecha
    incf Cursor,F
    movlw 0X10 ; Esto lo podes resumir preguntando si BTFSC o BTFSS Cursor,4
    subwf Cursor,W
    btfsc STATUS,Z
goto MuestraLinea1 ; Antes de enviar el comando deberias poner en 0x0F Cursor o hacele un decrementar. POr que estas mandando 0x10
movlw 0X00
    goto MuestraLinea1
    
SePulsoIzquierda    
    decf  Cursor,F
    movlw 0xFF ; lo mismo que arriba si en realidad limitas los valores entonces con BTFSS / BTFSC Cursor,4 5 6 o 7 estaria
    subwf Cursor,W
    btfsc STATUS,Z
goto MuestraLinea1 ; lo mismo que arriba, estas enviando 0xFF cuando deberias enviar un 0x00
    movlw 0x0F
    goto MuestraLinea1
  
MuestraLinea1
movfw Cursor
call LCD_PosicionLinea1     ; lo repito creo que por 3ra ves, no tenes que llamar a esa funcion, tenes que llamar a otra, por que esa funcion siempre te posiciona en la primer posicion por mas valor que tengas de Cursor.
movfw Caracter
call LCD_Caracter             ; Esto quiere decir que se va a copiar el mismo valor que antes.
goto Principal

Y todavia no resolviste el problema de como guardas los valores o de leerlos.
« Última modificación: 16 de Diciembre de 2014, 14:58:33 por KILLERJC »