;****************** Mensaje_07.asm **************
;
;
; El módulo LCD visualiza un mensaje largo (más de 16 caracteres)
; que se desplaza a lo largo de la pantalla.
; 
; ZONA DE DATOS ***************************** 
	
	LIST	P=16F877      ;indicamos procesador que utilizamos
	include	<p16f877.inc>   ;processor specific definitions


	__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC & _LVP_OFF
		
	ERRORLEVEL -302      ;elimina mensaje de warning "not in bank 0" 
  	ERRORLEVEL -203      ;elimina mensaje de warning
  	ERRORLEVEL -305      ;elimina mensaje de warning
  	ERRORLEVEL -205      ;elimina mensaje de warning

;**************Definimos variables para la demora ******************************************

temp_1	equ	20h		;definimos variable temp_1 para la demora
temp_2	equ	21h		;definimos variable temp_2 para la demora
pcl 	equ 22h  		;Registro PC
RECORRE equ 26h

;**************Definimos el puerto de conexionado del LCD, en este caso Puerto D ***********
ORG 0

	clrf	PORTA			;pone a 0 el puerto A	
	clrf	PORTB   		;pone a 0 el puerto B
	clrf	PORTC			;pone a 0 el puerto C
	clrf    PORTE   		;pone a 0 el puerto E
	bsf 	STATUS,RP0  	;Seleccionamos Bank 1
	movlw	0x06   			; ponemos todos los pines        
	movwf	ADCON1			; como digital TTL
	clrf   	TRISA			;indicamos puerto A salidas
	clrf   	TRISB			;indicamos puerto B salidas
	clrf	TRISC			;indicamos puerto C salidas
	clrf	TRISD			;indicamos puerto D salidas               
	MOVLW b'11101001'		; cargo el valor E9 o lo que es lo mismo 233.
    movwf 	TRISE      		;le estoy diciendo con el 001 que RE0= entrada y RE1y2= salidas.
	bcf 	STATUS,RP0  	;Seleccionamos Bank 0
	call	LCD_Inicializa	;inicializamos el LCD desde la librería. 		
	call 	LCD_2Lineas4Bits5x7	;le ponemos en modo 4 bits 2 líneas	

	
x1	call LCD_Borra

	pageselw Mensaje36
	movlw	Mensaje36
	call LCD_Mensaje
	call Retardo_5s
	
 goto x1 ; Repite la visualización.

; "Mensajes" ----------------------------------
;	org	100
Mensajes
	addwf	PCL,F	
Mensaje0	DT "  PROBADOR I/O", 0x00		; Posición inicial del mensaje 0.
Mensaje1	DT "    Version B", 0x00		; Posición inicial del mensaje 1.	
Mensaje2	DT "By David Galera", 0x00		; Posición inicial del mensaje 2.
Mensaje3	DT "P1=Prueba Manual", 0x00		; Empezamos a activar salidas
Mensaje4	DT "P2= Reset", 0x00				; Reiniciamos el programa
Mensaje5	DT "P1= Act. salidas" , 0x00
Mensaje6	DT "PRUEBA AUTO.", 0x00        
Mensaje7	DT "V1-1 ON (5 seg)", 0x00
Mensaje8	DT "V1-2 ON (5 seg)", 0x00	
Mensaje9	DT "V2-1 ON (5 seg)", 0x00	
Mensaje10	DT "V2-2 ON (5 seg)", 0x00	
Mensaje11	DT "V3-1 ON (5 seg)", 0x00	
Mensaje12	DT "V3-2 ON (5 seg)", 0x00	
Mensaje13	DT "PRUEBA TERMINADA",0x00  
Mensaje14	DT "ELECF1 ON", 0X00
Mensaje15	DT "ELECF2 ON", 0x00
Mensaje16	DT "ELECF3 ON", 0x00
Mensaje17	DT "ALARMA_TEC ON", 0x00
Mensaje18	DT "LUZ TOLVA ON", 0x00
Mensaje19	DT "ROTANTE ON", 0x00
Mensaje20	DT "MONITOR ON", 0x00
Mensaje21	DT "ELEC_REC1 ON", 0x00
Mensaje22	DT "ELEC_REC2 ON", 0x00
Mensaje23	DT "ELEC_REC3 ON", 0x00
Mensaje24	DT "ELEC_REC4 ON", 0x00
Mesnaje25	DT "CREDITO ON", 0x00
Mensaje26	DT "MONEDAS ON", 0x00
Mensaje27   DT "BILLETES ON", 0x00
Mensaje28	DT "AUXILIAR ON", 0x00
Mensaje29 	DT "CERR_ELEC ON",0x00
Mensaje30	DT "ALARMA ON", 0x00
Mensaje31	DT "INH_ALARMA ON", 0x00
Mensaje32	DT "Salidas ON", 0x00
Mensaje33	DT "Salidas OFF", 0x00
Mensaje34	DT"Activacion aut.",0x00
Mensaje35	DT"   salidas", 0x00
Mensaje36	DT"INH_24", 0x00
FinMensaje2

INCLUDE <LCD_MENS.INC>
INCLUDE	<LCD_4BIT.INC>
INCLUDE <RETARDOS.INC>
END
