C:
//30th May 2021
//pic 18f2550
//Pickit2 programmer
//MikroC Pro compiler
// PWM using ccp module
void InitTimer2 () {
T2CON = 0b00000010; //TMR2 is off 1:16 prescale, no postscale
CCP1IF_bit = 0; //CCP1IF is disable
CCP1IE_bit = 0; //CCP1IE is enable
CCP1IP_bit = 1; //CCP1IP is enabble
CCP1CON = 0b00001100; //CCP1CON is set to PWM mode
CCPR1L = 0b000011; //CCPR1L is loaded with 12 plus 2 bits
PR2 = 250; // PR2 load value
TMR2ON_bit =1; //turn on TMR2
}
void interrupt() {
if (CCP1IF_bit){ //if CCP1IF interrupt flag is 1
TMR2IF_bit =0;
CCP1IF_bit = 0; //reset CCP1IF_bit to 0
}
}
void main() {
OSCCON = 0b1111110; //internal oscilator is set to 8Mhz
TRISC = 0b00000000; // make all PORTA pins output
PORTC = 0; //turn off PORTA pins
InitTimer2 ();
while (1){
}
}
Last edited by a moderator: