LCD_Habilita
; *************************************************************************************
; *** Envía un pulso de habilitación a la LCD de 500 ns para completar
***
; *** la operación de escribir un registro o un carácter.
***
; *** la instrucción NOP sólo es necesaria para procesadores de una
***
; *** velocidad mayor de 8 Mhz. Para procesadores a más de 16 MHz,
***
; *** añadir un segundo NOP
***
;**************************************************************************************
BSF LCD, LCDE
NOP
BCF LCD,LCDE
RETURN
; Pone a 1 la línea Enable (habilita)
; y espera 1 ciclo (250 ns a 8 MHz)
; Pone a 0 la línea Enable (deshabilita)
Si usted pasa el corrector a la librería observará que le dará 3 errores. Dos de ellos
están en la rutina Pausa_5ms, inexistente. Esta rutina depende grandemente del micro,
la implementación del mismo, y la velocidad de su reloj, por lo que, de emplear la
librería, debería crearla usted mismo en su programa. El otro indica que falta la directiva
END. No la ponga. Las librerías no deben acabar con un END. En el siguiente punto
veremos una sencilla aplicación para utilizar esta librería.
5.3.7 Uso de una librería: LCD.LIB
El uso de una librería es bien sencillo si conocemos sus variables y sus rutinas
internas. Aprovecharemos la creada en el apartado anterior para crear un pequeño
programa que sitúe en la LCD la palabra PIC.
Pocas cosas debemos hacer resaltar para un paso tan sencillo, pero es importante
saber que las rutinas del programa LCDPIC.asm se situarán a continuación de las de la
librería. Como no puede predecir, a priori, en qué dirección de memoria acabará la
librería (y comprobarlo a mano es pesado) no se debe comenzar el mismo como
habitualmente lo hacemos (con una directiva ORG). Sin embargo sí debemos emplear
una para colocar el vector de reset, pero esta irá al final del programa, para no interferir.
La rutina que ejecuta la pausa de 5 ms está basada en la que empleamos en
parpadeo.asm.
En cualquier caso hemos querido hacer notar el uso de dos directivas más de
ensamblador y que, curiosamente, no hemos encontrado en bibliografías distintas de las
suministradas por el fabricante. Estas son #DEFINE y macro.
77