Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Недостатком программного способа реализации временной задержки является нерациональное использование ресурсов МК: во время формирования задержки МК практически простаивает, так как не может решать никаких задач управления объектом. В то же время аппаратные средства МК позволяют реализовать временные задержки на фоне выполнения основной программы.
Временные задержки можно получить при использовании таймера-счетчика.
Если использовать таймер-счётчик в режиме таймера, то временную задержку можно реализовать следующим образом (листинг 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 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!