can you please help me to get the useful codes in ccs c compiler,I am counting the frequency from 500KHZ to 1.7Mhz;what I tried is not running;could you please help me:
see mine here:
#include <16F877A.H>
#fuses HS, NOWDT, NOPROTECT, BROWNOUT, PUT,NOLVP
#use delay(clock=12000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7, ERRORS)
#include "lcd.c"
int32 isr_ccp_delta;
#int_ccp1
void ccp1_isr(void)
{
int32 current_ccp;
static int32 old_ccp = 0;
current_ccp = CCP_1; // From 16F877.H file
isr_ccp_delta = current_ccp - old_ccp;
old_ccp = current_ccp;
}
//=======================
void main()
{
int16 current_ccp_delta;
int32 frequency;
set_timer1(0);
setup_timer_1(T1_INTERNAL|T1_DIV_BY_4);
//setup_timer_1(T1_EXTERNAL);
//setup_timer_1(T1_INTERNAL);
setup_ccp1(CCP_CAPTURE_RE);
clear_interrupt(INT_CCP1);
enable_interrupts(INT_CCP1);
enable_interrupts(GLOBAL);
lcd_init();
lcd_gotoxy(1,1);
disable_interrupts(GLOBAL);
current_ccp_delta = isr_ccp_delta;
enable_interrupts(GLOBAL);
while(1)
{
frequency = (int32)(16000000L / current_ccp_delta);
printf(lcd_putc,"\f%lu \n\r", frequency);
delay_ms(1000);
}
delay_ms(1000);
}
//}