Not sure why you check your inputs twice like this...
Code:
IF PORTA.5 = 0 AND PORTA.4 = 0 AND PORTA.3 = 0 Then REWARD Pause 100
IF PORTA.5 = 0 AND PORTA.4 = 0 AND PORTA.3 = 0 Then REWARD
When you IF statement is true it will jump back up to the REWARD label and set your outputs again. I would think that..
Code:
REWARD:
HIGH PORTB.3 'MAKE SURE ALL 3 LED'S ON PORTB.3, 2 & 5 ARE ON (PORTB.3 DOES NOT!!)
HIGH PORTB.2
HIGH PORTB.5
HIGH PORTB.4 TURN ON 'MOSFETS ON PORTB.4 & 7
HIGH PORTB.7
IF PORTA.5 = 0 AND PORTA.4 = 0 AND PORTA.3 = 0 Then REWARD 'ALL SWITCHES CLOSED STAY HERE
Pause 100
'removed 2nd if statement
Low PORTB.7 '1 OR MORE SWITCHES OPEN OFF MOSFETS
Low PORTB.4
GoTo RUN
would work.