Advertisement
Guest User

Untitled

a guest
Dec 19th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.95 KB | None | 0 0
  1. ISR(TIMER0_OVF_vect)    {
  2.     counter0_ovf += 0xff;
  3. }
  4.  
  5. ISR(TIMER1_CAPT_vect)   {
  6.     if(!((measureFlag >> MEASURE_INPROCESS) & 1) && !((measureFlag >> MEASURE_DONE) & 1))   {
  7.         cli();
  8.  
  9.         TC0_START;
  10.         TC1_START;
  11.  
  12.         measureFlag |= 1 << MEASURE_INPROCESS;
  13.  
  14.         sei();
  15.  
  16.         _delay_ms(1000);
  17.     }
  18.     else if(!((measureFlag >> MEASURE_DONE) & 1))   {
  19.         cli();
  20.  
  21.         TC0_STOP;
  22.         TC1_STOP;
  23.  
  24.         lenghtOfMeasurement = timer1_ovf + TCNT1;
  25.         numberOfImpulses = counter0_ovf + TCNT0;
  26.  
  27.         timer1_ovf = counter0_ovf = 0;
  28.  
  29.         measureFlag |= 1 << MEASURE_DONE;
  30.         measureFlag &= ~(1 << MEASURE_INPROCESS);
  31.  
  32.         sei();
  33.     }
  34. }
  35.  
  36. ISR(TIMER1_OVF_vect){
  37.     timer1_ovf += 0xffff;
  38. }
  39.  
  40. ISR(TIMER2_COMPA_vect){
  41.     if((measureFlag >> MEASURE_DONE) & 1)   {
  42.         char buffer[5];
  43.         lcd_clrscr();
  44.         lcd_home();
  45.  
  46.         itoa(numberOfImpulses, buffer, 10);
  47.         lcd_puts(buffer);
  48.  
  49.         itoa(lenghtOfMeasurement, buffer, 10);
  50.         lcd_goto(0,1);
  51.         lcd_puts(buffer);
  52.  
  53.         measureFlag &= ~(1 << MEASURE_DONE);
  54.     }
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement