Вы находитесь на странице: 1из 7

;****************************LIBRERIA"LCD_4BIT.

INC******************************
***********
;-------------------------------------------------------------------------------
-----------
;-------------------------------------------------------------------------------
-----------
;ZONA DE DATOS******************************************************************
**********
CBLOCK
LCD_DATO
LCD_GUARDADATO
LCD_GUARDATRISB
LCD_AUXILIAR1
LCD_AUXILIAR2
ENDC

LCD_CARACTERESPORLINEA EQU .16 ;NUMERO DE CARACTERES POR PANTALLA


#DEFINE LCD_PINRS PORTA,0
#DEFINE LCD_PINRW PORTA,1
#DEFINE LCD_PINENABLE PORTA,2
#DEFINE LCD_BUSDATO PORTB
;-------------------------------------------------------------------------------
--------
;-------------------------------------------------------------------------------
--------
;-------------------------------------------------------------------------------
--------
;SUBRUTINA"LCD_INICIALIZA"------------------------------------------------------
--------
LCD_INICIALIZA
BSF STATUS,RP0
BCF LCD_PINRS
BCF LCD_PINENABLE
BCF LCD_PINRW
BCF STATUS,RP0
BCF LCD_PINRW
BCF LCD_PINENABLE
BCF LCD_PINRS
CALL RETARDO_20MS
MOVLW B'00110000'
CALL LCD_ESCRIBELCD
CALL RETARDO_5MS
MOVLW B'00110000'
CALL LCD_ESCRIBELCD
CALL RETARDO_200MS
MOVLW B'00110000'
CALL LCD_ESCRIBELCD
MOVLW B'00100000'
CALL LCD_ESCRIBELCD
;-------------------------------------------------------------------------------
-
;-------------------------------------------------------------------------------
-
;-------------------------------------------------------------------------------
-
;AHORA CONFIGURA EL RESTO DE LOS PARAMETROS:
CALL LCD_2LINAES4BIST5X7
CALL LCD_BORRA
CALL LCD_CURSOROFF
CALL LCD_CURSORINCR
RETURN
;SUBRUTINA"LCD_ESCRIBELCD"------------------------------------------------------
;-------------------------------------------------------------------------------
-
;-------------------------------------------------------------------------------
-
LCD_ESCRIBELCD
ANDLW B'11110000'
MOVWF LCD_DATO
MOVF LCD_BUSDATOS,W
ANDLW B'00001111'
IORWF LCD_DATO,F
BSF STATUS,RP0
MOVF TRIS,W
MOVWF LCD_GUARDATRISB
MOVLW B'00001111'
ANDWF PORTB,F
BCF STATUS,RP0

MOVF LCD_DATO,W
MOVWF LCD_BUSDATOS
BSF LCD_PINENABLE
BCF LCD_PINENABLE
BSF STATUS,RP0
MOVF LCD_GUARDATRISB,W
MOVWF PORTB
BCF STATUS,RP0
RETURN
;-------------------------------------------------------------------------------
-
;-------------------------------------------------------------------------------
-
;-------------------------------------------------------------------------------
-
;-------------------------------------------------------------------------------
-
LCD_CURSORINCR
MOVLW B'00000110'
GOTO LCD_ENVIACOMANDO
LCD_LINEA1
MOVLW B'10000000'
GOTO LCD_ENVIACOMANDO
LCD_LINEA2
MOVLW B'11000000'
GOTO LCD_ENVIACOMANDO
LCD_POSICIONLINEA1
IORLW B'10000110'
GOTO LCD_ENVIACOMANDO
LCD_POSICIONLINEA2
IORLW B'11000000'
GOTO LCD_ENVIACOMANDO
LCD_OFF
MOVLW B'00001000'
GOTO LCD_ENVIACOMANDO
LCD_CURSORON
MOVLW B'00001110'
GOTO LCD_ENVIACOMANDO
LCD_CURSOROFF
MOVLW B'00001100'
GOTO LCD_ENVIACOMANDO
LCD_BORRA
MOVLW B'00000001'
GOTO LCD_ENVIACOMANDO
LCD_2LINEAS4BITS5X7
MOVLW B'00101000'
GOTO LCD_ENVIACOMANDO
;----------------------------------------------------------------
;----------------------------------------------------------------
;----------------------------------------------------------------
;----------------------------------------------------------------
;SUBRUTINAS"LCD_ENVIACOMANDO"Y"LCD_CARACTER"---------------------
LCD_ENVIACOMANDO
BCF LCD_PINRS
GOTO LCD_ENVIA
LCD_CARACTER
BSF LCD_PINRS
CALL LCD_CODIGOCGROM
LCD_ENVIA
MOVWF LCD_GUARDADATO
CALL LCD_ESCRIBELCD

Вам также может понравиться