;------------------------------------------------------------
; Código assembler 
; Proyecto: usart_prueba
; Autor: 
; Fecha: 06/08/2018
; PIC: 16F877A
; Velocidad de reloj: 4 Mhz
;------------------------------------------------------------
		    LIST    P=PIC16F877A
		    INCLUDE P16F877A.INC

	__CONFIG _FOSC_XT & _WDTE_OFF & _PWRTE_OFF & _BOREN_ON & _LVP_OFF & _CPD_OFF & _WRT_OFF & _CP_OFF
    
		   
PUERTO_TX	    EQU		6	;PIN DE TRANSMICION
PUERTO_RC	    EQU		7	;PINDE RECEPCION		
		
		    CBLOCK	0x20
		    ENDC
STAR		    ORG		0x00	    ;DIRECCION DE VECTOR RESET
		    PAGESEL	COMIENZO
		    GOTO	COMIENZO    ;COMIENZO DEL PROGRAMA
		    CODE
T_Texto_NEX	    MOVWF	PCL
Mensaje_NEX_1	    DT		"HOLA MUNDO"0x00
Mensaje_NEX_2	    DT		"HOLA MUNDO"0x00		    
Mensaje_NEX_3	    DT		"HOLA MUNDO"0x00		    
Mensaje_NEX_4	    DT		"HOLA MUNDO"0x00		    

;*********************INICIAMOS USART Y NEXTION*********************************	    

COMIENZO	    CALL	Inicia_USART_Nextion
		    CALL	Inicia_Nextion
		    
;********************BORAMOS LOS TEXTOS DE TODOS LOS OBJETOS********************		    

Principal	    MOVLW	d'0'            ;SELEC  OBJETO 0
		    CALL	ID_Objeto
		    CALL	Nex_Texto_Borra ;BORRA TODO EL TEXTO
		    CALL	Retardo_1s
		    MOVLW	d'1'            ;SELEC  OBJETO 1
		    CALL	ID_Objeto
		    CALL	Nex_Texto_Borra ;BORRA TODO EL TEXTO
		    CALL	Retardo_1s
		    MOVLW	d'2'            ;SELEC  OBJETO 2
		    CALL	ID_Objeto
		    CALL	Nex_Texto_Borra ;BORRA TODO EL TEXTO
		    CALL	Retardo_1s
		    MOVLW	d'3'            ;SELEC  OBJETO 3
		    CALL	ID_Objeto
		    CALL	Nex_Texto_Borra ;BORRA TODO EL TEXTO
		    CALL	Retardo_1s
;*****************MANDAMOS 4 MENSAJES UNO POR OBJETO ***************************		    
		    CALL	Retardo_1s
		    MOVLW	d'0'            ;SELEC  OBJETO 0
		    CALL	ID_Objeto
		    MOVLW	Mensaje_NEX_1   ;MENSAJE 1
		    CALL	Nex_Texto_Envia ;ENVIA MENSAJE
		    CALL	Retardo_1s
		    MOVLW	d'1'            ;SELEC  OBJETO 1
		    CALL	ID_Objeto
		    MOVLW	Mensaje_NEX_1	;MENSAJE 2
		    CALL	Nex_Texto_Envia	;ENVIA MENSAJE
		    CALL	Retardo_1s
		    MOVLW	d'2'            ;SELEC  OBJETO 2
		    CALL	ID_Objeto
		    MOVLW	Mensaje_NEX_1	;MENSAJE 3
		    CALL	Nex_Texto_Envia	;ENVIA MENSAJE
		    CALL	Retardo_1s
		    MOVLW	d'3'            ;SELEC  OBJETO 3
		    CALL	ID_Objeto
		    MOVLW	Mensaje_NEX_1	;MENSAJE 4
		    CALL	Nex_Texto_Envia	;ENVIA MENSAJE
		    CALL	Retardo_1s
;*****************CAMBIAMOS DOS FUENTES A TODO LOS TEXTOS***********************
		    CALL	Retardo_1s
		    MOVLW	d'0'            ;SELEC  OBJETO 0
		    CALL	ID_Objeto
		    MOVLW	d'0'		;SELEC NUMERO FUENTE 0
		    CALL	Nex_Texto_Fuente
		    CALL	Retardo_1s
		    MOVLW	d'1'            ;SELEC  OBJETO 1
		    CALL	ID_Objeto
		    MOVLW	d'0'		;SELEC NUMERO FUENTE 0
		    CALL	Nex_Texto_Fuente
		    CALL	Retardo_1s
		    MOVLW	d'2'            ;SELEC  OBJETO 2
		    CALL	ID_Objeto
		    MOVLW	d'0'		;SELEC NUMERO FUENTE 0
		    CALL	Nex_Texto_Fuente
		    CALL	Retardo_1s
		    MOVLW	d'3'            ;SELEC  OBJETO 3
		    CALL	ID_Objeto
		    MOVLW	d'0'		;SELEC NUMERO FUENTE 0
		    CALL	Nex_Texto_Fuente
		    CALL	Retardo_1s
		    MOVLW	d'0'            ;SELEC  OBJETO 0
		    CALL	ID_Objeto
		    MOVLW	d'1'		;SELEC NUMERO FUENTE 1
		    CALL	Nex_Texto_Fuente
		    CALL	Retardo_1s
		    MOVLW	d'1'            ;SELEC  OBJETO 1
		    CALL	ID_Objeto
		    MOVLW	d'1'		;SELEC NUMERO FUENTE 1
		    CALL	Nex_Texto_Fuente
		    CALL	Retardo_1s
		    MOVLW	d'2'            ;SELEC  OBJETO 2
		    CALL	ID_Objeto
		    MOVLW	d'1'		;SELEC NUMERO FUENTE 1
		    CALL	Nex_Texto_Fuente
		    CALL	Retardo_1s
		    MOVLW	d'3'            ;SELEC  OBJETO 3
		    CALL	ID_Objeto
		    MOVLW	d'1'		;SELEC NUMERO FUENTE 1
		    CALL	Nex_Texto_Fuente
;****************PASSWORD ON Y LUEGO PASSWORD OFF*******************************
		    CALL	Retardo_1s
		    MOVLW	d'0'            ;SELEC  OBJETO 0
		    CALL	ID_Objeto
		    MOVLW	d'1'		;PASSWOR ON
		    CALL	Nex_Texto_Password
		    CALL	Retardo_1s
		    MOVLW	d'1'            ;SELEC  OBJETO 1
		    CALL	ID_Objeto
		    MOVLW	d'1'		;PASSWOR ON
		    CALL	Nex_Texto_Password
		    CALL	Retardo_1s
		    MOVLW	d'2'            ;SELEC  OBJETO 2
		    CALL	ID_Objeto
		    MOVLW	d'1'		;PASSWOR ON
		    CALL	Nex_Texto_Password
		    CALL	Retardo_1s
		    MOVLW	d'3'            ;SELEC  OBJETO 3
		    CALL	ID_Objeto
		    MOVLW	d'1'		;PASSWOR ON
		    CALL	Nex_Texto_Password
		    CALL	Retardo_1s
		    MOVLW	d'0'            ;SELEC  OBJETO 0
		    CALL	ID_Objeto
		    MOVLW	d'0'		;PASSWOR OFF
		    CALL	Nex_Texto_Password
		    CALL	Retardo_1s
		    MOVLW	d'1'            ;SELEC  OBJETO 1
		    CALL	ID_Objeto
		    MOVLW	d'0'		;PASSWOR OFF
		    CALL	Nex_Texto_Password
		    CALL	Retardo_1s
		    MOVLW	d'2'            ;SELEC  OBJETO 2
		    CALL	ID_Objeto
		    MOVLW	d'0'		;PASSWOR OFF
		    CALL	Nex_Texto_Password
		    CALL	Retardo_1s
		    MOVLW	d'3'            ;SELEC  OBJETO 3
		    CALL	ID_Objeto
		    MOVLW	d'0'		;PASSWOR OFF
		    CALL	Nex_Texto_Password
		    
;***MOVEMOS TODOS LOS MENSAJES EN EL EJE X LAS TRES OPCIONES Y LUEGO AL CENTRO**
		    CALL	Retardo_1s
		    MOVLW	d'0'            ;SELEC  OBJETO 0
		    CALL	ID_Objeto
		    MOVLW	d'0'		;DERECHA
		    CALL	Nex_Texto_Pos_X
		    CALL	Retardo_1s
		    MOVLW	d'1'            ;SELEC  OBJETO 1
		    CALL	ID_Objeto
		    MOVLW	d'0'		;DERECHA
		    CALL	Nex_Texto_Pos_X
		    CALL	Retardo_1s
		    MOVLW	d'2'            ;SELEC  OBJETO 2
		    CALL	ID_Objeto
		    MOVLW	d'0'		;DERECHA
		    CALL	Nex_Texto_Pos_X
		    CALL	Retardo_1s
		    MOVLW	d'3'            ;SELEC  OBJETO 3
		    CALL	ID_Objeto
		    MOVLW	d'0'		;DERECHA
		    CALL	Nex_Texto_Pos_X
		    
		    CALL	Retardo_1s
		    MOVLW	d'0'            ;SELEC  OBJETO 0
		    CALL	ID_Objeto
		    MOVLW	d'1'		;CENTRO
		    CALL	Nex_Texto_Pos_X
		    CALL	Retardo_1s
		    MOVLW	d'1'            ;SELEC  OBJETO 1
		    CALL	ID_Objeto
		    MOVLW	d'1'		;CENTRO
		    CALL	Nex_Texto_Pos_X
		    CALL	Retardo_1s
		    MOVLW	d'2'            ;SELEC  OBJETO 2
		    CALL	ID_Objeto
		    MOVLW	d'1'		;CENTRO
		    CALL	Nex_Texto_Pos_X
		    CALL	Retardo_1s
		    MOVLW	d'3'            ;SELEC  OBJETO 3
		    CALL	ID_Objeto
		    MOVLW	d'1'		;CENTRO
		    CALL	Nex_Texto_Pos_X
		    
		    CALL	Retardo_1s
		    MOVLW	d'0'            ;SELEC  OBJETO 0
		    CALL	ID_Objeto
		    MOVLW	d'2'		;IZQUIERDA
		    CALL	Nex_Texto_Pos_X
		    CALL	Retardo_1s
		    MOVLW	d'1'            ;SELEC  OBJETO 1
		    CALL	ID_Objeto
		    MOVLW	d'2'		;IZQUIERDA
		    CALL	Nex_Texto_Pos_X
		    CALL	Retardo_1s
		    MOVLW	d'2'            ;SELEC  OBJETO 2
		    CALL	ID_Objeto
		    MOVLW	d'2'		;IZQUIERDA
		    CALL	Nex_Texto_Pos_X
		    CALL	Retardo_1s
		    MOVLW	d'3'            ;SELEC  OBJETO 3
		    CALL	ID_Objeto
		    MOVLW	d'2'		;IZQUIERDA
		    CALL	Nex_Texto_Pos_X
		    
		    CALL	Retardo_1s
		    MOVLW	d'0'            ;SELEC  OBJETO 0
		    CALL	ID_Objeto
		    MOVLW	d'1'		;CENTRO
		    CALL	Nex_Texto_Pos_X
		    CALL	Retardo_1s
		    MOVLW	d'1'            ;SELEC  OBJETO 1
		    CALL	ID_Objeto
		    MOVLW	d'1'		;CENTRO
		    CALL	Nex_Texto_Pos_X
		    CALL	Retardo_1s
		    MOVLW	d'2'            ;SELEC  OBJETO 2
		    CALL	ID_Objeto
		    MOVLW	d'1'		;CENTRO
		    CALL	Nex_Texto_Pos_X
		    CALL	Retardo_1s
		    MOVLW	d'3'            ;SELEC  OBJETO 3
		    CALL	ID_Objeto
		    MOVLW	d'1'		;CENTRO
		    CALL	Nex_Texto_Pos_X
;MOVEMOS TODOS LOS MENSAJES EN EL EJE Y*****************************************
		    
		    CALL	Retardo_1s
		    MOVLW	d'0'            ;SELEC  OBJETO 0
		    CALL	ID_Objeto
		    MOVLW	d'0'		;DERECHA
		    CALL	Nex_Texto_Pos_Y
		    CALL	Retardo_1s
		    MOVLW	d'1'            ;SELEC  OBJETO 1
		    CALL	ID_Objeto
		    MOVLW	d'0'		;DERECHA
		    CALL	Nex_Texto_Pos_Y
		    CALL	Retardo_1s
		    MOVLW	d'2'            ;SELEC  OBJETO 2
		    CALL	ID_Objeto
		    MOVLW	d'0'		;DERECHA
		    CALL	Nex_Texto_Pos_Y
		    CALL	Retardo_1s
		    MOVLW	d'3'            ;SELEC  OBJETO 3
		    CALL	ID_Objeto
		    MOVLW	d'0'		;DERECHA
		    CALL	Nex_Texto_Pos_Y
		    
		    CALL	Retardo_1s
		    MOVLW	d'0'            ;SELEC  OBJETO 0
		    CALL	ID_Objeto
		    MOVLW	d'1'		;CENTRO
		    CALL	Nex_Texto_Pos_Y
		    CALL	Retardo_1s
		    MOVLW	d'1'            ;SELEC  OBJETO 1
		    CALL	ID_Objeto
		    MOVLW	d'1'		;CENTRO
		    CALL	Nex_Texto_Pos_Y
		    CALL	Retardo_1s
		    MOVLW	d'2'            ;SELEC  OBJETO 2
		    CALL	ID_Objeto
		    MOVLW	d'1'		;CENTRO
		    CALL	Nex_Texto_Pos_Y
		    CALL	Retardo_1s
		    MOVLW	d'3'            ;SELEC  OBJETO 3
		    CALL	ID_Objeto
		    MOVLW	d'1'		;CENTRO
		    CALL	Nex_Texto_Pos_Y
		    
		    CALL	Retardo_1s
		    MOVLW	d'0'            ;SELEC  OBJETO 0
		    CALL	ID_Objeto
		    MOVLW	d'2'		;IZQUIERDA
		    CALL	Nex_Texto_Pos_Y
		    CALL	Retardo_1s
		    MOVLW	d'1'            ;SELEC  OBJETO 1
		    CALL	ID_Objeto
		    MOVLW	d'2'		;IZQUIERDA
		    CALL	Nex_Texto_Pos_Y
		    CALL	Retardo_1s
		    MOVLW	d'2'            ;SELEC  OBJETO 2
		    CALL	ID_Objeto
		    MOVLW	d'2'		;IZQUIERDA
		    CALL	Nex_Texto_Pos_Y
		    CALL	Retardo_1s
		    MOVLW	d'3'            ;SELEC  OBJETO 3
		    CALL	ID_Objeto
		    MOVLW	d'2'		;IZQUIERDA
		    CALL	Nex_Texto_Pos_Y
		    
		    CALL	Retardo_1s
		    MOVLW	d'0'            ;SELEC  OBJETO 0
		    CALL	ID_Objeto
		    MOVLW	d'1'		;CENTRO
		    CALL	Nex_Texto_Pos_Y
		    CALL	Retardo_1s
		    MOVLW	d'1'            ;SELEC  OBJETO 1
		    CALL	ID_Objeto
		    MOVLW	d'1'		;CENTRO
		    CALL	Nex_Texto_Pos_Y
		    CALL	Retardo_1s
		    MOVLW	d'2'            ;SELEC  OBJETO 2
		    CALL	ID_Objeto
		    MOVLW	d'1'		;CENTRO
		    CALL	Nex_Texto_Pos_Y
		    CALL	Retardo_1s
		    MOVLW	d'3'            ;SELEC  OBJETO 3
		    CALL	ID_Objeto
		    MOVLW	d'1'		;CENTRO
		    CALL	Nex_Texto_Pos_Y
;********CAMBIO COLOR FONDO ****************************************************
		    CALL	Retardo_1s
		    MOVLW	d'0'            ;SELEC  OBJETO 0
		    CALL	ID_Objeto
		    MOVLW	B'00000011'	;COLOR 1000
		    CALL	BIN_a_BCD_16_H
		    MOVLW	B'11101000'
		    CALL	BIN_a_BCD_16_L
		    CALL	Nex_Texto_Color_Fondo
		    
		    CALL	Retardo_1s
		    MOVLW	d'1'            ;SELEC  OBJETO 1
		    CALL	ID_Objeto
		    MOVLW	B'00000111'	;COLOR 2000
		    CALL	BIN_a_BCD_16_H
		    MOVLW	B'11010000'
		    CALL	BIN_a_BCD_16_L
		    CALL	Nex_Texto_Color_Fondo
		    
		    CALL	Retardo_1s
		    MOVLW	d'2'            ;SELEC  OBJETO 2
		    CALL	ID_Objeto
		    MOVLW	B'00001011'	;COLOR 3000
		    CALL	BIN_a_BCD_16_H
		    MOVLW	B'10111000'
		    CALL	BIN_a_BCD_16_L
		    CALL	Nex_Texto_Color_Fondo
		    
		    CALL	Retardo_1s
		    MOVLW	d'3'            ;SELEC  OBJETO 3
		    CALL	ID_Objeto
		    MOVLW	B'00001111'	;COLOR 4000
		    CALL	BIN_a_BCD_16_H
		    MOVLW	B'10100000'
		    CALL	BIN_a_BCD_16_L
		    CALL	Nex_Texto_Color_Fondo
		    
		    CALL	Retardo_1s
		    MOVLW	d'0'            ;SELEC  OBJETO 0
		    CALL	ID_Objeto
		    MOVLW	B'11111111'	;COLOR 65535
		    CALL	BIN_a_BCD_16_H
		    MOVLW	B'11111111'
		    CALL	BIN_a_BCD_16_L
		    CALL	Nex_Texto_Color_Fondo
		    
		    CALL	Retardo_1s
		    MOVLW	d'1'            ;SELEC  OBJETO 1
		    CALL	ID_Objeto
		    MOVLW	B'11111111'	;COLOR 65535
		    CALL	BIN_a_BCD_16_H
		    MOVLW	B'11111111'
		    CALL	BIN_a_BCD_16_L
		    CALL	Nex_Texto_Color_Fondo
		    
		    CALL	Retardo_1s
		    MOVLW	d'2'            ;SELEC  OBJETO 2
		    CALL	ID_Objeto
		    MOVLW	B'11111111'	;COLOR 65535
		    CALL	BIN_a_BCD_16_H
		    MOVLW	B'11111111'
		    CALL	BIN_a_BCD_16_L
		    CALL	Nex_Texto_Color_Fondo
		    
		    CALL	Retardo_1s
		    MOVLW	d'3'            ;SELEC  OBJETO 3
		    CALL	ID_Objeto
		    MOVLW	B'11111111'	;COLOR 65535
		    CALL	BIN_a_BCD_16_H
		    MOVLW	B'11111111'
		    CALL	BIN_a_BCD_16_L
		    CALL	Nex_Texto_Color_Fondo
		    
;*******CAMBIO COLOR FUENTE*****************************************************
		    CALL	Retardo_1s
		    MOVLW	d'0'            ;SELEC  OBJETO 0
		    CALL	ID_Objeto
		    MOVLW	B'11111000'	;COLOR 1000
		    CALL	BIN_a_BCD_16_H
		    MOVLW	B'00000000'
		    CALL	BIN_a_BCD_16_L
		    CALL	Nex_Texto_Color_Fuente
		    
		    CALL	Retardo_1s
		    MOVLW	d'1'            ;SELEC  OBJETO 1
		    CALL	ID_Objeto
		    MOVLW	B'11111100'	;COLOR 2000
		    CALL	BIN_a_BCD_16_H
		    MOVLW	B'00000011'
		    CALL	BIN_a_BCD_16_L
		    CALL	Nex_Texto_Color_Fuente
		    
		    CALL	Retardo_1s
		    MOVLW	d'2'            ;SELEC  OBJETO 2
		    CALL	ID_Objeto
		    MOVLW	B'11111111'	;COLOR 3000
		    CALL	BIN_a_BCD_16_H
		    MOVLW	B'11100000'
		    CALL	BIN_a_BCD_16_L
		    CALL	Nex_Texto_Color_Fuente
		    
		    CALL	Retardo_1s
		    MOVLW	d'3'            ;SELEC  OBJETO 3
		    CALL	ID_Objeto
		    MOVLW	B'11101110'	;COLOR 4000
		    CALL	BIN_a_BCD_16_H
		    MOVLW	B'10010010'
		    CALL	BIN_a_BCD_16_L
		    CALL	Nex_Texto_Color_Fuente
		    
		    CALL	Retardo_1s
		    MOVLW	d'0'            ;SELEC  OBJETO 0
		    CALL	ID_Objeto
		    MOVLW	B'00000000'	;COLOR 0
		    CALL	BIN_a_BCD_16_H
		    MOVLW	B'00000000'
		    CALL	BIN_a_BCD_16_L
		    CALL	Nex_Texto_Color_Fuente
		    
		    CALL	Retardo_1s
		    MOVLW	d'1'            ;SELEC  OBJETO 1
		    CALL	ID_Objeto
		    MOVLW	B'00000000'	;COLOR 0
		    CALL	BIN_a_BCD_16_H
		    MOVLW	B'00000000'
		    CALL	BIN_a_BCD_16_L
		    CALL	Nex_Texto_Color_Fuente
		    
		    CALL	Retardo_1s
		    MOVLW	d'2'            ;SELEC  OBJETO 2
		    CALL	ID_Objeto
		    MOVLW	B'00000000'	;COLOR 0
		    CALL	BIN_a_BCD_16_H
		    MOVLW	B'00000000'
		    CALL	BIN_a_BCD_16_L
		    CALL	Nex_Texto_Color_Fuente
		    
		    CALL	Retardo_1s
		    MOVLW	d'3'            ;SELEC  OBJETO 3
		    CALL	ID_Objeto
		    MOVLW	B'00000000'	;COLOR O
		    CALL	BIN_a_BCD_16_H
		    MOVLW	B'00000000'
		    CALL	BIN_a_BCD_16_L
		    CALL	Nex_Texto_Color_Fuente
		    
		    
		    
		    CALL	Retardo_1s
		    GOTO	Principal	
;-------------------------------------------------------------------------------		    
		    
		    INCLUDE	<NEXTION_SUB.INC>
		    INCLUDE	<RETARDOS.INC>
		    END
; Descripción:
;		    
;		EN ALGUNOS CASOS LAS VARIABLES LAS RELLENO ASI (xxxxxx)
;		
;		    
;
;************** RUTINAS HASTA HAORA ******************************************** 
;	
;	***Inicia_USART_Nextion***
;  Configura el puerto donde están los pines TX t RC para la comunicación USART,
;  en mi caso con el pic 16f877a lo encontramos en el puerto C pines 6 y 7.
;  configura los registros de transmisión y recepción
;  Modos asincrónico, 8 bits, alta velocidad, 9600 baudios / 4Mhz
;  Habilita comunicación USART y recepción constante 
;  NOTA: En algunos ejemplos e cambiado el cristal de 4Mhz por uno de 20Mhz
;  esto porque para hacer algunas pruebas me va mejor que trabaje más rápido
;  cambie la velocidad de transmisión a 115200 baudios
;  aquí una tabla FOSC XT 4Mhz+SPBRG=25 9600 baudio
;		 FOSC HS 20Mhz +SPBRG=129 9600 baudio
;		 FOSC HS 20Mhz +SPBRG=10 115200 baudio
;  SINTAXIS:
;		CALL	Inicia_USART_Nextion	
;
;	***Inicia_Nextion***
;  espera un tiempo para que se estabilice la pantalla y el puerto USART
;  transmite inicio 0x00,0x00,0x00,0xff,0xff,0xff (ASCII 000ÿÿÿ)
;  espera otro tiempo.
;
;  SINTAXIS:
;		CALL	Inicia_Nextion	
;
;       ***ID_Objeto***
;  Identifica el número de objeto al que nos vamos a dirigir.
;  como en este caso Nxtion segun mis pruebas no me deja poner 
;  ceros por delante, ay que hacer una criba. Ejenplo;
;        t00x.txt="HOLA MUNDO"ÿÿÿ ----> falso 
;   	 tx.txt="HOLA MUNDO"ÿÿÿ ------> verdadero
;  este pregunta si ay 0 en centenas si es así envía centenas , decenas, y unidades.
;  sin tocar si es 0 entonces y no la convertimos a ASCII para que de como carácter nulo 
;  luego en la rutina de envió hacemos otra criba, saltándonos  todos los caracteres nulos
;  repetimos lo mismo con decenas y la única que se envía tal cual convertida en ASCII
;  es unidades, ya que unidades si puede valer 0. (t0)
;
;  SINTAXIS
;		movlw	d'xxx'
;		call	ID_Objeto
;
;
;  NOTA: tanto si es para enviar un mensaje como para cualquier atributo ay que tener en
;  cuenta el número de objeto.
;
;
;	***Nex_Texto_Envia***
;  esta rutina manda un mensaje de texto para el objeto texto de nuestra pantalla,
;  utilizando la directiva DT.
;  enviamos todo lo referido al tipo de objeto, el número de objeto, la función que nos interesa
;  (en este caso txt) y luego lamamos al mensaje.
;  NOTA: según mis primeras pruebas los mensajes a enviar deben estar encerrados entre             
;  comillas    ("  ").
;
;  esto es lo que envía esta rutina   tx.txt=" call mensaje "ÿÿÿ
;
;
;  SINTAXIS	
;		T_Texto_NEX	    MOVWF	PCL		    ;todos los mensajes a enviar 
;		Mensaje_NEX_1	    DT		"HOLA MUNDO", 0x00  ;deben estar ubicados en la 
;								    ;cabecera después del org de
;		Inicio						    ;inicio
;
;		                    CALL	Inicia_USART_Nextion
;		                    CALL	Inicia_Nextion
;		                    ---------------------------------
;				----------------------------------
;				 ----------------------------------   
;				------------------------------------
;				    MOVLW	d'xxx'
;		                    CALL	ID_Objeto
;				    MOVLW	Mensaje_NEX_1
;		    		    CALL	Nex_Texto_Envia
;
;
;	***Nex_Testo_Color_Fondo***
;  esta subrutina nos permite cambiar dentro de nuestro marco de texto, su color.
;  puede ir desde 0 hasta 65535, (esto requiere registro de 16 bits xxxxx_h xxxx_l)
;  (tx.bco=xxxxxÿÿÿ)
;
;
;  SINTAXIS
;		CALL	Nex_Testo_Color_Fondo
;
;		    
;	***Nex_Testo_Color_Fuente***
;  esta subrutina nos permite cambiar dentro de nuestro marco de texto, el color .
;  de la fuente puede ir desde 0 hasta 65535, (esto requiere registro de 16 bits 
;  xxxxx_h xxxx_l)      (tx.bco=xxxxxÿÿÿ)
;  
;
;
;  SINTAXIS
;		CALL	Nex_Testo_Color_Fuente
;		    
;
;		    
;	***Nex_Texto_Password
;  Con esta rutina si ponemos 1 el texto se cambia por asteriscos  y si 
;  ponemos 0 se ve el texto normal. (tXXX.pw=X)
;
;		    
; SINTAXIS
;		MOVLW	d'1'
;		CALL	Nex_Testo_Password
;		
;		MOVLW	d'0'
;		CALL	Nex_Testo_Password
;
;
;	***Nex_Texto_Pos_X***
;  esta rutina posiciona nuestro texto  en el eje x. tiene 3 posiciones.
;  si no se declara la posicion o esta es mayor que 2, por defecto ella 
;  la pondra en 0 (derecha)		    
;
;		    
;	derecha      = 0
;	centro       = 1
;	izquierda    = 2
;
;		    
;  SINTAXIS
;		MOVLW	d?X?
;		CALL		Nex_Texto_Pos_X
;
;
;	***Nex_Texto_Pos_Y***
;  esta rutina posiciona nuestro texto  en el eje Y. tiene 3 posiciones.
;  si no se declara la posicion o esta es mayor que 2, por defecto ella 
;  la pondra en 0 (uo)		    
;
;		    
;	up	     = 0
;	centro       = 1
;	down	     = 2
;
;		    
;  SINTAXIS
;		MOVLW	d'X'
;		CALL		Nex_Texto_Pos_Y
;		    
;		    
;	***Nex_Texto_Lineas***
;  esta rutina  pone todo el mensaje en una línea o salta la renglón siguiente 
;  según el tamaño del marco texto EJ:
;
;		    
;	Mensaje: hola mondo hola mondo hola mondo hola mondo
;	
;	Una linea	------------	multiple    ------------
;			*	   *		    *hola mundo*
;			*	   *		    *hola mundo*
;			*mundo hola*		    *hola mundo*
;			*	   *		    *hola mundo*
;			*	   *		    ------------ 
;			------------		    
;			
;  si es 0 todo en una línea si es 1 todo en varias líneas si no se define o es mayo que 1 
;  Poner por defecto todo en una línea (0)
;  SINTAXIS
;		MOVLW	d?X?
;		CALL		Nex_Texto_Lineas
;		    
;		    
;		    
;	***Nex_Texto_Fuente***
;  Esta rutina  es para cambiar el tipo de fuente del texto. El número de fuente 
;  va determinado a la cantidad  de fuentes que tengáis cargadas en el editor de 
;  nextion.
;  NOTA: según pruebas el número máximo es de 255.
;
;		    
;		    
;  SINTAXIS
;		MOVLW	d?X?
;		CALL		Nex_Texto_Fuente
		    


