As the purpose of this project is to create 5 blinking LEDs that simulate old 1960's Christmas tree lights, I've added the following code to fade in/out the LED:
I'll program a 12F683 this afternoon and see what it looks like.Code:IsOn VAR BYTE[LEDCount] i VAR BYTE FOR x = 0 to (LEDCount - 1) ; set initial LED state to OFF IsOn(x) = 0 NEXT x ;----[Main Program Loop]---------------------------------------- Main: x = (x + 1) // LEDcount IF LoopLED(x) < OnTime(x) THEN IF IsOn(x) = 1 THEN READ Brightness + x, Bright(x) ELSE IsOn(x) = 1 ; Fade up LED to set brightness FOR i = 0 to Bright(x) Step 1 Bright(x) = i PAUSE 20 NEXT i ENDIF ELSE IF IsOn(x) = 1 THEN IsOn(x) = 0 ; Fade out LED FOR i = Bright(x) to 0 Step -1 Bright(x) = i PAUSE 20 NEXT i ELSE Bright(x) = 0 ENDIF ENDIF LoopLED(x) = (LoopLED(x) + 1) // (OnTime(x) + OffTime(x)) #IFDEF USE_RANDOM_SEQUENCE RandPeriod(x) = RandPeriod(x) - 1 IF RandPeriod(x) = 0 THEN READ RandPeriods+(x<<1), WORD RandPeriod(x) RANDOM RND OnTime(x) = (MAX_ON - MIN_ON)* RND.HighByte / 255 + MIN_ON OffTime(x)= (MAX_OFF - MIN_OFF)* RND.LowByte / 255 + MIN_OFF ENDIF #ENDIF IF x != (LEDcount - 1) THEN Main Waiting: IF !TMR0IF THEN Waiting TMR0 = 99 TMR0IF = 0 GOTO Main




Bookmarks