;Demonstration only. Timer setup is your problem.
       push PSW        ;Save Program Status Word
       mov  PSW, #08   ;Select Register bank 1
       djnz CTR, nxtr0
       mov  CTR, #255  ;Reload CTR counter
       mov  r0,PWM0    ;Reload registers with PWM values
       mov  r1,PWM1
       .......
       mov  BITS,#255  ;Turn all bits on again
nxtr0: djnz r0,nxtr1   ;Decrement and test r0 for zero
       clr  BITS.0     ;If it is, turn off the bit
nxtr1: djnz r1,nxtr2   ;Decrement and test r1 for zero
       clr  BITS.1     ;If it is, turn off the bit
nxtr2: djnz r2,nxtr3   ;Decrement and test r2 for zero
       clr  BITS.2     ;If it is, turn off the bit
nxtr3: ................

ENDi:  mov  P2, BITS   ;Output the bits synchronous
       pop  PSW        ;Restore Program Status Word
       reti
