How to use capture mode in PIC16F877A (MPLABX). I have written simple code to turn on led on Every Rising Edge but its not working
Please look at code, anything missing ? Please help..
Please look at code, anything missing ? Please help..
Code:
void main(void)
{
//Make all PORTD pins low
PORTA = 0;
PORTB = 0;
PORTC = 0;
PORTD = 0;
// Configured PORTD as Output
TRISA = 0;
TRISB = 0;
TRISD = 0;
//Configured RC2/CCP1 pin as input
TRISC2 = 1;
ADCON1 = 0x07;
CMCON = 0x07;
//CCP1 MODULE INITIALIZATION
CCPR1L = 0; //Clear Lower byte of CCP Register
CCPR1H = 0; //Clear Higher byte of CCP Register
T1CON = 0; // Prescale in timer mode
CCP1CON = 0b00000101;
INTCON = 0xc0; //Enabled Global interrupts & Peripherals interrupt
while(1);
}
void interrupt CCP1_ISP()
{
// CCP1 Interrupt
if(PIR1.CCP1IF == 1) // if the CCP1 Interrupt flag is set...
{
PORTB.F5 = 1;
PIR1.CCP1IF = 0;
}
else PORTB.F5 = 0;
}