Here's the code that I'm working with.
Code:@ Device PIC10F222, IOFSCS_8MHZ, MCPU_OFF, WDT_OFF, PROTECT_OFF, MCLR_OFF OPTION_REG = %11010010 'GPWU_OFF, GPPU_OFF, TOCS_OFF, TOSC_HIGH>LOW, PSA_TMR0, PS_1:8 ADCON0 = 0 TRISIO = 0 GPIO = 0 Time var byte pause 100 Main: OSCCAL = 2 GOSUB FADE1A PAUSE 1000 OSCCAL = 2 GOSUB FADE2A PAUSE 1000 OSCCAL = 2 GOSUB FADE3A PAUSE 100 GOTO MAIN Fade1A: FOR TIME = 0 TO 250 IF TIME < OSCCAL THEN IF TIME < 80 THEN GPIO = 7 ELSE GPIO = 6 ENDIF ELSE GPIO = 7 ENDIF NEXT TIME OSCCAL = OSCCAL + 2 IF OSCCAL = 250 THEN OSCCAL = 2 GOSUB FADE1B RETURN ENDIF GOTO FADE1A Fade1B: FOR TIME = 0 TO 250 IF TIME < OSCCAL THEN GPIO = 7 ELSE IF TIME > 170 THEN GPIO = 7 ELSE GPIO = 6 ENDIF ENDIF NEXT TIME OSCCAL = OSCCAL + 2 IF OSCCAL = 250 THEN RETURN ENDIF GOTO FADE1B 'the other two subroutine blocks are the same as above 'with GPIO = 5 and GPIO = 3
It looks like it might be possible to use POKE and PEEK to access the RAM area that is restricted... I'm going to play around abit, I could get away with 1 more byte var, but I would love to have 2 more!




Bookmarks