Вимірник часових інтервалів

Стосовно мікроконтролера це означає:

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

-організувати підрахунок імпульсів даної послідовності,

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

-«Видати» значення кількості імпульсів у задані порти,

-«обнулити» значення лічильника імпульсів

часових

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

Опис алгоритму роботи пристрою.

інтервалів
часових
вимірник

У цій підпрограмі ініціалізуються необхідні периферійні вузли мікроконтролера, а саме:

- порт А налаштовується на висновок

- порт С налаштовується на висновок

- порт 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 на одиницю. На цьому переривання закінчується.

налаштовується

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

Додаток : проект + схеми