Ensamblador 3: Uso de librería para LCD

A veces es necesario estar repitiendo líneas de código por que éstas realizan acciones que necesitamos hacer varias veces para un proyecto, para esto se pueden utilizar librerías, en ellas están definidas diferentes funciones que hacen alguna acción en particular, por ejemplo para la librería que vamos a utilizar para la LCD está definido la inicialización de la misma, dirigirnos a alguna parte en particular de la LCD y la escritura de caracteres, mediante las funciones:

LCD_Init
LCD_GoTo
LCD_Char

Estas funciones se llaman mediante la instrucción call.

Para utilizar la librería será necesario declararla al final de nuestro código, antes de la instrucción END. Para declararla se escribe la siguiente línea:

INCLUDE <MiuvaLCD.inc>

Así como agregarla a nuestro proyecto, la librería puedes descargarla aquí: MIUVA o MIUVA PRO

Posteriormente, el código para escribir un mensaje en la LCD quedará de la siguiente manera:

LIST    P = 18F4550	;PIC a utilizar
INCLUDE <P18F4550.INC>

;************************************************************
;Configuración de fusibles
    CONFIG  FOSC = HS
    CONFIG  PWRT = ON
    CONFIG  BOR = OFF
    CONFIG  WDT = OFF
    CONFIG  MCLRE = ON
    CONFIG  PBADEN = OFF
    CONFIG  LVP = OFF
    CONFIG  DEBUG = OFF
    CONFIG  XINST = OFF

;***************************************************

    ORG 0x00    ;Iniciar el programa en el registro 0x00
  goto    INICIO

INICIO
  movlw   0x0A    
  movwf   ADCON1  ;Configuración de entradas digitales
  movlw   0x00
  movwf   TRISD   ;Configurar puerto D como salida

  call    LCD_Init	;Inicialización de la LCD
  movlw   0x05
  call    LCD_GoTo	;Ir a la posición 0x05 de la LCD
  movlw   'I'
  call    LCD_Char	;Imprime caracter "I"
  movlw   'N'
  call    LCD_Char	;Imprime caracter "N"
  movlw   'T'
  call    LCD_Char	;Imprime caracter "T"
  movlw   'E'
  call    LCD_Char	;Imprime caracter "E"
  movlw   'S'
  call    LCD_Char	;Imprime caracter "S"
  movlw   'C'
  call    LCD_Char	;Imprime caracter "C"
  movlw   0x42
  call    LCD_GoTo	;Ir a la posición 0x42
  movlw   'M'
  call    LCD_Char	;Imprime caracter "M"
  movlw   'I'
  call    LCD_Char	;Imprime caracter "I"
  movlw   'U'
  call    LCD_Char	;Imprime caracter "U"
  movlw   'V'
  call    LCD_Char	;Imprime caracter "V"
  movlw   'A'
  call    LCD_Char	;Imprime caracter "A"
  movlw   ' '
  call    LCD_Char	;Imprime caracter " "
  movlw   '-'
  call    LCD_Char	;Imprime caracter "-"
  movlw   ' '
  call    LCD_Char	;Imprime caracter " "
  movlw   'L'
  call    LCD_Char	;Imprime caracter "L"
  movlw   'C'
  call    LCD_Char	;Imprime caracter "C"
  movlw   'D'
  call    LCD_Char	;Imprime caracter "D"

BUCLE
  goto	BUCLE

  INCLUDE <MiuvaLCD.inc>

    END
Menú