        LIST    P=16F88A 
        include "P16F88.inc" 
        errorlevel      -302    ;Eliminate bank warning
                          
TEMP    EQU     0x20 
ADON    EQU     0X00 
ADIF    EQU     0X06 
GO_DONE EQU     0X02 
TMR2ON  EQU     0X02 
TMR2IF  EQU     0X01 
RP0     EQU     0x05 
RP1     EQU     0x06 
W                            EQU     H'0000' 
F                            EQU     H'0001' 



        org     0x00 		; Reset Vector
                                        
        clrf    PORTA      	;B0           
        clrf    PORTB           ;B0
        CLRF    STATUS 		;B0
          			;B0
    	Banksel TRISA		;B1 
        CLRF    TRISA 		;B1

				;B1
        BCF     STATUS ,RP0 	;B0
				;B0
        CLRF    T2CON 		;B0
        MOVLW   D'000' 		;B0
        MOVWF   CCPR1L 		;B0
        BSF     STATUS,RP0 	;B1
        MOVLW   0x1F    	;B1
        MOVWF   PR2 		;B1
        BCF     STATUS,RP0 	;B0
        MOVLW   b'00001100' 	;B0
        MOVWF   CCP1CON 	;B0
        BSF     T2CON,TMR2ON 	;B0
				;B0
        BSF     STATUS,RP0 	;B1
        MOVLW   b'00001111'	;B1 
        MOVWF   TRISA 		;B1
       				;B1
	                       	;B1
        MOVLW   b'00001110' 	;B1  AN0 as input: AN2 as Vref- 
        MOVWF   ADCON1 		;B1  : AN3 as Vref+

        BCF     STATUS,RP0 	;B0
        MOVLW   b'01000000' 	;B0
        MOVWF   ADCON0 		;B0
        BSF     ADCON0,ADON 	;B0 turn on A2D
        CLRF    PIR1 		;B0
				;B0
LOOP    CALL    ADC 		;B0
        MOVWF   CCPR1L 		;B0
        GOTO    LOOP 		;B0
				;B0
ADC     BTFSS   PIR1,TMR2IF 	;B0
        GOTO    ADC 		;B0
        BCF     PIR1,TMR2IF 	;B0
				;B0
        MOVF    ADRESH,W 	;B0
        BSF     ADCON0,GO_DONE 	;B0
        RETURN 

        END