Quantcast
Channel: MEL PICBASIC Forum
Viewing all articles
Browse latest Browse all 4787

Port indexing & PWM for LED fade

$
0
0
Greatings! I have stated a new project working with PWM and fading LEDs. All is going well until I tried to combine two simple test routines. The first two routines work fine. When I tried to use port indexing with PWM it failed. Can anyone point out my error or does the PWM command have limitations on pin discriptions? Manual says it can be a variable or pin discription, e.g. PortB.0 Is there another way to do this?

PIC16f886, PBP 2.6, using LAB X2 board.
;Cycle through PortB to fade ON then fade OFF eight LEDs in sequence.

Code:

Symbol Port_Pin=PortB 
    Avar    var byte 
    Duty    var byte           
    Cycle  var byte

;more stuff in here
 
;--[ LED fade ON and fade OFF  ]---------  works fine!
FadeTest:   
    cycle=4    ;cycle is number of cycles of pulse   
    for Duty=0 to 100 step 1
        pwm led1,Duty,cycle
        next Duty
    cycle=1    ;cycle is number of cycles of pulse
    for Duty=100 to 0 step -2
        pwm led1,Duty,cycle
        next Duty
        low led1    ;end of routine
    pause 1000
    goto FadeTest

;--[  PortB indexing LEDs      ]--------------  works fine!
IndexTest: 
    for Avar=0 to 7
      Port_Pin.0[Avar]=1
      pause 250
      Port_Pin.0[Avar]=0
      pause 250
    next
    goto IndexTest

;--[  FireFlies routine        ]-------------------  FAILED
FireFlies:
    for Avar=0 to 7       
        cycle=4           
        for Duty=0 to 220 step 1
            pwm Port_Pin.0[Avar],Duty,cycle
            next Duty
        cycle=1           
        for Duty=220 to 0 step -2
            pwm Port_Pin.0[Avar],Duty,cycle
            next Duty
            low Port_Pin.0[Avar]    ;end of routine
    Next Avar   
        goto FireFlies

Comments please, Thanks.
Wayne

Viewing all articles
Browse latest Browse all 4787

Trending Articles