;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