#include <16F877.h>
#use delay(clock=20000000)
#fuses XT,NOWDT
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7)

#include <lcd_sam3.C>
char ptr_chr;
int k=20;
char const s[10]={'0','1','2','3','4','5','6','7','8','9'};
char str1;
int1 flg_int;
int16 count1;
int8 a,b,c,d;
void hex_bcd(int16 val);



#int_EXT
EXT_isr()
{
  flg_int=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);
   enable_interrupts(INT_EXT);
   enable_interrupts(GLOBAL);
   //===============================================
   lcd_init();
   lcd_gotoxy(1,0);  // defind  ddram address for put string
   lcd_putc("www.samtechnology");
   lcd_gotoxy(2,0);
   lcd_putc(".bravehost.com");
   lcd_gotoxy(4,0);
   lcd_putc("thankyou for joint");
   flg_int=0;
   set_timer1(0);
   delay_ms(5000);
   
   lcd_gotoxy(3,0);
   lcd_putc("concept mease f & t ");
   lcd_gotoxy(4,0);
   lcd_putc("puls/min=           ");
   while(1)
  {
     if(flg_int)
     {
       count1=get_timer1();
       hex_bcd(count1);
       flg_int=0;
       set_timer1(0);
          lcd_gotoxy(4,10);
          lcd_putc(s[a]);lcd_putc(s[b]);lcd_putc(s[c]);lcd_putc(s[d]);
     }
  
  }   

}
void hex_bcd(int16 val)
{a=0;b=0;c=0;d=0;

 while(val>=1000)
 {
   a++;
   val-=1000; 
 }
 //=====================
  while(val>=100)
 {
   b++;
   val-=100; 
 }
 //========================
  while(val>=10)
 {
   c++;
   val-=10; 
 }
 //===========================
d=val; 

}
