
list      p=16F690 
#include <p16F690.inc>
    __config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF)

	cblock 0x20
	
RESULTLO	
RESULTHI
wait
	endc	

       
        
		org 0
;ini
		BSF	 	STATUS,RP0 			;Bank 1
		BCF	 	STATUS,RP1 			;
		MOVLW 	B'01110000' 		;A/D belső órajel
		MOVWF 	ADCON1 				;
		BSF 	TRISA,0				 ;Set RA0 to input
		BCF		 STATUS,RP0 		;Bank 2
		BSF 	STATUS,RP1			 ;
		BSF 	ANSEL,0 			;Set RA0 to analog
		BCF 	STATUS,RP0			 ;Bank 0
		MOVLW 	B'10000001'			 ;Right, Vdd Vref, AN0
		MOVWF 	ADCON0 ;
		Banksel TRISC
		movlw	b'00000000'
		movwf	TRISC
		clrf	 PORTC
		
Main		
		CALL 	SampleTime 			;Wait min sample time
		BSF 	ADCON0,GO 			;Start conversion
		BCF 	STATUS,RP1
		BTFSC	 ADCON0,GO			 ;Is conversion done?
		GOTO	$-1 				;No, test again
		MOVF 	ADRESH,W 			;Read upper 2 bits
		MOVWF 	RESULTHI 			;
		BSF 	STATUS,RP0 			;Bank 1
		MOVF 	ADRESL,W 			;Read lower 8 bits
		BCF 	STATUS,RP0			 ;Bank 0
		MOVWF 	RESULTLO
		movwf	PORTC
		
		Goto Main
		
SampleTime
	clrf	wait
war
	DECFSZ	wait, f
	goto	war		
	RETURN	
	
	end