OK, I try to decreasing the clock frequency, and the minimum clock is 16MHz and the WS2812 works fine.
In my case at 8MHz the WS2812 not work.

Pulse generator code for 16MHz looks like this:
Code:
;------------ Pulse generator ---------------
NeoBit:
    IF DataBit = 1 THEN
        ;generate 800ns pulse 
        NeoPin = 1
        ASM
            nop
        ENDASM
        NeoPin = 0
    ELSE
        ;generate 400ns pulse 
        NeoPin = 1
        ASM
        ENDASM
        NeoPin = 0
    ENDIF
RETURN