Code: Select all
void PWM_10bit_Init() {
TRISC.F1 = 0;
TRISC.F2 = 0;
PORTC.F1 = 0;
PORTC.F2 = 0;
PIE1 = 0;
PIR1 = 0;
PIE2 = 0;
PIR2 = 0;
PR2 = 0xFF;
T2CON = 0b00000101;
CCPR1L = 0b01111111;
CCP1CON = 0b00111100;
CCPR2L = 0b01111111;
CCP2CON = 0b00111100;
}
void PWM1_10bit(int duty_ratio) {
CCPR1L = duty_ratio >> 2;
CCP1CON.F4 = duty_ratio;
CCP1CON.F5 = duty_ratio >> 1;
}
void PWM2_10bit(int duty_ratio) {
CCPR2L = duty_ratio >> 2;
CCP2CON.F4 = duty_ratio;
CCP2CON.F5 = duty_ratio >> 1;
}