martes, 26 de abril de 2011

LCD 2X16 ASM ---CAMBIO DE MANDO

;mostrar cambio de mando en lcd

    LIST P=16F877A
    INCLUDE "P16F877A.INC"

RS    EQU    .0
E    EQU    .1
AUX    EQU    20H
VALOR    EQU    21H
VALOR1    EQU    22H
LCD_CONT    EQU    23H
LCD_DATO    EQU    24H

    BANKSEL        TRISC
    CLRF        TRISA
    CLRF        TRISC
    MOVLW        06H
    MOVWF        ADCON1
    BANKSEL        PORTA
INICIO:
    MOVLW    .18
    CALL    RETARDO
    MOVLW    30H
    CALL    CONTROL
    MOVLW    .5
    CALL    RETARDO
    MOVLW    30H
    CALL    CONTROL
    MOVLW    .1
    CALL    RETARDO
    MOVLW    30H
    CALL    CONTROL
    MOVLW    38H
    CALL    CONTROL
    MOVLW    08H
    CALL    CONTROL   
    MOVLW    0CH
    CALL    CONTROL
    MOVLW    06H
    CALL    CONTROL
    MOVLW    03H
    MOVLW    .1
    CALL    CONTROL
    CALL    ADDRESS
    CLRF    AUX
VOLVER:
    MOVF    AUX,0
    CALL    T_LINEA1
    XORLW    0
    BTFSC    STATUS,Z
    GOTO    LINEA2
    CALL    DATO
    INCF    AUX,1
    GOTO    VOLVER
LINEA2:
   
    CLRF    AUX
    MOVLW    44H
    CALL    ADDRESS
VOLVER1:
    MOVF    AUX,0
    CALL    T_LINEA2
    XORLW    0
    BTFSC    STATUS,Z
    GOTO    FIN
    CALL    DATO
    INCF    AUX,1
    GOTO    VOLVER1
FIN:
    GOTO    FIN

CONTROL:
    MOVWF    LCD_CONT
    MOVLW    .2
    CALL     RETARDO
    BCF        PORTA,RS
    BSF        PORTA,E
    MOVF    LCD_CONT,0
    MOVWF    PORTC
    BCF        PORTA,E
    RETURN
DATO:
    MOVWF    LCD_DATO
    MOVLW    .1
    CALL     RETARDO
    BSF        PORTA,RS
    BSF        PORTA,E
    MOVF    LCD_DATO,0
    MOVWF    PORTC
    BCF        PORTA,E
    RETURN
ADDRESS:
    ADDLW    80H
    CALL    CONTROL
    RETURN

T_LINEA1:
    ADDWF    PCL,1
    DT        "CAMBIO DE",0
T_LINEA2:
    ADDWF    PCL,1
    DT        "MANDO",0

RETARDO:

    MOVWF    VALOR
SALTO:
    MOVLW    .249
    MOVWF    VALOR1
SALTO1:
    NOP
    DECFSZ    VALOR1,1
    GOTO    SALTO1
    DECFSZ    VALOR,1
    GOTO    SALTO
    RETURN

    END

No hay comentarios:

Publicar un comentario