;****************************************************************************************************************************
;****************************************************************************************************************************
;***********************PROGRAMA PARA EL MANEJO DE UN DISPLAY DE 16X2 DEPENDIENDO DEL CIRCUITO ACTUAL************************
;***********************ESTE PROGRAMA NO PIENSA NADA Y SOLO SACA LAS SALIDAS DEL JP2 DEL CIRUCITO PRINCIPAL******************
;************************************************************2012/4**********************************************************
;****************************************************************************************************************************
;****************************************************************************************************************************

	LIST		P=16F877A
	INCLUDE		<P16F877A.INC>
	
	__CONFIG 	_CP_ALL & _DEBUG_OFF & _WRT_OFF & _CPD_ON & _LVP_OFF & _BODEN_ON & _HS_OSC & _WDT_OFF & _PWRTE_ON


			
V_RESET   	org          0x000
			nop
			nop
      	    goto         main
       	 	org          0x004


main	bcf		STATUS,	RP0
		clrf	PORTB
		clrf	PORTC
		clrf	PORTD
		bsf		STATUS,	RP0
		clrf	PORTB
		clrf	PORTD
		clrf	PORTC
		bcf		STATUS,	RP0

Inicio	
		call	LCD_Inicializa
		call	Men_inic
		call	Retardo_500ms

;***********CONVERSION DE LA ENTRADA 1-5V A DIGITAL*****************************************************

Initad1
		bsf			STATUS, RP0			
		movlw		b'00001110'
		movwf		ADCON1
		bcf			STATUS, RP0
		movlw		b'01000001'
		movwf		ADCON0
		call		Retardo_50micros
		bsf			ADCON0, 2
loop1	btfsc		ADCON0, 2
		goto		loop1
		call		Retardo_10micros

;************************0-5 V    = 255x10 /51  *******************************************************

Out
	call		LCD_Linea1
	call		LCD_Output	
	movfw		ADRESH
	movwf		Arit_Multiplicando
	movlw		d'10'
	movwf		Arit_Multiplicador
	call		Arit_Multiplica_8Bit
	movfw		Arit_Producto_H
	movwf		Arit_Dividendo_H
	movfw		Arit_Producto_L
	movwf		Arit_Dividendo_L
	movlw		d'51'
	movwf		Arit_Divisor
	call		Arit_Divide_16Bit
	movfw		Arit_Cociente_H			
	movwf		NumH
	movfw		Arit_Cociente_L
	movwf		NumL
	call 		LCD_Dec		
;	movfw		Thou	
;	call 		LCD_Caracter	
	movfw		Hund
	call 		LCD_Caracter
	movfw		Tens
	call 		LCD_Caracter
	movlw		'.'
	call 		LCD_Caracter
	movfw		Ones
	call 		LCD_Caracter
	movlw		' '
	call		LCD_Caracter
	movlw		'V'
	call		LCD_Caracter
	call		LCD_DosEspaciosBlancos
	call		LCD_Linea2
	call		LCD_LineaEnBlanco
	nop
	goto		Initad1


;******************************MENSAJES************************************

Men_inic	
	movlw	'P'
	call	LCD_Caracter
	movlw	'R'
	call	LCD_Caracter
	movlw	'O'
	call	LCD_Caracter
	movlw	'G'
	call	LCD_Caracter
	movlw	'R'
	call	LCD_Caracter
	movlw	'A'
	call	LCD_Caracter
	movlw	'M'
	call	LCD_Caracter
	movlw	'A'
	call	LCD_Caracter
	movlw	' '
	call	LCD_Caracter
	movlw	' '
	call	LCD_Caracter
	movlw	' '
	call	LCD_Caracter
	movlw	' '
	call	LCD_Caracter
	movlw	' '
	call	LCD_Caracter	
	movlw	' '
	call	LCD_Caracter
	movlw	' '
	call	LCD_Caracter
	call	Retardo_500ms
	call	LCD_Linea2
	movlw	'P'
	call	LCD_Caracter
	movlw	'O'
	call	LCD_Caracter
	movlw	'R'
	call	LCD_Caracter
	movlw	'C'
	call	LCD_Caracter
	movlw	'E'
	call	LCD_Caracter
	movlw	'N'
	call	LCD_Caracter
	movlw	'T'
	call	LCD_Caracter
	movlw	'A'
	call	LCD_Caracter
	movlw	'J'
	call	LCD_Caracter
	movlw	'E'
	call	LCD_Caracter
	movlw	' '
	call	LCD_Caracter
	movlw	'2'
	call	LCD_Caracter	
	movlw	'0'
	call	LCD_Caracter
	movlw	'1'
	call	LCD_Caracter
	movlw	'2'
	call	LCD_Caracter
	movlw	' '
	call	LCD_Caracter
	call	Retardo_500ms
	return

LCD_Output
	movlw	'E'
	call	LCD_Caracter
	movlw	'N'
	call	LCD_Caracter
	movlw	'T'
	call	LCD_Caracter
	movlw	'R'
	call	LCD_Caracter
	movlw	'A'
	call	LCD_Caracter
	movlw	'D'
	call	LCD_Caracter
	movlw	'A'
	call	LCD_Caracter
	movlw	':'
	call	LCD_Caracter
	movlw	' '
	call	LCD_Caracter
	return




	#INCLUDE  <LCD_4BIT.INC>			
	#INCLUDE  <RETARDOS.INC>
	#INCLUDE  <BIN_DEC.INC>
	#INCLUDE  <ARIT.INC>	
	
	END								
