;
;					EJEMPLO 2.20
;
;				Autor: Mikel Etxebarria
;			(c) Microsystems Engineering (Bilbao)
;
;Ejemplo para simulación y/o MicroPIC Trainer
;
;El manejo de la pantalla LCD
;
;Este ejemplo pretende introducirnos en el manejo de la pantalla LCD, para la visualización
;de diferentes mensajes (p.e. Hola).
;
;Debe recordarse que las líneas RA0-RA2 actúan ahora como salida de señales de control hacia 
;el LCD. Al estar conectadas con sendos interruptores en la MicroPIC Trainer, estos deben
;estar a nivel lógico "1" permanentemente.

		List	p=16F84		;Tipo de procesador
		include	"P16F84.INC"	;Definiciones de registros internos
                    		
Lcd_var		equ	0x0c		;Variables (2) de las rutinas de manejo del LCD

		org	0x00		;Vector de Reset
		goto	Inicio
		org	0x05		;Salva vector de interrupción

		include	"LCD_Cxx.inc"	;Incluye las rutinas de manejo del LCD

Inicio	        clrf 	PORTB		;Borra los latch de salida
		bsf	STATUS,RP0	;Selecciona banco 1
		clrf	TRISB		;Puerta B se configura como salida
		movlw	b'00011000'		
		movwf	TRISA		;RA0-RA2 salidas, RA3-RA4 entradas				
		bcf	STATUS,RP0	;Selecciona banco 0	
		
		call	LCD_INI		;Secuencia de inicio del LCD
		movlw	b'00001111'
		call	LCD_REG		;Envía instrucción: LCD ON, Cursor ON y blink ON		
		movlw	'H'
		call	LCD_DATO	;Visualiza H
		movlw	'o'
		call	LCD_DATO	;Visualiza o
		movlw	'l'
		call	LCD_DATO	;Visualiza l
		movlw	'a'
		call	LCD_DATO	;Visualiza a
		movlw	' '
		call	LCD_DATO	;Visualiza blanco
		

Loop		sleep			;Puesta en Standby
		goto	Loop		;Vuelta a standby

		end			;Fin del programa fuente

