Hola amigos buenas noches logre resolver la modulacion de manera continua, usando interrupciones, pues sin el uso de interrupciones se generan retardos del orden de los milisegundos, con el uso de interrupciones todo funciona muy bien, cree una table de datosy no funciona a continuacion les muestro el codigo
List p=16F877A ;Tipo de procesador
include "P16F877A.INC" ;Definiciones de registros internos
__config _CP_OFF&_CPD_OFF&_LVP_OFF&_WDT_OFF&_XT_OSC
CBLOCK 0x20
Periodo, Duty,Temp
ENDC
org 0x00
goto Inicio
org 0x04
goto Int
Int
movlw .51
xorwf Duty,W
btfsc STATUS,Z
clrf Duty
MOVLW 0x06 ; Memoria de programa p gina 0 subpagina 6
MOVWF PCLATH ; Carga el PCLATH para el salto en memoria
movfw Duty ; Carga el offset en W
;call PWM_H ; Busca la correci¢n del ngulo
movwf CCPR1L ; µngulo corregido a usar
incf Duty,F
bcf PIR1,TMR2IF
retfie
Inicio
clrf PORTC ; Borra salidas
bsf STATUS,RP0 ; Selecciona banco 1
clrf TRISC ; RC2 salida
movlw .49
movwf PR2 ; Carga el registro de periodos
movlw b'11000000'
movwf INTCON
movlw b'00000010'
movwf PIE1
bcf STATUS,RP0 ; Selecciona banco 0
movlw b'00111100'
movwf CCP1CON
movlw b'00000110'
movwf T2CON ; T2 en On
movlw .28
movwf CCPR1L ; Carga la anchura del pulso
clrf Duty
Loop
nop
goto Loop ; Bucle infinito
ORG 600h ; i nicio de la tabla en 0600h= P gina 0, subpagina 6
PWM_H
addwf PCL,F
DT 0x1a,0x1d,0x20,0x23,0x26,0x28,0x2b,0x2d,0x2f,0x30,0x32,0x32,0x33,0x33,0x33,0x32,0x31,0x30,0x2e,0x2c
DT 0x29,0x27,0x24,0x21,0x1e,0x1b,0x18,0x15,0x12,0xf,0xc,0xa,0x7,0x5,0x3,0x2,0x1,0x0,0x0,0x0
DT 0x1,0x1,0x3,0x4,0x6,0x8,0xb,0xd,0x10,0x13,0x16,0x1a
end ; Fin del programa fuente
si elimino el uso de la table modula funciona bien la table la genere con la siguiente direccion
https://daycounter.com/Calculators/Sine-Generator-Calculator.phtmlUse como maxima amplitus 51 al igual que el numero de puntos...........espero me ayuden pues solo falta resolver eso y se podria generar ondas senoidal con el PWM y asi no usar el DAC para generar las señal abaratando el diseño.........luego pienso crear una rutina que permita sincronisar este pwm con la red ac......................asi se podria hacer UPS esta idea la tomo de los ups de la marca APC que usa un microcontrolador INTEL para generar la señal senoidal pero con un DAC y con este sincronizan tambien el inversor con la red AC.....................si alguien tiene una idea puede comentarlo asi podriamos hace UPS ON LINE y OFF LINE