Professional Documents
Culture Documents
LCD Codigo
LCD Codigo
INCLUDE <P16F84A.INC>
LCD_LINEA1 EQU 80
LCD_CLR EQU 01
LCD_CASA EQU 02
LCD_INC EQU 06
LCD_DEC EQU 04
LCD_ON EQU 0C
LCD_OFF EQU 08
CURSOR_ON EQU 0E
CURSOR_OFF EQU 0C
CURSOR_PARP EQU 0F
LCD_IZDA EQU 18
LCD_DECHA EQU 1C
CURSOR_IZDA EQU 10
CURSOR_DECHA EQU 14
LCD_FUNCIN EQU 38
LCD_CGRAM EQU 40
CBLOCK 0x0D
ENDC
ORG 00
INICIO
bsf STATUS,RP0
movlw b'00011000'
movwf TRISA
clrf TRISB
bcf STATUS,RP0
clrf PORTA
clrf PORTB
movlw LCD_FUNCIN
call LCD_COMANDO
call PAUSA_5ms
movlw LCD_FUNCIN
call LCD_COMANDO
call PAUSA_5ms
movlw LCD_FUNCIN
call LCD_COMANDO
call PAUSA_5ms
movlw LCD_CLR
call LCD_COMANDO
movlw LCD_INC
call LCD_COMANDO
movlw LCD_ON
call LCD_COMANDO
movlw 80
call LCD_COMANDO
ver
movlw 80
call LCD_COMANDO
movlw 'B'
call LCD_CARACTER
movlw 'L'
call LCD_CARACTER
movlw 'O'
call LCD_CARACTER
movlw 'G'
calL LCD_CARACTER
calL LCD_CARACTER
movlw 'R'
call LCD_CARACTER
movlw 'O'
call LCD_CARACTER
movlw 'B'
call LCD_CARACTER
movlw 'O'
calL LCD_CARACTER
movlw 'T'
call LCD_CARACTER
call LCD_CARACTER
movlw 'R'
call LCD_CARACTER
movlw 'H'
call LCD_CARACTER
movlw 0C0
call LCD_COMANDO
movlw 'E'
call LCD_CARACTER
movlw 'L'
call LCD_CARACTER
movlw 'E'
call LCD_CARACTER
movlw 'C'
calL LCD_CARACTER
movlw 'T'
calL LCD_CARACTER
movlw 'R'
call LCD_CARACTER
movlw 'O'
call LCD_CARACTER
movlw 'N'
calL LCD_CARACTER
movlw 'I'
calL LCD_CARACTER
movlw 'C'
call LCD_CARACTER
movlw 'A'
call LCD_CARACTER
sleep
subrutinas
CBLOCK
CONTA1
CONTA2
GUARDA_CARCTER
ENDC
PAUSA_5ms
movlw 7
movwf CONTA2
clrf CONTA1
RETRASO1
decfsz CONTA1,1
goto RETRASO1
decfsz CONTA2,1
goto RETRASO1
return
LCD_COMANDO
clrf PORTA
movwf PORTB
call LCD_CHEQUEA
goto LCD_HABILITA
LCD_CARACTER
clrf PORTA
call LCD_CARCTER_ESPECIAL
movwf PORTB
call LCD_CHEQUEA
bsf PORTA,0
goto LCD_HABILITA
LCD_CARCTER_ESPECIAL
movwf GUARDA_CARCTER
sublw ''
btfss STATUS,Z
goto LCD_EE_MAYSCULA
movlw b'11101110'
movwf GUARDA_CARCTER
goto LCD_FIN_CARACTER_ESP
LCD_EE_MAYSCULA
movfw GUARDA_CARCTER
sublw ''
btfss STATUS,Z
goto LCD_GRADO
movlw b'11101110'
movwf GUARDA_CARCTER
goto LCD_FIN_CARACTER_ESP
LCD_GRADO
movfw GUARDA_CARCTER
sublw ''
btfss STATUS,Z
goto LCD_FIN_CARACTER_ESP
movlw b'11011111'
movwf GUARDA_CARCTER
LCD_FIN_CARACTER_ESP
movfw GUARDA_CARCTER
return
LCD_CHEQUEA
bsf STATUS,RP0
movlw 0FF
movwf TRISB
bcf STATUS,RP0
bcf PORTA,0
bsf PORTA,1
BUCLE
bsf PORTA,2
movf PORTB,0
bcf PORTA,2
addlw 84
btfsc STATUS,C
goto BUCLE
bsf STATUS,RP0
clrf TRISB
bcf STATUS,RP0
bcf PORTA,1
return
LCD_HABILITA
bsf PORTA,2
nop
bcf PORTA,2
return
END