Untested, but try something like this;
Code:DEFINE OSC 4 DEFINE OSCCAL_1K 1 ' load factory osccal value 'Register Initializations' ANSEL = 0 ' all digital CMCON = %00000111 ' set all pins to digital TRISIO = %00011111 ' define Inputs and Outputs GPIO = %00000000 ' set all pin states to off WPU = %00000000 ' shut off weak pull ups OPTION_REG = %01010001 ' set the tmr 0 to prescale of 1:4 for 1ms roll over INTCON = %10100000 ' ENABLE THE TMR0 INTERRUPTS 'Variables' LED VAR GPIO.5 ROLLOVER_COUNTER VAR WORD SECONDS VAR BYTE LED = 0 ' LED off on boot ON INTERRUPT GOTO ROLL_OVER MAIN: IF SECONDS = 5 THEN ROLLOVER_COUNTER = 0 SECONDS = 0 TOGGLE LED ENDIF GOTO MAIN DISABLE ROLL_OVER: ROLLOVER_COUNTER = ROLLOVER_COUNTER + 1 ' INCREMENT ROLL COUNT 1 EVERY 1 ms IF ROLLOVER_COUNTER >= 1000 THEN 'created to count seconds instead of ms SECONDS = SECONDS + 1 ROLLOVER_COUNTER = 0 ENDIF INTCON.2 = 0 RESUME ENABLE END




Bookmarks