Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Формирование временной задержки с использованием таймеров



Недостатком программного способа реализации временной задержки является нерациональное использование ресурсов МК: во время формирования задержки МК практически простаивает, так как не может решать никаких задач управления объектом. В то же время аппаратные средства МК позволяют реализовать временные задержки на фоне выполнения основной программы.

Временные задержки можно получить при использовании таймера-счетчика.

Если использовать таймер-счётчик в режиме таймера, то временную задержку можно реализовать следующим образом (листинг 4.24):

Листинг 4.24 – Программа временной задержки с использованием
таймера-счётчика

F:   COUNT:   .EQU 18432000   .EQU 65535-(F/(1000*12))     .ORG 0000H JMP BEGIN   .ORG 000BH   JMP TIME ; Частота кварцевого ; резонатора ; Число, определяющее ; время счёта таймера от ; момента его загрузки до ; переполнения (1 мс) ; Адрес начала программы ; Переход к основной части ; Адрес обработки ; прерывания таймера ; Переход на процедуру ; обработки прерывания
BEGIN:   MOV SP, #30H   MOV IE, #00H CLR TR0 CLR 20H.0 MOV R0, #10   MOV TL0, #<COUNT MOV TH0, #>COUNT   MOV TMOD, #01H SETB TR0 JNB 20H.0, $ CLR TR0 … ; Переопределение ; вершины стека ; Запрет прерываний ; Запрет счёта ; Сброс флага конца паузы ; Загрузка счетчика; прерываний ; Загрузка регистров таймера ; счетчика TC0 ;Настройка таймера-счетчика ; на режим 1 ; Ожидание конца паузы ; Запрещение работы таймера ; Продолжение программы ; В любом месте программы ; достаточно очистить флаг ; 20h.0, загрузить числа в ; TL0,TL1 и запустить счет, ; чтобы получить требуемую ; задержку
TIME:     EXIT: CLR TR0   MOV A, TL0 ADD A, #13 ADD A, #<COUNT MOV TL0, A MOV A, TH0 ADDC A, #>COUNT MOV TH0, A   SETB TR0 DJNZ R0, EXIT   SETB 20H.0 RETI ; Запрещение работы таймера ; Добавление к содержимому ; регистров TL0 TH0 ; коэффициента счёта и ; времени, затраченного на ; выполнение данного ; суммирования ; Разрешение работы таймера ; Декремент счётчика ; прерываний и выход из ; прерывания, если значение ; счётчика не равно нулю ; Установка флага конца паузы ; Выход из прерывания




Дата публикования: 2014-11-03; Прочитано: 446 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...