Особливості реалізації часових інтервалів
Реалізація часових інтервалів (завдання і вимір) має деякі особливості, викликані тим, що вміст таймерних регістрів не можна контролювати в процесі підрахунку імпульсів без різкого зниження ефективності процесора (тобто додаткової завантаження процесора програмної перевіркою вмісту таймерних регістрів). В нормальному режимі паралельної роботи процесора і таймера останній інформує процесор лише про моментах переповнювання шляхом формування сигналу переривання. rn Виходячи з цього, для реалізації інтервалу часу заданої тривалості T, сек, необхідно виконати такі дії: rn 1. Перевірити можливість реалізації заданого інтервалу. Повинна виконуватися умова rn [T /Ti] , rn де Ti - період слідування підраховуємо імпульсів, (імпульси ГТВ МК51); rn Nmax - максимальне число, яке може бути записано в таймерний регістр в конкретній конфігурації; [] - операція взяття цілої частини. rn У випадку невиконання умови треба вибрати інший режим роботи таймера або здійснити вимірювання на каскаді з двох (або більше) таймерів. rn 2. В таймерние регістри необхідно завантажити стартове число, від якого буде починатися рахунок; значення стартового числа визначається формулою rn Ns = Nmax - [ T / Ti ]. rn Після цього таймер може бути включений (наприклад, командою SETB TRx), і через T секунд (з точністю Ti ) при переповнення буде сформований сигнал переривання TFx, тобто процесор отримає інформацію про завершення заданого інтервалу. Процес реалізації інтервалу ілюструється схемою (мал. 14.6): rn rn Рис. 14.6. Діаграма реалізації інтервалу часу на таймер
|