Banner publicitario de PCBWay

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