16f628a PWM Örneği
char dutycycle=0;
void main()
{
T2CON=0b00000000;
TRISB.RB0=1; // PORTBnin 0. pini giriş yapıldı.
OPTION_REG.NOT_RBPU=0; //Dahili pull-up dirençleri aktif.
PWM1_Init(1000); // PWM1 frekansı 1KHz olarak ayarlandı.
PWM1_Set_Duty(0); //PWM1in görev saykılı 0 olarak ayarlandı.
PWM1_Start(); // PWM1 sinyali RB3 pininden verilmeye başlandı.
while(1)
{
if(!PORTB.B0)
{
dutycycle+=5;
if(dutycycle>255)dutycycle=0;
PWM1_Set_Duty(dutycycle);
while(!PORTB.B0);
}
}
}
***