Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Розробка цифрового тахометра на базі мікроконтролер ATtiny2313

Реферат Розробка цифрового тахометра на базі мікроконтролер ATtiny2313





екундомір запущений - інкрементіруем його свідчення

if (btTimerOn)

{(+ + byTcnt == 10)

{= 0;

if (+ + wTime == 60000) = 0;

}

}

}

Літінг 4.6 - Обробка переривань від керуючих імпульсів

interrupt [EXT_INT0] void RPM_PULSE_interrupt (void)

{lTmp; & = ~ 0x40; (btFirstLowRateFlash)

{

// Перший імпульс, скидаємо лічильник періоду і

// лічильник імпульсів = 0; = 0; = 0;

TIFR = 0x02; B = 0x03;// FCK/64 (62.5 KHz)

TCNT0 = 0; | = 0x02;// Дозволяємо переривання від TMR0 = FALSE;

}

{+ +;

// Перевіряємо, чи не час закінчити вимірювання

if (wTimerOvfCnt> TIMER_OVF_ENOUGHT)

{B = 0;// Зупиняємо TMR0 & = 0x40;// Забороняємо переривання від INT0 & = ~ 0x02;// Забороняємо переривання від TMR0 (TIFR & 0x02) + +;// Враховуємо можливість переповнення

lTmp = (62500L * 60L * (long) wFlashCnt) ;/ = ((wTimerOvfCnt <<8) + TCNT0) ;/ = byBladeCnt; = lTmp;

// Перезапускаємо вимірювання = TRUE; = 0; = 0; B = 0x03;// FCK/64 (62.5 KHz)

TCNT0 = 0; = 0x02; | = 0x02;// Дозволяємо переривання від TMR0

// GIFR = 0x40;

}

} = 0x40; | = 0x40;

}

Лістинг 4.6 - interrupt [TIM0_OVF] void TIMER0_interrupt (void)

{+ +;

// Якщо імпульсів не було дуже довго, то показуємо

// 0 оборотів і запускаємо вимір заново (wTimerOvfCnt> NO_PULSES_INTERVAL)

{= 0; = TRUE; = 0;

}

}

Лістинг 4.7 Головний функція. Ініціалізація всіх модулів. Цикл виклику робочих підпрограм

void main (void)

{

// Crystal Oscillator division factor:

# pragma optsize-= 0x80; = Prescaler;// 0x00 - для кварцу 4MHz, 0x01 - для кварцу 8MHz ...

# ifdef _OPTIMIZE_SIZE_

# pragma optsize +

# endif

# asm ("cli"); = 0x00;// Забороняємо SLEEP, режими переривання поки не важливі.

// У принципі, цього можна і не робити. = 0x00;// Забороняємо зовнішні переривання = 0xFF;// Очищаємо прапори переривань = 0x00;// Забороняємо переривання від таймерів = 0xFF;// Очищаємо прапори переривань

// Розряд DDRx - визначає напрямок передачі даних (0 - вхід, 1 - вихід). <...


Назад | сторінка 11 з 19 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Переривання і виключення
  • Реферат на тему: Переривання вагітності
  • Реферат на тему: Внутрішньоутробне вдосконалення людини і переривання вагітності
  • Реферат на тему: Цикли, переривання, компоненти для відображення тексту
  • Реферат на тему: Генератор керуючих імпульсів