I do not know what version of PICBasic you are using or what version of MPASM either.
I compiled and ran the following code in the MPASM Simulator and it works fine for all (3) IF/THEN statements in main.
If adval <= 419 then myLED does not increment.
If adval > 419 and <= 450 then myLED only increments 1 time for each loop (IF/THEN #1 : Not #2 and #3)
if adval > 450 and < 536, then myLED increments 3 times for each loop (IF/THEN #1, #2 and #3)
if adval => 536 and < 600 then myLED increments 2 times for each loop (IF/THEN #2 and #3 : Not #1)
if adval => 600 then myLED does not increment.
Code:'MCU = 12F675 'PBP v3.0.7.4 'MPASM v8.90 DEFINE OSC 4 DEFINE ADC_BITS 10 DEFINE ADC_CLOCK 3 DEFINE ADC_SAMPLEUS 50 CMCON = 7 OPTION_REG = %10000110 TRISIO = %00001100 GPIO = %00000001 ANSEL = %00010100 ADCON0 = %10001001 adval var word myLED var word adval = 0 myLed = 0 goto main LED: myLED = myLEd + 1 return main: for adval = 0 to 700 If adval > 419 and adval < 536 then gosub LED 'Works If adval > 450 and adval < 600 then gosub LED 'Works If adval < 600 and adval > 450 then gosub LED 'Works next myLed = 0 goto main




Bookmarks