Ayuda LCD PIC16f877A

¿Qué tal amigos?

Ya tengo algunos días en los que no he podido mostrar ningún mensaje en un LCDLM016L utilizando un PIC16F77A, les adjunto el archivo LCD.asm y LCDINC.inc junto con una imagen del circuito. Si alguien me pudiera dar una ayudadita, se los agradecería poqué ya ando un poquito atrasado con el proyectito . Gracias.

Ver el archivo adjunto Lcd.zip


Código:
LIST p=16F877A
    INCLUDE <P16F877A.INC>

    
    ORG    0

    call    INICIO        
    bsf    STATUS,RP0
    clrf    TRISD
    clrf    TRISB
    bcf    STATUS,RP0
    movlw    'H'
    call    WR_DATO
    movlw    'o'
    call    WR_DATO
    movlw    'l'
    call    WR_DATO
    movlw    'a'
    call    WR_DATO
    sleep
    
    
    INCLUDE  <LCDINC.inc>    ; Subrutinas de control del módulo LCD.
    

    END

    
P_DATOS    equ    PORTB
P_TRIS    equ    TRISB
P_CTRL    equ    PORTA
RS    equ    0
RW    equ    1
E    equ    2

TEMP    equ    0x020

INICIO    
    call    Retardo_20ms
    bsf    STATUS,RP0
    movlw    0x06
    movwf    ADCON1
    clrf    TRISA
    bcf    STATUS,RP0
    clrf    P_CTRL
    call    Retardo_50ms
    movlw    38h
    call    WR_CMD
    movlw    08H
    call    WR_CMD
    movlw    01h
    call    WR_CMD
    movlw    0CH
    call    WR_CMD
    movlw    06H
    call    WR_CMD
    return
    
WR_CMD
    movwf    TEMP
    call    OCUPADO
    bcf    P_CTRL,RW
    bcf    P_CTRL,RS
    bsf    P_CTRL,E
    movf    TEMP,W
    movwf    P_DATOS
    bcf    P_CTRL,E
    return
WR_DATO
    movwf    TEMP
    call    OCUPADO
    bcf    P_CTRL,RW
    bsf    P_CTRL,RS
    bsf    P_CTRL,E
    movf    TEMP,W
    movwf    P_DATOS
    bcf    P_CTRL,E
    return
    
OCUPADO
    bsf    STATUS,RP0
    movlw    0FFh
    movwf    P_TRIS
    bcf    STATUS,RP0
    bsf    P_CTRL,RW
    bcf    P_CTRL,RS
OCUP10
    bsf    P_CTRL,RS
    nop
    movf    P_DATOS,W
    bcf    P_CTRL,E
    andlw    80h
    btfss    STATUS,Z
    goto    OCUP10
    bcf    P_CTRL,RW
    bsf    STATUS,RP0
    movlw    0
    movwf    P_TRIS
    bcf    STATUS,RP0
    return
    
    INCLUDE <RETARDOS.INC>
    END
 
Última edición por un moderador:
Hola, si pudiera te ayudaba, pero mis conocimientos no van mas alla del manejo de LCD con LCD con driver Hitachi y Pic de gama media. (16f628a).

Espero tengas suerte!
 
Atrás
Arriba