Hi to all
I tried to modify the code according to Darrel Taylor and HenrikOlsson comments but the problem still exits, let me put in real hardware and see what happen.
And here is modified code but the output is still like that posted in the previous post.
Code:
define OSC 4
Wsave var byte   $70system
Wsave1 var byte  $A0system
Wsave2 var byte  $120system
Wsave3 var byte  $1A0system

STEPCOUNT var byte
STEPCOUNT1 var byte

LED1   VAR  PORTB.1

STEPCOUNT = 0   'pointer for phase one in sinearray
STEPCOUNT1 = 12 'pointer for phase two  in sine array
ADCON0 = %00000000
ADCON1 = %00000000

TRISB = %11111101
TRISC = %11111001  'PMW output for CCP1 AND CCP2
TRISA = %11111111
TMR2 = 0
PR2 = 199 'generate 5khz  'set for 18Khz HPWM
CCP1CON = %00001100 'set CCP1 for PWM OPERATION
CCP2CON = %00001100 'set CCP2 for PWM OPERATION
T2CON = %00000100  'TIMER2ON and prescale of 1:1 

sineval var word[36]
sineval[0] = 512    
sineval[1] = 556   
sineval[2] = 599
sineval[3] = 640
sineval[4] = 676
sineval[5] = 707
sineval[6] = 733
sineval[7] = 752
sineval[8] = 763
sineval[9] = 767  
sineval[10] =763
sineval[11] =752
sineval[12] =733   
sineval[13] =707
sineval[14] =676
sineval[15] =640
sineval[16] =599
sineval[17] =556
sineval[18] =512   
sineval[19] =468
sineval[20] =425
sineval[21] =385 
sineval[22] =348
sineval[23] =317
sineval[24] =291
sineval[25] =272
sineval[26] =261
sineval[27] =257
sineval[28] =261 
sineval[29] =272
sineval[30] = 291
sineval[31] = 317
sineval[32] = 348
sineval[33] = 385
sineval[34] = 425
sineval[35] = 468

timerone var word 
Temp var byte
Temp1 var byte
INCLUDE "DT_INTS-14.bas"     ; Base Interrupt System          emp
'INCLUDE "ReEnterPBP.bas" 
 
ASM
 
INT_LIST  macro    ; IntSource,        Label,  Type, ResetFlag?
        INT_Handler   TMR1_INT,   _sine,   PBP,  yes
    endm
    INT_CREATE               ; Creates the interrupt processor
ENDASM
 
T1CON = 000001                 ; Prescaler = 1;1, TMR1 ON
@   INT_ENABLE  TMR1_INT     ; Enable Timer 1 Interrupts 
 
timerone =  65080' gives1818hz nterruptfrequency or about 50 htz sine 
Main:
       PAUSE 5
 
GOTO Main
 
'---[TMR1_INT - interrupt handler]------------------------------------------

sine:
     T1CON = 000000 'stop the timer

    TMR1L = timerone.byte0  'reload the timer
    TMR1H = timerone.byte1
    T1CON = 000001          ' start the timer
    
    
    TeMP = sineval[STEPCOUNT]
    CCP1CON.4 = Temp.0 ' bit 0
    CCP1CON.5 = Temp.1 ' bit 1       
    CCPR1L = Temp >>2  'Bit 2-7 
    
    TeMP1 = sineval[STEPCOUNT1]
    CCP2CON.4 = Temp1.0 ' bit 0
    CCP2CON.5 = Temp1.1 ' bit 1       
    CCPR2L = Temp1 >>2  'Bit 2-7
    TOGGLE LED1 
    stepcount =  stepcount +1
    stepcount1 =  stepcount1 +1
    
    if stepcount =36 then stepcount =0
    if stepcount1 =36 then stepcount1 =0
     
 
@    INT_RETURN
Thanks.