	list      p=16F690           ; list directive to define processor
	#include <p16F690.inc>        ; processor specific variable definitions

	errorlevel  -302              ; suppress message 302 from list file


	__CONFIG   _CP_OFF & _CPD_OFF & _BOR_OFF & _MCLRE_ON & _WDT_OFF & _PWRTE_ON & _INTRC_OSC_NOCLKOUT & _FCMEN_OFF & _IESO_OFF 


    cblock 0x20
	RESULTLO
	RESULTHI 
    endc

	
  	org 0x00
	goto ADC1
 	org 0x04
	goto ADC1
  
    org 0x0c

; ---------------
;A_D_CONV_1
; ---------------

ADC1	
		BANKSEL ADCON1 		;Bank1 kiválasztva 
		MOVLW b'00010000' 	;ADC Fosc/8 clock (clock derived from a dedicated 
							;internal oscillator = 500 kHz max)
		MOVWF ADCON1  
		BANKSEL TRISC 		;Bank1 kiválasztva 
		MOVLW b'01100111' 	;RC7, RC6, RC5, RC4, RC3, RC2, RC1, RC0 
		MOVWF TRISC 		;kim, bem, bem, kim, kim, bem, bem, bem 
		BANKSEL ANSEL 		;Bank2 kiválasztva 
		MOVLW b'01110000' 	;ANS7, ANS6, ANS5, ANS4, ANS3, ANS2, 
							;ANS1, ANS0 
		MOVWF ANSEL 		; RC3, RC2, RC1, RC0, RA4, RA2, RA1, RA0 
		 					; Dig, Ana, Ana, Ana, Dig, Dig, Dig, Dig
		BANKSEL ADCON0 		;Bank0 kiválasztva 
		MOVLW b'11010001' 	;ADFM, VCFG, CHS3, CHS2, CHS1, CHS0, 
		 					;GO_DONE, ADON 
		MOVWF ADCON0 		;Right justified, Vref pin, AN4 kiválasztva 
							;(mert ehhez tartozik az RC0 láb pp 8 pic data
							; sheet), DONE, ADC is enabled (ON) 
		BSF ADCON0,1 		;Konverzió elindítva 
A_D_1   BTFSC ADCON0,1 		;konverzió vége? 
		GOTO A_D_1  
		BANKSEL ADRESH 		;Bank2 kiválasztva 
		MOVF ADRESH,W 		;Felső 2 bit a W-ben 
		BANKSEL PORTA 		;Bank0 kiválasztva 
		MOVWF RESULTHI 		;RESULTHI-ban eltárolva a felső 2 bit 
		BANKSEL ADRESL 		;Bank1 kiválasztva 
		MOVF ADRESL,W 		;Alsó 8 bit a W-ben 
		BANKSEL PORTA 		;Bank0 kiválasztva 
		MOVWF RESULTLO 		;RESULTLO-ben eltárolva az alsó 8 bit 
		RETLW 00 			;visszatérés az A_D_CONV-ból W törlődik

END