ВУЗ:
Составители:
57
Формирование временной задержки на основе таймеров
Задержка малой длительности. Недостатком программного способа реализации
временной задержки является нерациональное использование ресурсов МК: во время
формирования задержки МК практически простаивает, так как не может решать никаких
задач управления объектом. В то же время аппаратурные средства МК позволяют
реализовать временные задержки на фоне основной программы работы.
При использовании таймера в
МК 48 можно получить временные задержки
длительностью от 80 мкс до 20 мс.
Например, для реализации временной задержки 240 мкс необходимо выполнить
следующие действия:
MOV A,NOT(240/80-1) ; ЗАГРУЗКА ТАЙМЕРА
MOV T,A
STRT T ; ЗАПУСК ТАЙМЕРА
EN TCNTI ; РАЗРЕШЕНИЕ ПРЕРЫВАНИЯ
Появление сигнала прерывания от таймера соответствует истечению временного
интервала 240 мкс. Погрешность будет составлять 7,5 мкс (время выполнения команды
передачи управления по вектору
прерывания и команды STOP TCNT).
В МК 51 на вход таймера/счетчика (Т/С) могут поступать сигналы синхронизации с
частотой 1 МГц (Т/С в режиме таймера) или сигналы от внешнего источника (Т/С в режиме
счетчика). Оба эти режима могут быть использованы для формирования задержек. Если
использовать Т/С в режиме таймера
полного формата (16 бит), то можно получить задержки
в диапазоне 1 - 65 536 мкс.
В качестве примера рассмотрим организацию временной задержки длительностью 50
мс в МК 51. Предполагается, что бит IE.7 установлен.
;ОРГАНИЗАЦИЯ ПЕРЕХОДА К МЕТКЕ NEXT ПРИ ПЕРЕПОЛНЕНИИ Т/С0
ORG 0BH ; АДРЕС ВЕКТОРА ПРЕРЫВАНИЯ
; ОТ T/C0
CLR TCON.4 ; ОСТАНОВ Т/С0
RETI ; ВЫХОД ИЗ ПОДПРОГРАММЫ
; ОБРАБОТКИ ПРЕРЫВАНИ0
ORG 100H ; НАЧАЛЬНЫЙ
АДРЕС ПРОГРАММЫ