OK it's true, ADCIN do something bad on this chip, now i have to find why. In meantime use something like
Code:<font color="#000000"> <font color="#000080">DEFINE </font>OSC 4 ADCON0=%11000001 ADCON1=%00000000 GoDone <font color="#000080">VAR </font>ADCON0.1 <font color="#008000">'76543210 </font>CHSELECT <font color="#000080">VAR BYTE </font>CM1CON0 = 0 <font color="#008000">' Comparators off (Do I need these?) </font>CM2CON0 = 0 <font color="#008000">' Comparators off </font>ANSEL = %00010011<font color="#008000">' Set analog pins </font>ANSELH = %00000000 TRISA = %00100011<font color="#008000">' Set port A </font>TRISB = %11000000 <font color="#008000">' Set port B </font>TRISC = %00000000 <font color="#008000">' Set port C </font>ANIN0 <font color="#000080">VAR BYTE </font><font color="#008000">'Cylinder 1 Feedback Pot </font>ANIN1 <font color="#000080">VAR BYTE </font><font color="#008000">'Cylinder 2 Feedback Pot </font>SW1EXT <font color="#000080">VAR BIT </font><font color="#008000">'Extend Switch </font>SW2RET <font color="#000080">VAR BIT </font><font color="#008000">'Retract Switch </font>EXT1FLAG <font color="#000080">VAR BIT </font>RET1FLAG <font color="#000080">VAR BIT </font>EXT2FLAG <font color="#000080">VAR BIT </font>RET2FLAG <font color="#000080">VAR BIT </font>J <font color="#000080">VAR WORD </font><font color="#008000">'Initialize Variables and Ports </font>PORTA=0 PORTB=0 PORTC=0 EXT1FLAG=0 EXT2FLAG=0 RET1FLAG=0 RET2FLAG=0 <font color="#000080">GOTO </font>START <font color="#000080">ASM ADC_IN MACRO CHANNEL, VARIABLE MOVE?CB CHANNEL, _CHSELECT L?CALL _DO_AD_CONVERSION MOVE?BB ADRESH,VARIABLE ENDM ENDASM </font>DO_AD_CONVERSION: ADCON0=(CHSELECT<<2) |%11000001 <font color="#000080">PAUSEUS </font>50 GoDone=1 <font color="#000080">WHILE </font>GoDone : <font color="#000080">WEND RETURN </font>START: <font color="#000080">FOR </font>J=1 <font color="#000080">TO </font>25 <font color="#008000">'Startup indicator </font><font color="#000080">TOGGLE </font>PortA.2 <font color="#000080">PAUSE </font>50 <font color="#000080">NEXT </font>J MAIN: <font color="#000080">FOR </font>J=1 <font color="#000080">TO </font>500 @ ADC_IN 4,_ANIN0 <font color="#008000">'Poll Switches </font><font color="#000080">IF </font>PortB.7=0 <font color="#000080">THEN PAUSE </font>20 <font color="#000080">IF </font>PORTB.7=0 <font color="#000080">THEN </font>SW1EXT=1 <font color="#000080">ENDIF ELSE </font>SW1EXT=0 <font color="#000080">ENDIF IF </font>PortB.6=0 <font color="#000080">THEN PAUSE </font>20 <font color="#000080">IF </font>PORTB.6=0 <font color="#000080">THEN </font>SW2RET=1 <font color="#000080">ENDIF ELSE </font>SW2RET=0 <font color="#000080">ENDIF </font>@ ADC_IN 0,_ANIN0 <font color="#000080">IF </font>ANIN0<245 <font color="#000080">THEN </font>EXT1FLAG=0 <font color="#008000">'OK to Extend </font><font color="#000080">ELSE </font>EXT1FLAG=1 <font color="#000080">ENDIF IF </font>ANIN0>10 <font color="#000080">THEN </font>RET1FLAG=0 <font color="#008000">'OK to Retract </font><font color="#000080">ELSE </font>RET1FLAG=1 <font color="#000080">ENDIF </font>@ ADC_IN 1,_ANIN1 <font color="#000080">IF </font>ANIN1<245 <font color="#000080">THEN </font>EXT2FLAG=0 <font color="#008000">'OK to Extend </font><font color="#000080">ELSE </font>EXT2FLAG=1 <font color="#000080">ENDIF IF </font>ANIN1>10 <font color="#000080">THEN </font>RET2FLAG=0 <font color="#008000">'OK to Retract </font><font color="#000080">ELSE </font>RET2FLAG=1 <font color="#000080">ENDIF IF </font>(SW1EXT=1) <font color="#000080">AND </font>(EXT1FLAG=0) <font color="#000080">THEN </font><font color="#008000">'Extend Cylinder 1 </font>PORTB.3=1 PORTB.4=0 PORTB.5=1 <font color="#000080">ENDIF IF </font>(SW1EXT=1) <font color="#000080">AND </font>(EXT1FLAG=1) <font color="#000080">THEN </font><font color="#008000">'Stop Cylinder 1 </font>PORTB.3=0 PORTB.4=0 PORTB.5=0 <font color="#000080">ENDIF IF </font>(SW2RET=1) <font color="#000080">AND </font>(RET1FLAG=0) <font color="#000080">THEN </font><font color="#008000">'Retract Cylinder 1 </font>PORTB.3=0 PORTB.4=1 PORTB.5=1 <font color="#000080">ENDIF IF </font>(SW2RET=1) <font color="#000080">AND </font>(RET1FLAG=1) <font color="#000080">THEN </font><font color="#008000">'Stop Cylinder 1 </font>PORTB.3=0 PORTB.4=0 PORTB.5=0 <font color="#000080">ENDIF IF </font>(SW1EXT=1) <font color="#000080">AND </font>(EXT2FLAG=0) <font color="#000080">THEN </font><font color="#008000">'Extend Cylinder 2 </font>PORTB.0=1 PORTB.1=0 PORTB.2=1 <font color="#000080">ENDIF IF </font>(SW1EXT=1) <font color="#000080">AND </font>(EXT2FLAG=1) <font color="#000080">THEN </font><font color="#008000">'Stop Cylinder 2 </font>PORTB.0=0 PORTB.1=0 PORTB.2=0 <font color="#000080">ENDIF IF </font>(SW2RET=1) <font color="#000080">AND </font>(RET2FLAG=0) <font color="#000080">THEN </font><font color="#008000">'Retract Cylinder 2 </font>PORTB.0=0 PORTB.1=1 PORTB.2=1 <font color="#000080">ENDIF IF </font>(SW2RET=1) <font color="#000080">AND </font>(RET2FLAG=1) <font color="#000080">THEN </font><font color="#008000">'Stop Cylinder 2 </font>PORTB.0=0 PORTB.1=0 PORTB.2=0 <font color="#000080">ENDIF IF </font>(SW1EXT=0) <font color="#000080">AND </font>(SW2RET=0) <font color="#000080">THEN </font><font color="#008000">'Stop Cylinders </font>PORTB.3=0 PORTB.4=0 PORTB.5=0 PORTB.0=0 PORTB.1=0 PORTB.2=0 <font color="#000080">ENDIF IF </font>SW1EXT=1 <font color="#000080">AND </font>SW2RET=1 <font color="#000080">THEN </font><font color="#008000">'Stop Cylinders </font>PORTB.3=0 PORTB.4=0 PORTB.5=0 PORTB.0=0 PORTB.1=0 PORTB.2=0 <font color="#000080">ENDIF IF </font>(ANIN0>ANIN1) <font color="#000080">AND </font>(SW1EXT=0) <font color="#000080">AND </font>(SW2RET=0) <font color="#000080">THEN GOSUB </font>SLAVE1 <font color="#000080">ENDIF IF </font>(ANIN1>ANIN0) <font color="#000080">AND </font>(SW1EXT=0) <font color="#000080">AND </font>(SW2RET=0) <font color="#000080">THEN GOSUB </font>SLAVE2 <font color="#000080">ENDIF NEXT </font>J <font color="#000080">TOGGLE </font>PORTA.2 <font color="#008000">'Heartbeat LED </font><font color="#000080">PAUSE </font>500 <font color="#000080">GOTO </font>MAIN SLAVE1: <font color="#000080">IF </font>(ANIN0-ANIN1)>=5 <font color="#000080">THEN </font>PORTB.0=1 PORTB.1=0 PORTB.2=1 <font color="#000080">ENDIF IF </font>(ANIN0-ANIN1)<5 <font color="#000080">THEN </font>PORTB.0=0 PORTB.1=0 PORTB.2=0 <font color="#000080">ENDIF RETURN </font>SLAVE2: <font color="#000080">IF </font>(ANIN1-ANIN0)>=5 <font color="#000080">THEN </font>PORTB.0=0 PORTB.1=1 PORTB.2=1 <font color="#000080">ENDIF IF </font>(ANIN1-ANIN0)<5 <font color="#000080">THEN </font>PORTB.0=0 PORTB.1=0 PORTB.2=0 <font color="#000080">ENDIF RETURN </font>




Bookmarks