#include "C:\Program Files\PICC\counter1\counter1_CAP.h"
INT16 TEMP;
INT16 COUNT;

INT1 FLG_CCP;
#include<lcd_sam3.c>
char const s[10]={'0','1','2','3','4','5','6','7','8','9'};
void get_bcd(int16 count);
int8 a,b,c,d,e;
#int_CCP1
CCP1_isr()
{
 FLG_CCP=1;
}



void main()
{

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   setup_spi(FALSE);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_EXTERNAL|T1_DIV_BY_1);
   setup_timer_2(T2_DISABLED,0,1);
   setup_ccp1(CCP_CAPTURE_FE);
   enable_interrupts(INT_CCP1);
   enable_interrupts(GLOBAL);
   FLG_CCP=0;
   lcd_init();
   lcd_gotoxy(1,0);
   lcd_putc("WWW.BPCD.NET/TEACHER");
   lcd_gotoxy(2,0);
   lcd_putc("/ELECTRICAL/WEB/");
   lcd_gotoxy(3,0);
   lcd_putc("COUNTER1_CAPTURE");
   CCP_1=0;
   set_timer1(0);
   WHILE(1)
   {
     IF(FLG_CCP)
     {


      count=ccp_1;
      GET_BCD(COUNT);
      lcd_gotoxy(4,0);
      lcd_putc("FREQ");
      lcd_gotoxy(4,7);
      lcd_putc(s[a]);
      lcd_putc(s[b]);
      lcd_putc(s[c]);
      lcd_putc(s[d]);
      lcd_putc(s[e]);

      lcd_gotoxy(4,14);
      lcd_putc("HZ");
       FLG_CCP=0;
      set_timer1(0);
     }
     
   }

}
void get_bcd(int16 count)
{
   a=b=c=d=e=0;

   a=count/10000;//0000

   count%=10000;

   b=count/1000;

   count%=1000;

   c=count/100;

   count%=100;

   d=count/10;

   e=count%10;


}
