Ola Denis, tudo bem?
Qual sua experiencia com outros microcontroladores?
Voce esta utilizando um compilador C CCS, Hitech, PICC ou C18?
Como eh seu hardware? Voce mesmo montou? Em protoboard, placa padrao ou placa de duas faces?
O PIC16F628, como pode ver em
http://ww1.microchip.com/downloads/en/D ... 40300C.pdf,
possui tres timers, Timer0 e 2, 8 bits e Timer1 com 16 bits. Uma forma de fazer o PWM eh utilizando Timers e manipulando IOs.
Mas a forma mais correta e pratica eh utilizando mesmo as funcoes de PWM. Basicamente deve setar as direcoes das portas, habilitar as funcoes de PWM, configurando apropriadamente os valores e ligar o PWM.