PROCESSOR   16F887
#include    <xc.inc>
///////////////////////////////////////////////////////////////////////////////
CONFIG		FOSC  = EXTRC_NOCLKOUT
CONFIG		WDTE  = OFF
CONFIG		PWRTE = OFF
CONFIG		MCLRE = ON
CONFIG		BOREN = ON
CONFIG		LVP   = OFF
CONFIG		CPD   = OFF
CONFIG		CP    = OFF
CONFIG		IESO  = OFF  
CONFIG		FCMEN = OFF
CONFIG		BOR4V = BOR40V
CONFIG		WRT   = OFF
///////////////////////////////////////////////////////////////////////////////    
    X		EQU	    20H	    
    Y		EQU	    21H
    Z		EQU	    22H
///////////////////////////////////////////////////////////////////////////////    
    resetVector:    org	    0
		    goto    CONF
///////////////////////////////////////////////////////////////////////////////		    
    CONF:
    ;Configurar Pines de E/S como analogica RA0 y salidas digitales RC
    BANKSEL	TRISA
    BSF		TRISA,0
    BANKSEL	ANSEL
    CLRF	ANSEL
    MOVLW	11111111B
    MOVWF	ANSEL
    BANKSEL	TRISC
    CLRF	TRISC
    BANKSEL	TRISD
    CLRF	TRISD
    /////////////////////
    BANKSEL	PSTRCON
    CLRF	PSTRCON
    ;Justificar a la Izquierda
    BANKSEL	ADCON1	    
    MOVLW	10000000B    
    MOVWF	ADCON1 
    ;Seleccionar reloj, Ch de entrada AN/0 y activar modulo ADC
    BANKSEL	ADCON0
    MOVLW	01000001B   
    MOVWF	ADCON0
///////////////////////////////////////////////////////////////////////////////    
    MAIN:
    CALL	DELAY
    BSF		ADCON0,1
    BTFSC	ADCON0,1
    GOTO	$-1
    MOVF	ADRESH,w
    MOVWF	PORTC
    MOVF	ADRESL,w
    MOVWF	PORTD
    GOTO	CONF
///////////////////////////////////////////////////////////////////////////////
    DELAY:
    MOVLW       5
    MOVWF	Z
    TRES:
    MOVLW	80
    MOVWF	X
    DOS:
    MOVLW	250
    MOVWF	Y
    UNO:
    NOP
    NOP
    DECFSZ	Y,1
    GOTO	UNO
    DECFSZ	X,1
    GOTO	DOS
    DECFSZ	Z,1
    GOTO	TRES
    CLRF	X
    CLRF	Y
    CLRF	Z
    RETURN
///////////////////////////////////////////////////////////////////////////////
    end		resetVector