Микропроцессоры и микроконтроллеры

 
 
 
Г.Мэтьюсоу : «Верность компьютеру означает измену себе... Компьютер нужен, чтобы служить человеку. Не нужно, чтобы человек служил компьютеру»
Русский | Українська


Микропроцессоры и микроконтроллеры :: Принципи програмування MSC-51 :: Особливості реалізації часових інтервалів

Особливості реалізації часових інтервалів

Реалізація часових інтервалів (завдання і вимір) має деякі особливості, викликані тим, що вміст таймерних регістрів не можна контролювати в процесі підрахунку імпульсів без різкого зниження ефективності процесора (тобто додаткової завантаження процесора програмної перевіркою вмісту таймерних регістрів). В нормальному режимі паралельної роботи процесора і таймера останній інформує процесор лише про моментах переповнювання шляхом формування сигналу переривання.

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. Діаграма реалізації інтервалу часу на таймер