Thanks for suport !
@Tumbleweed : I used code from this post : http://www.picbasic.co.uk/forum/show...207#post123207
@Jerson : Tried already ...no improvement !
	Code:
	@ __config _INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_ON & _MCLRE_ON 
DEFINE OSC  4
CMCON = 7
ADCON0 = 0
ADCON1 = 0
ANSEL = 0
VRCON = 0
TRISA       = %00000100	
PORTA       = %00000000  
TRISC       = %11111111
PORTC       = %00000000
MI  VAR PORTA.1                            
SCK VAR PORTA.2                          
CSN VAR PORTA.0                            
                       
adc_RES  var Word                             
                                           
                                                                                 
last_b_level 	var byte          	
b_level 	var byte
b_cnt 		var byte
b_act 		var byte
CSN = 1                           
                                           
main:
TRISC = %11111111
CSN = 0                                         
SHIFTIn MI, SCK, 4, [adc_RES\16]
CSN  = 1                                        
if adc_RES < 2600 then
 
    IF adc_RES >  300 AND adc_RES < 320 THEN b_level=1
        IF adc_RES > 560 AND adc_RES < 590 THEN b_level=2
            IF adc_RES > 890 AND adc_RES < 910 THEN b_level=3
                IF adc_RES > 1280 AND adc_RES < 1300 THEN b_level=4
                    IF adc_RES > 1790 AND adc_RES < 1820 THEN b_level=5
                        IF adc_RES > 2420 AND adc_RES < 2440 THEN b_level=6
    if b_level=last_b_level then                 
        b_cnt=b_cnt+1
        pauseus 500
            if b_cnt > 10 then 
            TRISc = %11111111 
            gosub comenzi
		else
	    b_cnt= 0
            endif
    endif
    last_b_level=b_level       
serout2 porta.5, 84, [ dec adc_RES, " ", dec b_level, " ", dec b_cnt, 13]       ; to see ADC values                    
endif
pauseus 100
goto main
;============================================================================
comenzi:
IF b_level=1 THEN gosub VoldN            
IF b_level=2 THEN gosub Volup   
IF b_level=3 THEN gosub Mute          
IF b_level=4 THEN gosub SeekUp     
IF b_level=5 THEN gosub SeekDn      
IF b_level=6 THEN gosub Source  
last_b_level=0
b_cnt=0   
Return
;============================================================================
voldn:
TRISC = %11111011
pause 100
TRISC = %11111111
return
volup:
TRISC = %11111101
pause 100
TRISC = %11111111
return
seekup:
TRISC = %11011111
pause 250
TRISC = %11111111
return
seekdn:
TRISC = %11111110 
pause 250
TRISC = %11111111
return
source:
TRISC = %11110111   
pause 200
TRISC = %11111111
return
mute:
TRISC = %11101111  
pause 200
TRISC = %11111111
return
END
 
				
			
Bookmarks