another option with more time to do other things:
Nothing wrong with Aratti's example, just showing another way.Code:counter var word counting var bit turn on 16 bit timer ' @4mHz osc, this will take .065535 seconds to roll over counter = 0 MAIN: IF TxIF = 1 THEN GOSUB TIMESTUFF ' TxIF is the timer interrupt flag 'USER CODE GOES HERE GOTO MAIN TIMESTUFF: TxIF = 0 'clear interrupt flag IF PIN_1 = 0 THEN COUNTER = COUNTER + 1 COUNTING = 1 ENDIF IF (COUNTING) AND (PIN_1) THEN IF COUNTER <= 1830 THEN OUTPUT_1 = 1 ' 1 second = aproxx 15.25 counts IF COUNTER >1830 AND COUNTER <18300 THEN OUTPUT_2 = 1 ' if you want to do anything for time between 20 and 30 mins, here's a good spot for that IF COUNTER >27450 THEN OUTPUT_3 = 1 COUNTER = 0 COUNTING = 0 ENDIF RETURN




Bookmarks