Hi. If I understand correctly, something like this should allow you to push the button numerous times while advancing your mode with each push. Unfortunately, I’m at work now & can’t test it. It looks to me like it should work.
START:
CLEAR 'ALL VARIABLES = 0
IF PORTA.0 = 1 THEN START 'BUTTON NOT PUSHED STAY HERE
MODE:
LET TIMER = 0 ‘RESET TIMER
LET MODENUMBER = (MODENUMBER + 1) 'ADVANCE MODE
WAITFORRELEASE:
PAUSE 25 'DEBOUNCE
IF PORTA.0 = 0 THEN WAITFORRELEASE 'BUTTON STILL PUSHED WAIT HERE
BUTTONTIMER:
IF PORTA.0 = 0 THEN MODE 'ADVANCE MODE IF BUTTON PUSHED AGAIN
LET TIMER = (TIMER + 1)
PAUSE 10
IF TIMER >= 500 THEN SIGNALMODE 'AFTER 5 SECONDS SIGNAL THE MODE NUMBER
GOTO BUTTONTIMER
SIGNALMODE:
HIGH PORTB.0 'LIGHT UP LED OR BEEP PIEZO BUZZER
PAUSE 250
LOW PORTB.0 'OFF LED OR SOUNDER
PAUSE 250
LET SIGNAL = (SIGNAL + 1)
IF SIGNAL < MODENUMBER THEN SIGNALMODE 'KEEP FLASHING OR BEEPING
GOTO (YOUR MAIN PROGRAM)




Bookmarks