;
status		equ	3h
trisa		equ	5h
trisc		equ	7h
portc		equ	7h
portb		equ	6h
porta		equ	5h
trisb		equ	6h
adcon1		equ	1fh
adcon0		equ	1fh
adresh		equ	1eh
adresl		equ	9eh
conta1		equ	20h
eecon1		equ	18ch
eecon2		equ	18dh
eedata		equ	10ch
eeadr		equ	10dh




			org	00h
reset			goto	inicio
;
			org	05h
;
escribir_eeprom	
			bsf 		status,6
			bsf		status,5		;selecciona  banco 3			
			bcf 		eecon1,7		;acceso a la EEPROM
			bsf		eecon1,2		;permiso de escritura
			movlw		b'01010101'
			movwf		eecon2
			movlw		b'10101010'
			movwf		eecon2			;se meten los valores en el registro de seguridad eecon2 tal como recomienda el fabricante
			bsf		eecon1,1		;orden de escritura
;

espera			btfsc		eecon1,1		;testea fin de escritura
			goto		espera
			bcf		eecon1,2		;se borra el flag de fin de escritura
			bcf		eecon1,3		;se prohibe la escritura de nuevos datos
			bcf		status,5
			bcf		status,6		;selecciona el banco 0
			return
;

inicio		
			bsf		status,5		;selecciona el banco 1
			clrf		trisb			;puertas B se configura como salida
			clrf		trisc			;portC como salidas
			movlw		3fh					
			movwf		trisa			;configura pta a como entradas
			movlw		b'10001110'		;Ra0 como entrada analogica,
			movwf		adcon1			;las demas como entradas digitales y justificacion a la izquierda
			bcf		status,5		;selecciona banco 0
;
			movlw		b'00000001'		;oscilador 2*tosc  C A/D,			
			movwf		adcon0			;el bit ADON esta en 1 activa el C A/D, selecciona canal A0	
;
			
			

;

comienzo		btfsc		porta,3
			goto		espera1
			goto		comienzo



;

espera1   		btfss   	porta,3               
                	goto		espera1                
                          
			
;
			
echoff			clrf		conta1
del1			decfsz		conta1,1
			goto		del1
;

conversion		bsf		adcon0,2		;inicio de la conversion
nolisto			btfsc		adcon0,2
			goto		nolisto
;
			
			bsf		status,6		;selecciona el banco 2
			clrf		eeadr			;selecciona direccion 00 de eeprom
			movf		adresl,w
			movwf		eedata
			call		escribir_eeprom
			incf		eeadr,1
			movf		adresh,w
			movwf		eedata
			call		escribir_eeprom
			
			
			
			
;

visualiza		bsf		status,5
			movf		adresl,w
			bcf		status,5
			movwf		portb
			movf		adresh,w
			movwf		portc
			goto		comienzo

			end
	
