Para el Pic16F628A no lo tengo, Así que lo probé en el Pic16F88
'***********************************************************
'Pruebas para inciarse en control de iluminación led por PWM
'PWM por hardware
'Placa Pic EBasic con Pic16F88
'***********************************************************
'Configuración de fuses y reloj
Define CONF_WORD = 0x2f50
Define CONF_WORD_2 = 0x3ffc
Define CLOCK_FREQUENCY = 8
'Define SIMULATION_WAITMS_VALUE = 1
'Configuración de módulos
AllDigital
CMCON = 0x07 'Comparador a off
OSCCON = 0x7e 'Set intrc To 8mhz, se usara reloj interno a 8Mhz
TRISB.3 = 0 'RB3 como salida
RB3 = 0 'Control led
PWMon 1, 9 '31250Hz a 8Mhz reloj, palabra de control 8 bit, módulo CCP1
'Rutina principal
main:
Dim power As Byte 'Potencia PWM
Dim x As Bit 'Variable de control del bucle
power = 0
x = 0
While x = 0 'Bucle principal
PWMduty 1, power 'Modulo 1 con potencia dada por la variable power
power = power + 1 'Incrementa la potencia
WaitMs 10 'Espera de 10mSeg. entre cambio de potencia
Wend
Goto main
End
Si se quiere indagar en las posibilidades del módulo CCP1 se puede leer el siguiente articulo:
http://www.pickey.es/uso-practico-del-pic12f683--ix-,-ccp1-pwm.html