
;Destroys Accumulator
;Demonstration only. Timer setup is your problem, you may want your PWM ports to work differently. 
       XCH A,r0    ;Get r0
       DEC A
       JNZ nxtr1   ;Is it Zero ? Turn off the bit, else next bit
       clr P2.0 
nxtr1: XCH A,r0    ;PUT DECREMENTED register back !
       XCH A,r1    ; next register
       DEC A
       JNZ nxtr2
       clr P2.1
nxtr2: XCH A,r1
       XCH A,r2
       DEC A.
       JNZ nxtr3
       clr P2.2 
nxtr3: ................

       DEC CTR     ; Reload registers with PWM values
       JNZ ENDi
       MOV r0,PWM0 
       MOV r1,PWM1
       .......
       MOV P2,#255 ; turn all bits on again.

ENDi:  RETI


