Hi to all,

I have troubles with reading 10 bit on AN0 , too .
Can somebody give me some ideas, please ?

Code:
'****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2014 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 10/2/2018                                          *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
'PIC16F886
   #config
   __CONFIG    _CONFIG1, _LVP_OFF & _FCMEN_OFF & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_ON & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT 
   __CONFIG    _CONFIG2, _WRT_OFF & _BOR21V
   #endconfig
    
define osc 4
include "lcd886.bas"
CM1CON0 = 0 			'Comparator Off
CM2CON0 = 0 			'Comparator Off
   	
Define ADC_BITS 10 		'Set number of bits in result (10)
Define ADC_CLOCK 3 		'Set clock source (3=rc)
Define ADC_SAMPLEUS 50 	'Set sampling time in microseconds (50us)

TRISA = %00000001       'Set PORTA.0 as input
TRISB = %00000000       'Set PORTB as outputs
TRISC = %00000000       'Set PORTC as outputs

ANSEL  = %00000001      'Set PORTA.0 as analog
ANSELH = %00000000      'The rest ports are digital
'ADCON0 = %11000011      'Set adc channel = AN0
'ADCON1 = %10000000  'SETUP ADC RIGHT JUSTIFY SET REFV to VDD & VSS		        
	
PORTA = 0
PORTB = 0
PORTC = 0

light  var PORTA.3
tc     var word

'--------light is ON and initialize the LCD ---------
pause  300
high   light
gosub  lcdrst
lcdout $fe, $80,"TEST"
gosub  lcdrst

'---------------------PROGRAM------------------------
MAIN:
ADCON0 = %11000011
gosub read_tc

lcdout $fe, $80, #tc
pause 200
goto main
end

'---------------------Read AN0------------------------
read_tc:
WHILE ADCON0.1 = 1:WEND  'WAIT FOR CONVERSION
     tc.HIGHBYTE = ADRESH
     tc.LOWBYTE  = ADRESL
return
'--------------------lcd reset------------------------
lcdrst:
lcdout, $fe, 1
pause 10
return