Вимірник часових інтервалів
Стосовно мікроконтролера це означає:
- визначення події, що відповідає початку тимчасового інтервалу, запустити «генератор», що виробляє послідовність імпульсів певної тривалості,
-організувати підрахунок імпульсів даної послідовності,
- події, що відповідає кінця тимчасового інтервалу, зупинити «генератор»,
-«Видати» значення кількості імпульсів у задані порти,
-«обнулити» значення лічильника імпульсів

Функціональна схема вимірювання часових інтервалів
Опис алгоритму роботи пристрою.



У цій підпрограмі ініціалізуються необхідні периферійні вузли мікроконтролера, а саме:
- порт А налаштовується на висновок
- порт С налаштовується на висновок
- порт D налаштовується на введення
- налаштовується переривання int 1 (переривання за спадом імпульсу)
- налаштовується переривання int 0 (переривання фронтом імпульсу)
- Визначається вершина стека
Ініціалізуюча частина програми закінчується командою SEI – дозвіл роботи переривань
Далі запрограмою слідує основний цикл. У ньому проводиться "порожня" операція.
У підпрограмі обробки переривання проводиться настроювання таймера-лічильника Т0.
Таймеру задається число порівняння (125), значенняпредделителя (8), режим роботи (скидання за збігом). Це означає, що вісімтактів роботи процесора значення в лічильнику буде збільшуватися. Коли він досягне 125, (125 * 8 = 1000, при тактовій частоті в 1МГц, період тактової частоти досягне 1 мкс, 1000 мкс - 1мсек) виникне переривання за збігом Т0. Таким чином, кожну 1мсек Т0 буде викликати переривання. Командою reti, обробник переривання закінчується, лічильниккоманд повертається в основний цикл (туди, де був допереривання).
Кожну 1мсек Т0 викликає переривання TIM0_COMP. У цьому перериванні виробляється однаоперація – збільшення регістрової пари Z на одиницю. На цьому переривання закінчується.

Принципова електрична схема
Додаток : проект + схеми