Pues seré necio pero creo que si se puede hacer.
Navaismo, no me refiero a instrucciones propias para hacer el PWM como PWM o HPWM que trae el PBP.
Me refiero al hardware.
Bruce configura el PWM en hardware para un 16F628.
TRISB = %11110000 ' B.3=PWM,B.0,B.1,B.2 blink LEDs
PR2 = 25 ' Set PWM for approximately 38KHz
CCPR1L = 13 ' Set PWM Duty-Cycle to 50%
CCP1CON = %00001100 ' Mode select = PWM
T2CON = %00000100 ' Timer2 ON + 1:1 prescale
begin:
high PortB.0
pause 50
low PortB.0
pause 50
high PortB.1
pause 50
low PortB.1
pause 50
high PortB.2
pause 50
low PortB.2
pause 50
goto begin
El HIGH y LOW lo hace solamente porque el puerto puede trabajar como PWM, aunque con la misma frecuencia y mismo ciclo de trabajo.
Una duda:
En PBP para asignar un valor haces-->
CCPR1L = 13En Microbasik --> ¿?
¿Cómo le haces para asignar valores a los registros internos del µicro en Microbasik?
Me vino a la mente.
Revisa este código, igual está en PBP pero si mi hipótesis es cierta que puedes accesar de la misma manera a los registros internos, te puede servir.
Este programa asigna una frecuencia de 1 KHz y varía el ciclo de trabajo de 20% a 80% en incrementos de 10%. Podrás ver la intensidad de esa manera.
Pero es indispensable saber si es posible escribir a registros internos (¿navaismo?
)
http://www.microengineeringlabs.com/resources/samples/pbp/hardpwm.bas